奇迹
发布时间:2021-10-11 17:42
|
讲到U5,首先就不得不提就是TrustZone。 话说就在2016的时候ARM推出了两款ARMv8-M架构的新内核M23、M33,众多开发者一脸懵逼,为啥两位数了。M8、M9都不要啦?这玩意跟之前的有啥区别呢?下一代是不是叫M233?突然就从ARMv7-M升级到了ARMv8-M,臣妾好不适应啊。而且你这个M23、M33,性能也打不过M7啊,啥意思啊?你出这干啥,我用M0、M0+/M3、M4不香吗。 简单来说ARMv8-M主要就是增加了一个TrustZone(还有很多其他提升哈,并不是这么简单)。 那这个TrustZone到底是何方神圣?值得ARM为此升了一个大版本呢? 首先TrustZone不是啥新鲜玩意,在Cortex-A系列里面早已被使用。现在聊的这个,更准确的说法应该是TrustZone for ARMv8-M。也就是专供于Cortex-M使用的(下文讲的TrustZone都专指TrustZone for ARMv8-M)。 至于TrustZone实现的安全到底是什么,笔者在此说说自己的拙见,各位大佬一笑而过就是。它是为了在新的信息化时代保护自己产品或者说代码的一项技术。比如最常见的代码入侵、网络入侵等等。而在Iot时代,慢慢提供模块已经满足不了新一代开发的需要了、而提供lib更是把自己的命脉交给了别人。 在新的需求层出不穷之际,TrustZone应运而生,拿出来了安全最终极的技术----隔离。 对于程序来说安全区域的程序就是真大哥,它有访问所有资源的能力,而非安全区域的就是假大哥,它觉得自己可以,其实不行,只能访问非安全的资源,还有安全区大哥允许它访问的资源。 而这个隔离的实现,代价可以说是巨大的。CPU本身分成了安全模式与非安全模式,代码空间与RAM空间也被分成了两个区域,很多核心资源也被分成了两份(在STM32CubeMX里面配置项使用_NS与_S进行区分),而很多外设也可以配置为安全外设或者非安全外设。 虽然TrustZone如此强大,实现它使用的资源也耗费巨大,但仅仅是一个TrustZone并不能真正实现保护,它只是一个基础,而更重要的一层还是在我们开发者这里。TrustZone是一把安全的神兵利器,而如何去保护自己的产品的核心,什么是产品的核心部分,则是我们应该考虑的问题。 不知不觉又扯这么多,再单开一篇把,咳咳,文人的事情,怎么能叫水文呢。 |
STM32U5 Timer+GPDMA 2D 通道实现多波形交替输出 实操方案与优化
安全篇:STM32L5/U5—— 高性能 + 高安全超低功耗 MCU
经验分享 | STM32U5 ADC+TIM+DMA 2D传输应用演示
【经验分享】LAT1496 基于 USBD库CDC Standalone例程中的一个Bug解析
STM32U5A9JDK试用---MIPI-DSI屏幕驱动
STM32U5 ADC 自校准失败终极解决:VDDA 隔离解除 + 电压调整器就绪实操指南
《STM32U3线上课程》学习笔记+STM32U3 超低功耗 MCU,超低功耗及数据安全
立即在GitHub上抢先体验面向STM32U5的最新STM32Cube HAL更新
STM32开发五大误区,新手别傻傻信了
实战经验 | STM32U5周期性异常复位问题分析
微信公众号
手机版
了解不多。。。