天南地北客
发表于: 2018-10-24 11:46:27 | 显示全部楼层

越来越多厂商跟进Cortex-M23/33/35P了,大概进程如下:

●    ARM 发布M23/M33内核

●    新唐最先发布M2351(M23内核)

●    Microchip发布SAML10/SAML11(M23内核)

●    NXP最先发布LPC5500(M33内核)

●    ST发布STM32L5(M33内核)

●    NXP发布i.MX 600

●    ARM 发布M35P内核

他们都有一个特点,就是没有MPU,取而代之是TrustZone-M(下面简称SAU)。目前已经量产的有新唐M2351。


先说说MPU的缺点:

●    只能设置2^n次方保护区域大小。

●    只能管理4G大小(32位单片机地址空间只有4G,但是再64位单片机就不同了。)

●    MPU的可以被任意可执行代码配置(只要代码不在XN属性的地方,就有可能改变MPU配置。)


再看TrustZone特征:

●    任意大小可配置

●    安全区和非安全区,非安全区就算代码是可执行的,也不能修改配置。这是由于安全区所在的总线可以访问所有资源,而非安全区,只能访问部分资源。

●    安全区和非安全区之间不能自由切换,必须通过中转,中转是受保护的。

●    存在内存中的资源加密存放,就算别的程序窃取到其中的内存片段,也无法知道具体内容。

所以,可以理解成TrustZone是MPU的Plus版本。如果之前对MPU一点都不了解,那么这个上手就有点难度了。大多数Cortex-A都带了TrustZone,可以提前了解下,但是有一些小小的差别。


i.MX我还是挺看好的,就是封装很蛋疼。

img_5bc8577dbc694.png




本文转载自《TaterLi 个人博客》TrustZone-M 与 MPU 区别/

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



手机版|

GMT+8, 2024-11-8 06:46 , Processed in 0.048039 second(s), 9 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表