首页 资讯频道 互联频道 智能频道 网络 数据频道 安全频道 服务器频道 存储频道

STM32遇到Linux操作系统,STM32MP1“忽然出现”

2019-12-16 16:02:07 来源 : 与非网

MCU领域,STM32就是一个奇迹。从2007年推出第一颗STM32F103起,STM32就迈开步伐不断向前,在12年的时间里,不仅打造一个MCU超级平台,还构建了一个庞大的生态系统。“STM32作为通用MCU,面对的不仅是消费类客户,更多的是工业控制和通信类客户。”意法半导体微控制器事业部STM32微处理器产品市场经理SylvainRAYNAUD在近期的发布会上表示,“客户在认可ST产品品质的同时,也感受到我们对客户的长期支持,STM32F1系列已经上市12年,我们依然每年年初都会更新长期供货保证,而且每一次更新都是十年。”

十年的供货期,对于工业类客户来讲是一副安心剂,能够满足工业市场长期求稳的需求。而且工业市场大多数客户都采用Linux操作系统,不仅是因为这套操作系统是开源系统,更是因为这套系统的安全可靠。为了满足工业市场的需求,ST推出了第一款支持Linux操作系统的微处理器STM32MP1,将STM32的成功和承诺延续到微处理器市场。

意法半导体微控制器事业部STM32微处理器产品市场经理SylvainRAYNAUD

STM32MP1面向所有开发者,定位于通用微处理器市场。以前使用MCU的客户,可以通过STM32MP1学习升级使用微处理应用;以前使用微处理器+MCU应用的客户,通过STM32MP1一颗单芯片就可以实现这一功能;以前使用其它MPU的客户,可以用STM32MP1实现所需要的功能,扩展ST的客户群体。SylvainRAYNAUD表示,“STM32MP1是适合目前所有应用开发者的产品,而且支持多种潜在应用场景,包括工业应用、消费电子、医疗保健、智能家居等。”

多核异构,灵活性更强

目前,无论MCU还是MPU,架构非常关键,尤其是在很多应用对速度和功耗提出更高要求的前提下,异构架构得到广泛采用。STM32MP1也是多核设计,由Cortex-M4和Cortex-A7,以及3DGPU构成。SylvainRAYNAUD解释,“STM32MP1有全速运行模式、分批功耗优化模式、待机模式三种模式。这一灵活的异构计算架构在单一芯片上执行快速数据处理和实时任务,始终实现较高的能效。在全速运行模式时,Cortex-A7达到650MB,2470DMIPS,同时双核Cortex-A7+3DGPU打开,进行高效处理,Cortex-M4较高跑到209,MIPS部分可以达到260个MIPS,可以做电机控制,这时候整体能效最大;当停止Cortex-A7执行指令,只让能效更高的Cortex-M4运行,功耗通常可以降至25%。再从这种模式进入待机状态,功耗进一步降至1/2500(两千五百分之一),同时仍然支持1到3秒内恢复Linux执行,具体恢复速度取决于实际应用。”

另外,STM32MP1嵌入了3D图形处理器(GPU),以支持人机界面(HMI)显示器;外部存储器支持各种DDRSDRAM和闪存。STM32MP1系列采用多种BGA封装,支持成本较低的PCB板结构,电路板空间占用极小。

用户或许会问:为什么选择了Cortex-M4和Cortex-A7的组合?SylvainRAYNAUD向与非网记者解释,“因为Cortex-A7的性价比比较高,根据我们的产品线的定位,A7的主频能达到650MB,符合设计要求。当然也可以选择更高的Cortex-A9内核,但这目前不是我们的需求;选择Cortex-M4,因为ST是基于Cortex-M系列做起来的,客户可以使用以前的应用案例和参考设计开发产品,更容易上手。当然,未来我们会考虑使用更多的内核。”

外设丰富,单独配置电源管理芯片

对于MCU产品,除了内核的配置,用户还关心的另一项指标是所支持的外设种类。,STM32MP1嵌入了大量外设,可以无缝分配给Cortex-A/Linux或Cortex-M/实时操作。Cortex-A7支持显示,LCD可以支持RGBTFT屏幕和MIPIDSI屏幕;还支持各种存储器接口,包括:DDR3、LPDDR2/3、Flash以及eMMC、SD卡等;所支持的通信接口包括USB,CAN-FD,高速以太网等。另外,以根据用户应用配置,选择A7还是M4使用USB、CANFD和Ethernet。

STM32MP1是应用处理器,因此系统比较复杂,所以ST配置了STPMIC1电源管理芯片给客户使用。STPMIC1提供了DC/DC和LDO,除了给STM32MP1供电,还给外设如显示器、存储器及USB等外设使用。SylvainRAYNAUD指出,STPMIC1有三个功能:一是优化客户系统功耗;二是如果外设成本配备比较全,因为电源非常全,可以节省成本;三是用这颗芯的优势是可以做到更小的PCB设计,让系统更加精简。

对于一个MPU系统,是否需要单独配置电源管理系统一直有争议,SylvainRAYNAUD表示,“MPU比较复杂,包含几个内核,有很多不同的外设,因此在电源供电部分需要各种不同的供电,而且上电次序不同,包括Vcore、VDD、VDDA,以及数字电路和模拟电路需要分开,相对以前的STM32,电源相对非常复杂,所以我们专门做了一个STPMIC1来配套STM32MP1。”

支持Linux操作系统,还会支持更多软件

STM32MP1依托于STM32成熟的生态环境,提供全面整合的设计套件给STM32MP1客户。在Cortex-A7部分,ST提供OpenSTLinux开发包,可以保证系统软件的稳定性;在Cortex-M4部分,可重复使用以前的STM32Cube应用,这样STM32MP1就有一个完整的嵌入式软件发行版给客户。

整套STM32MP1软件套件可以简化客户的流程开发,其中重要的一点是STM32MP1的Linux平台,全面兼容主流行的OpenLinux开发包。目前,STM32MP1SoC驱动程序已被Linux社区采用和认可,ST的STM32MP1支持Linux4.19LTS,LTS表示ST会长期支持这一软件发行版。在支持整个Linux开发源时,STM32MP1全面兼容开源软件的标准,包括Linux的Foundation和YoctoProject,因为Linux代码开源,而且非常多,客户不可能全部都用或者清楚哪个好用,ST在Yocto建立一个Project,客户可以稳定简易使用这个开发包,而且支持Linaro社区,里面有一些参考软件和培训。因为Linux是开源的,代表是公开的,所以预集成安全操作系统OP-TEE,客户不需要再付费;客户可以使用免费的加密OS,让系统在可信区域加密,公开用的数据全部用开源的Linux。

STM32MP1强调适用于所有用户,但是工业控制领域采用Linux操作系统较多,消费领域采用安卓操作系统比较多,对于这一现状,ST表示第一款产品首先支持Linux操作系统,是从STM32MP1的性能考量。

目前已经和第三方合作开发支持安卓系统。但是,目前在安卓部分支持的显示屏幕分辨率比较低,Linux支持显示的GUI是QT或者Crank,可以达到720p高清显示。安卓只能达到480p,但是后续会继续扩展。

ST还为STM32MP1提供了硬件解决方案。STM32MP1提供两种开发板:一是全部功能板,支持157A和157C,157C是安全加密功能升级的部分;探索板有两套,一套是精简版本,包括MP1+基本外设,还有一个相对完整的功能,配了MIPI屏和Wi-Fi/BT射频模块,当用户需要做无线连接时,可以以此为原型来开发。

产品线齐全,全方位满足用户需求

STM32产品以种类齐全著称,STM32MP1也是如此。STM32MP1为各种应用量身定做了不同的封装。SylvainRAYNAUD介绍,“STM32MP1有三条产品线:157、153、151。其中,151配备了Cortex-A7+CortexM4;153是在此基础上增加了CANFD和双核CortexA7;157是目前系列中性能较高的产品,Cortex-A7+Cortex-M4双核配置,还有3DGPU、DSI、CANFD。另外,还有安全功能可选产品线,产品线+功能有6个型号,每一个型号有4个不同的封装,最小的是25710×10mm;最大的是LFBGA44818×18mm。客户可以根据不同的应用选择pith0.5mm或pitch0.8mm,比如工控客户需要引角间距比较大,可以选0.8mmpitch的封装,如果客户要做小的模组,可以选0.5mmpitch的封装。关键是,客户使用STM32MP1做研发时,可以做4层PCB,而且打通孔比较便宜,不需要打盲孔。所以,对追求高性价比的PCB客户非常有利。”

最后,SylvainRAYNAUD强调,“STM32MP1是第一颗MPU市场产品。未来,在拓展产品线时,会同时并行朝两个方向发展:性价比更高和功耗优化。在看重成本的市场,会开发性价比更高的产品,在高端领域会开发更高性能、更安全的产品。”

最近更新