意法半导体:真事儿!STM32上可以跑Linux了

本文作者:徐俊毅       点击: 2019-11-13 13:40
前言:
意法半导体微控制器事业部STM32微处理器产品市场经理Sylvain RAYNAUD
 
自从2007年第一颗STM32 MCU问世,意法半导体的32位MCU业务就走上快速成长的道路,现已发展出了“F,G,L,H,W(字母顺序排列)”多个系列数百种产品,从超低功耗到高性能,满足从消费到工业等广泛领域的应用需求,是目前全球数一数二的MCU供应商。
 
STM32系列的产品无一例外都使用了ARM Cortex-M架构,超低功耗采用Cortex-M0,而最高性能则使用Cortex-M7
 
 
随着物联网、智慧制造、智慧生活技术的发展,嵌入式应用对性能的需求也变得越来越高,ARM Cortex-M系列的性能局限越来越明显。经过多年准备,意法半导体在今年开辟了新的产品线,首款产品STM32MP1于2019年早些时候发布,正式将Cortex A7架构引入STM32家族。STM32MP1系列采用了两颗核心的异构架构,集成两颗主频650MHz的Arm Cortex-A7应用处理器内核和一颗运行频率209MHz的高性能Arm Cortex-M4微控制器内核。
 
这是12年来,STM32家族首次引入Cortex-M系列以外的计算架构。

Cortex-M7 到 Cortex-A7 性能飞升
Cortex-M7:2014年ARM发布的全新Cortex-M架构,面向高端嵌入式应用,2016年采用Cortex-M7架构的STM32 H7问世,40纳米工艺制造的,在400MHz运行频率下,单核心性能达到865DMIPS。
 
STM32H7登顶嵌入MCU的性能之王的同时,也达到了在40纳米工艺条件下,ARM公布的Cortex-M7架构的性能极限。那么Cortex-A7架构呢?
 
Cortex-A7:是定位于手机应用处理器的计算架构,2011年发布,ARM官方数据是28nm工艺,1.9DMIPS/MHz。STM32MP1系列首款产品的频率为650MHz,换算下来的理论性能为1235DMIPS,相比STM32H7 单核性能高出至少40%!而STM32MP1提供了双核版本,官方公布的性能达到了2470DMIPS,是STM32 H7的2.8倍!
 
但运行在650MHz这仅仅Cortex-A7架构起始频率,要知道在手机中使用Cortex-A7架构处理器的运行频率都在1GHz以上,而像红米1S这样的手机是直接采用了4颗Cortex-A7架构,主频跑到了1.5GHz!也就是说,对于STM32MP1系列来说,Cortex-A7架构还有至少2~5倍的性能提升空间。
 
STM32MP1系列在性能上从一开始就甩开了MCU,是一颗货真价实的处理器,因为它要应对更大的挑战----运行在Linux系统上。

OpenSTLinux同步上线
STM32MP1强大的计算能力为运行一个嵌入式Linux系统提供了性能基础,这与现在的嵌入式系统普遍被要求提供图形界面有很大关系。无论消费、工业、医疗还是智能家居产品,具有嵌入式操作系统的图形界面设备受到更多欢迎,因为图形界面不仅友好而且可以提供更多信息和操作。因此,与STM32MP1同时公布的还有主流开源Linux发行版OpenSTLinux Distribution。这让设计人员可以省去嵌入式设计与操作系统对接的一系列麻烦。一颗Cortex-A7运行系统,而另一颗Cortex-M4专注传感器信号、马达控制等透过芯片的安全加密机制进行数据通信,还可以在Linux操作系统实现高达720P的图形效果,这会节省下大量的系统级的调试验证时间,而且节约人力。
 
OpenSTLinux 发行版支持在STM32MP1的Cortex-A7内核上的开发项目,并包含Linux BSP板级支持包、内核、驱动程序、引导链和安全操作系统(OP-TEE:可信执行环境)等重要组件。OpenSTLinux现已通过了 Linux Foundation、Yoctoproject、Linaro等Linux社区的审批。该发行版包含在STM32MP1应用处理器内核上运行软件所需的全部基本组件。
 
 
“STM32MP1中的Cortex-A7部分,使用OpenSTLinux开发包,可以保证系统软件的稳定性。在Cortex-M4可重复使用以前的STM32Cube应用,这样整体的STM32MP1就有一个完整的嵌入式软件发行版给客户”意法半导体微控制器事业部STM32微处理器产品市场经理Sylvain RAYNAUD说。

使用预集成的安全操作系统OP-TEE,设计人员可以使用免费使用加密OS的功能,让系统在可信区域加密。
 
为了让设计人员顺利用好STM32MP1的开发平台,ST专门开设了百科内容https://wiki.st.com/stm32mpu,无论初学者还是资深工程师都可以在这里找到想要的各种内容和工具。

除了Linux平台,ST还与Witekio展开合作,将Android移植到STM32MP1上。Witekio董事长Yannick Chammings表示:“Witekio通过开发基于STM32MP1系列的完整软件系统,从Linux或Android定制,到Qt HMI开发和云连接,陪同ST客户开发物联网创新项目。”

三秒唤醒图形界面和万分之四的待机功耗
STM32MP1针对功耗的优化做得非常细致,有全功率模式、分批功耗优化模式、待机模式三种情况
 
全速运行模式时Cortex-A7部分的核心频率为650MHz,性能达2470DMIPS,同时双核Cortex-A7 3D GPU部分开启,可以提供3D图形显示能力,Cortex-M4运行在209MHz,性能达到260 DMIPS,这时整体功耗处于最大状态;而运行在低功耗应用时,Cortex-A7核心处于待机模式,只有用Cortex-M4内核在运行,功耗只有全速模式的四分之一;而如果STM32MP1整体进入待机模式的情况,功耗只是前一个模式的1/2500。
 
 
“我们,从待机模式回到全速运行有一个很重要的关键因素,就是唤醒时间。 STM32MP1只需1秒回到Linux界面,只需要3秒回到Linux系统3D图形应用界面”Sylvain RAYNAUD强调。
 
为实现精确的功耗控制,ST为STM32MP1系统配套了STPMIC1电源管理芯片。
 
 
STPMIC1集成了四个DC / DC降压转换器、六个LDO稳压器、一个DC / DC升压转换器,以及USB VBUS和通用功率开关,节省空间和BOM成本,为STM32MP1和电路板上的其它组件提供所需的电压轨。STPMIC1采用功耗优化技术,是电池供电应用中的STM32MP1系列的理想配套芯片。
 
Sylvain RAYNAUD表示STPMIC1可以帮客户做到三个重要的点:一是优化客户系统功耗;二是节省成本;三是可以达到更小PCB设计,让设计更加精简。

开发板
由于可以运行在linux系统上,所以这次STM32MP1的开发板是类似于树莓派这样的完整系统,十分方便设人员进行功能评估、系统原型开发与产品设计。STM32MP1提供两套板子,一是全部功能板,包括两套评估板,支持157A和157C,157C是安全加密功能升级的部分。探索板有两套,一套是精简的只有MP1+基本外设,还有一个相对完整的功能,配MIPI屏,以及配了Wi-Fi/BT射频模块,需要做无线连接的时候,可以以此为原型来开发。三套开发板近期可在STM32天猫旗舰店购买。
 
此外,除了ST官方提供的开发工具,第三方提供的开发板和各种可商业应用的核心板也已经陆续上市。


STM32MP1家族将持续壮大
STM32MP1系列开辟了全新的市场空间,STM32MP1系列将Cortex-M4和Cortex-A7组合得到了更具竞争力的MPU产品,设计人员可以透过OpenSTLinux得到大量标准化的工具和模块,同时可以兼顾安全性,STM32以往的产品和工具也可以直接移植过来使用,对设计力量薄弱的中小型公司来说大大降低了产品原型的成本和门槛。
 
可以看出,STM32MP1这种异构的组合方式具有非常大的调整潜力,目前的组合可以满足相当多的应用需求,未来随着需求变化,ST可以调整多种组合方案满足市场需求,加上超过10年的长期供货保证,ST在物联网、工业、智能家居MPU市场处于优势地位。
 
“STM32MP1的研发不是在中国本土进行的,目前STM32MP1属于高性能MCU部门,不排除未来单独成为一个部门的可能”意法半导体微控制器部门技术市场经理 Jane YE叶洁珍说。


附录:
STM32MP1系列微处理器集成两颗主频650MHz的Arm Cortex-A7应用处理器内核和一颗运行频率209MHz的高性能Arm Cortex-M4微控制器内核。为防止MPU系统出现性能瓶颈和带宽问题,STM32MP1支持经济实惠的DDR SDRAM存储器,包括DDR3、DDR3L、LPDDR2、533MHz的32/16位LPDDR3。此外,STM32MP1还支持各种闪存产品:eMMC、SD卡、SLC NAND、SPI NAND和Quad-SPI NOR闪存。
 
3D图形处理单元(GPU)可实现基于OpenGL® ES2.0接口的高级HMI开发以及Linux和各种应用程序框架(包括Android Qt)的本机支持。STM32MP1支持60fps、高达WXGA的 24位并行RGB显示器接口和运行频率1Gbps的有2个数据通道的MIPI® DSI接口。

STM32MP1有为多种应用量身定做不同的封装。STM32MP1有三条产品线:157、153、151。151配备了Cortex-A7+Cortex-M4;153是在151的基础上增加了CAN  FD和双核Cortex A7;157是目前系列中性能最高产品,双核Cortex-A7+Cortex-M4、3D GPU 以及CAN  FD。还有可选配的安全功能,这三条产品线加上可选的增强功能可选就有了6个型号可供选择。