STM32 TrustZone 开发调试技巧 | TrustZone 环境中使用 RTOS


本文重点讨论了基于 ARM CM33 内核的 STM32MCU 支持 TrustZone 的环境下使用RTOS 的一些情况,并总结了 TrustZone 环境下使用 RTOS 的一些注意事项。
本文重点讨论了基于 ARM CM33 内核的 STM32MCU 支持 TrustZone 的环境下使用RTOS 的一些情况,并总结了 TrustZone 环境下使用 RTOS 的一些注意事项。
客户使用 STM32U5 进行开发,并使能了 TrustZone 架构,程序需要从 bootloader 跳转到app。在之前版本都是正常跳转的,某一天 IAR 从 9.20 升级到 9.30 后,程序跳转失败,并且会导致 hardfault,想知道为什么会失败。
恩智浦基于Cortex M33内核的MCU,LPC55S6x/LPC55S1x, RT600/RT500等产品提供了对TrustZone的支持,并在SOC上提供了安全AHB控制器等功能,旨在帮助客户完成良好的安全隔离,并建立可信执行环境。
STM32L5 是 STM32 家族中第一个基于 Cortex-M33 内核的系列,而 TrustZone 正是此内核最重要的特性,使能 TrustZone 的方法非常简单,在 RDP=0 的情况下直接在 option byte 中将 TZEN 置 1 即可……
TrustZone是ARM对ARM6的扩展,其实只是增加了一条指令,一个配置状态位,以及一个新的有别于核心态和用户态的安全态。ARM并没有把TrustZone设计成能够解决所有的安全问题,它的目标是希望TrustZone能把一些安全性要求高的代码放在安全区域里执行,这也就是TrustZone名字的由来。