奇迹
发布时间:2021-10-11 17:42
|
讲到U5,首先就不得不提就是TrustZone。$ C( L+ J1 {. }% G, G % O; k# [! _! M+ d' i+ a1 t 话说就在2016的时候ARM推出了两款ARMv8-M架构的新内核M23、M33,众多开发者一脸懵逼,为啥两位数了。M8、M9都不要啦?这玩意跟之前的有啥区别呢?下一代是不是叫M233?突然就从ARMv7-M升级到了ARMv8-M,臣妾好不适应啊。而且你这个M23、M33,性能也打不过M7啊,啥意思啊?你出这干啥,我用M0、M0+/M3、M4不香吗。! e6 b9 J6 l4 } , N9 |' ~0 e8 Y* m0 d& r! I U 简单来说ARMv8-M主要就是增加了一个TrustZone(还有很多其他提升哈,并不是这么简单)。 1 T7 P( m: T( @* O: L1 T! r 3 s9 j! Z5 _; k1 n 那这个TrustZone到底是何方神圣?值得ARM为此升了一个大版本呢?/ u$ ]. f5 \1 o ' A1 G7 C, w) w* A6 c; Q! f5 X+ j7 w# l 首先TrustZone不是啥新鲜玩意,在Cortex-A系列里面早已被使用。现在聊的这个,更准确的说法应该是TrustZone for ARMv8-M。也就是专供于Cortex-M使用的(下文讲的TrustZone都专指TrustZone for ARMv8-M)。 : N( w$ n5 V9 x# C& k1 m 至于TrustZone实现的安全到底是什么,笔者在此说说自己的拙见,各位大佬一笑而过就是。它是为了在新的信息化时代保护自己产品或者说代码的一项技术。比如最常见的代码入侵、网络入侵等等。而在Iot时代,慢慢提供模块已经满足不了新一代开发的需要了、而提供lib更是把自己的命脉交给了别人。 + @$ s; R/ j* C! ~ 在新的需求层出不穷之际,TrustZone应运而生,拿出来了安全最终极的技术----隔离。 - o" }. l/ }7 Q" e8 ~$ c8 h) ~2 u 对于程序来说安全区域的程序就是真大哥,它有访问所有资源的能力,而非安全区域的就是假大哥,它觉得自己可以,其实不行,只能访问非安全的资源,还有安全区大哥允许它访问的资源。 而这个隔离的实现,代价可以说是巨大的。CPU本身分成了安全模式与非安全模式,代码空间与RAM空间也被分成了两个区域,很多核心资源也被分成了两份(在STM32CubeMX里面配置项使用_NS与_S进行区分),而很多外设也可以配置为安全外设或者非安全外设。 虽然TrustZone如此强大,实现它使用的资源也耗费巨大,但仅仅是一个TrustZone并不能真正实现保护,它只是一个基础,而更重要的一层还是在我们开发者这里。TrustZone是一把安全的神兵利器,而如何去保护自己的产品的核心,什么是产品的核心部分,则是我们应该考虑的问题。) U/ k2 h1 J( w# D 0 C* \; P: V5 D2 t! C 7 C5 e x$ }+ h# W 不知不觉又扯这么多,再单开一篇把,咳咳,文人的事情,怎么能叫水文呢。2 I( u2 D! m/ q7 C* X |
whether the IC of STM32U595RIT6 is original chip
实战经验 | 基于 STM32U5 创建 USBx_CustomHID 通信
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更新
微信公众号
手机版
了解不多。。。9 |) b2 C0 `$ {% M
% ]# E5 {" v+ s0 Y