最近接触了GD32和瑞萨的几款低成本的MCU,均为M23内核的。我一直以为其和M0+差不多,今天查阅了些资料才发现M23还是要比M0/M0+要高级不少呢!分享一下。
内核介绍
ARM Cortex-M23是基于Armv8-M Baseline架构的原生支持TrustZone技术的入门级32位低功耗安全内核,是Cortex-M系列中最小巧、能效比极高的型号,专为资源受限的高安全嵌入式场景设计。
核心架构基础
采用2级流水线冯·诺依曼架构,核心面积和功耗做了极致优化,指令集以Thumb-2子集为基础,代码密度表现优异。
内置单周期硬件乘法器,搭配17周期硬件除法器,在极低的资源开销下提供确定性运算性能。
原生可选集成Armv8-M Security Extension,搭载Arm TrustZone安全技术,是同级别入门内核中少数支持硬件级安全隔离的型号。
配套可选的安全属性单元SAU,可将内存、外设划分为安全态和非安全态两个独立区域,关键密钥、核心算法可完全隔离在非安全态无法访问的空间。
内置PMSAv8架构的内存保护单元MPU,安全态和非安全态可各自独立配置MPU,实现精细的内存访问权限管控。
搭载深度集成的嵌套向量中断控制器NVIC,支持确定性的高性能中断处理,所有指令周期时序完全固定,完全满足时间敏感型工业场景的实时性要求。
支持特权级和非特权级运行模式分离,可将应用代码运行在非特权级,避免误操作破坏系统核心资源。
安全态和非安全态各自配备独立的SysTick系统滴答定时器,两边的计时资源完全隔离互不干扰。
内核性能与优势
每MHz性能提升40%:Cortex-M23的CoreMark跑分达到1.34 CoreMarks/MHz,而Cortex-M0+仅为0.9 CoreMarks/MHz,同主频下运算效率大幅领先。
硅片面积缩小20%:在实现更多新特性的前提下,Cortex-M23的核心硅片面积反而比M0+更小,能显著降低芯片量产成本。
基于全新Armv8-M架构,可选集成Arm TrustZone硬件安全隔离技术,这是Cortex-M0+(基于Armv6-M)完全不具备的原生能力。
支持安全态与非安全态内存/外设分区隔离,可将密钥、核心算法完全封闭在安全域,从硬件层面抵御非授权篡改,适配IoT、工业控制等高安全场景。
配套双域独立MPU内存保护单元,安全态和非安全态可各自配置独立的内存访问权限,比M0+的单MPU管控精细度高很多。
国内与国外选型
我这次选型低成本的M23内核的MCU有国内兆易创新的GD32E230系列,其主频达到72MHz,相当于M0的100MHz了。而国外品牌是瑞萨的RA2E系列,RA2E较国内的主频要低一些,仅有48MHz,其余方面RA2E2还支持了I3C外设。
对于有安全要求的应用场景,查了一圈,我觉得新唐的M23搭载了TrustZone技术,大家可以考虑选择。
整体来看,Cortex-M23在保留M0+低功耗、低成本特性的基础上,补上了性能和硬件安全的短板,是新一代高安全低功耗MCU的首选内核,尤其在有除法应用,又有实时性要求的项目上。
我要赚赏金
