• 资料介绍
  • 在线预览
  • 相关推荐
申请入驻 产业图谱

LAT1272 STM32 TrustZone开发调试技巧(2)——外设使用常见问题

2025/03/24
708
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1272 STM32 TrustZone开发调试技巧(2)——外设使用常见问题

1.28 MB

引言

在 STM32 TrustZone 开发调试技巧的第(1)篇中,我们介绍了内核的 SAU/IDAU,地址的安全属性配置,资源的安全属性配置,以及内核访问资源的安全规则等内容,这部分作为 TrustZone S/NS 工程开发的基础,让 S 和 NS 工程代码能够基本运行起来。在此基础上,S/NS App 还需要使用片上外设等资源,实现应用程序的业务逻辑和功能,这时候往往会遇到一些与外设使用相关的问题。

在这一篇中,我们将把重点放在 Trust Zone 架构下应用开发中使用外设的环节,从外设中断、DMA、GPIO 及其与 IO 连接的外设等几个方面,介绍这些部分与传统的不带TrustZone 的 STM32 开发相比有哪些变化,同时会列举一些相关开发中的常见问题,并给出问题的分析与解决方法,供开发者参考。

关于外设中断

中断向量表 Vector Table

传统的 ARM V6/V7 内核,例如 CM4、CM7,都只有一套中断向量表,而带 SecurityExtension 的 CM33 内核有两套中断向量表,分别对应 CPU 的 S 和 NS 两种状态。

关于 DMA

DMA 的 TrustZone aware 特性

STM32 MCU 中的 DMA 单元(例如 GPDMA, LPDMA)在 Trust Zone 框架下属于 TZaware IP,DMA 能够直接支持 AHB5 总线。

作为总线主设备,DMA 可以发出 S 安全或者 NS 非安全的 transaction。以 STM32U5GPDMA 为例,通过 GPDMA_SECCFGR.SECx 寄存器,可以将 DMA 的 Channel 设置为安全或者非安全通道。

关于 GPIO 及其连接的外设

GPIO 的 TrustZone aware 特性

GPIO 在 Trust Zone 框架下是一个 TZ aware IP,每个管脚都可以单独配置其安全访问属性(通过 GPIOx_SECCFGR 寄存器)。上电默认所有的 GPIO pin 都是安全属性,当某个 GPIO pin 设置为安全,则它所对应的 AF 寄存器,MODE 寄存器以及 I/O 数据都只允许 S 访问,当出现 NS 访问时,效果会是 RAZ/WI,即读为零/写忽略。

如果某组 GPIO 其中如果至少一个 pin 具有 S 属性,那么这个 GPIO 在 RCC 中对应的clock 和 reset 控制位也会自动具有安全属性,只有安全代码才能控制。

STM32CubeMX 外设初始化对 TrustZone 的支持

这个部分,我们会结合前面提到的外设中断、DMA、GPIO、Securable 外设等,简要介绍一下在 STM32CubeMX 工具中如何做 TrustZone 相关的配置。

小结

本文针对 STM32 进行 V8M TrustZone 开发中使用外设需要的配置做了简要介绍,也列举了一些 TrustZone 环境下外设使用中的常见问题及其分析和解决方法,最后还提到了使用 STM32CubeMX 进行外设安全配置的一些例子,希望对广大开发者有所帮助。

在后续的篇章中,我们将总结一些其他的 TrustZone 开发中的常见问题及调试技巧,例如 Hard Fault 异常的处理与调试,TrustZone 中 App 使用 RTOS 的注意事项等,欢迎读者继续关注。

在线预览

相关推荐

意法半导体拥有49,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一 家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和 解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需 求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广 泛。我们正按计划在所有直接和间接排放(包括范围1和范围2)、产品运输、商务旅行以及员工通勤排 放(重点关注的范围3)方面实现碳中和,并在2027年底前实现100%使用可再生电力的目标。 详情请浏 览意法半导体公司网站:www.st.com.cn