當微控制器 (MCU) 功能越來越強大,與微處理器 (MPU) 的界限為何?日前剛發(fā)表首款通用型 MPU 產(chǎn)品——STM32MP1 的意法半導體 (ST),自有一套看法:處理性能和資源要求更高、且需要大型開源軟件應用領域的,就交給 MPU。MCU 部門 STM32 MPU 產(chǎn)品營銷經(jīng)理 Sylvain RAYNAUD 在媒體團訪所秀出的第一張簡報畫面即是:當 STM32 遇上 Linux,會擦出什么火花?引言 STM32MP1 與應用端連結(jié)的獨特。奠基于主流開源 Linux 發(fā)行版——OpenSTLinux Distribution,意在將 STM32 系列從實時任務和功耗限制為主的應用,擴大至更廣泛的市場。
照片人物:ST MCU 部門 STM32 MPU 產(chǎn)品營銷經(jīng)理 Sylvain RAYNAUD
承襲 MCU 榮光,STM32 再添 MPU新成員
熟悉 MCU 開發(fā)者,對 STM32 想必不陌生;自從 2007 年推出全球第一款 Arm Cortex-M MCU——STM32F1 迄今,ST 已稱霸 32 位通用 MCU 市場,并堅守十年長期供貨、保證每年更新的承諾;當然,最新隆重登場的 STM32MP1 也不例外,這對工業(yè)、醫(yī)療或相對高端的消費類設計至關重要。RAYNAUD 介紹 STM32MP1 的特點如下:內(nèi)嵌 3D 圖形處理器 (GPU) 以支持人機接口 (HMI) 顯示器,有助于提升工業(yè)控制面板等設備的使用者體驗;同時擁有計算和圖形處理能力、兼具高效實時控制和高功能整合度。
圖1:STM32 曾創(chuàng)下業(yè)界多項輝煌記錄
資料來源:ST 提供
如前文所述,器件間的連接接口亦會影響嵌入式計算效能。STM32MP1 提供搭載 OpenGL ES2.0 接口的高端 HMI 開發(fā),并支持 Linux 和包括 Android Qt 在內(nèi)的各種應用程序架構及 MIPI DSI 端口。RAYNAUD 宣示,32MP1 乃面向三大目標族群而來:1.原本慣用 MCU、新近接觸 MPU 者;2.有混合使用 MCU 與 MPU 的需求者;3.單純想尋找靈活 MPU 的開發(fā)者。若欲使用開源軟件開發(fā)"實時且有功耗限制"的系統(tǒng),32MP1 優(yōu)勢尤其明顯。例如,全天候監(jiān)控+間歇性分析處理,由 MCU 負責前端實時監(jiān)控,后在特定時間點啟動應用處理器 (AP)。
32MP1 整合兩顆主頻 650MHz 的 Arm Cortex-A7 AP 和一顆 209MHz Arm Cortex-M4 MCU,可讓用戶便于進行 STM32 異構計算開發(fā),確保在單一芯片上執(zhí)行快速數(shù)據(jù)處理和實時任務,無時無刻皆可發(fā)揮最高效能。STM32MP1 還嵌入大量外部周邊,可無縫配置資源給 Cortex-A/Linux 或 Cortex-M實時操作;另為防止 MPU 系統(tǒng)出現(xiàn)性能瓶頸和帶寬問題,它支持 DDR3、DDR3L、LPDDR2、533MHz 的 32/16 位 LPDDR3 等多種 DDR SDRAM 內(nèi)存,以及 eMMC、SD卡、SLC NAND、SPI NAND 和 Quad-SPI NOR 等閃存 (Flash)。
圖2:STM32MP1 彈性架構有利于能源效率
資料來源:ST 提供
STM32MP1:軟、硬件一次到位,固件是勝出關鍵
實測顯示,暫停 Cortex-A7 執(zhí)行指令、只讓 Cortex-M4 運作,功耗可降低至 25%,由此進入待機狀態(tài)功耗可再降至 1/2500 (取決于實際應用)。更驚艷的是,可在 1~3 秒恢復執(zhí)行 Linux;搭配 ST 專程開發(fā)的 STPMIC1 能源管理配套芯片可進一步簡化設計、減少物料清單 (BOM) 成本并優(yōu)化功耗——集成 DC / DC 和低壓差穩(wěn)壓器 (LDO) 的 STPMIC1,亦可單獨供內(nèi)存和設備使用。承襲 STM32 生態(tài)系統(tǒng)是另一項傲人資產(chǎn),包括:STM32CubeMX+STM32CubeProgrammer 軟件開發(fā)工具包 (SDK) 和評估板/探索板/電路板與模塊系統(tǒng) (SoM) 等硬件。
RAYNAUD 透露,STM32CubeMX 固件是 STM32MP1 從競品脫穎而出的關鍵。它可簡化 Cortex-A7 和 Cortex-M4 內(nèi)核的軟、硬件配置,產(chǎn)生 M4 處理器 C 語言程序代碼、DDR SDRAM接口配置、除錯工具以及 Linux Device Tree 樹狀設備檔。加強型 STM32Cube 工具是 Cortex-M MCU STM32Cube 特別升級版,具有加速 Arm Cortex-A AP 所需的全部功能并可供 Cortex-M MCU完全重復使用,只要一次性投資就可繁衍迭代產(chǎn)品。不僅有多個應用程序編程接口 (API) 可存取周邊、且集合多種中間件供 Cortex-M 使用,迄今已有數(shù)百個實例,直接投產(chǎn)質(zhì)量無虞。
圖3:STM32MP1 軟件工具
資料來源:ST 提供
如此,將有利于企業(yè)授權。為優(yōu)化項目的階段性任務,ST 備有三種 SDK 供用戶選擇:1.Starter Package (STM32MP1Starter),入門體驗 STM32MP1 的硬件流暢;2.Developer Package (STM32MP1Dev),可在 STM32MP1 嵌入式軟件發(fā)行版進行開發(fā);3.Distribution Package (STM32MP1Distrib),創(chuàng)建自己特有的 Linux 發(fā)行版、Starter 和 Developer 軟件包。ST 亦為用戶提供一系列社群板和第三方模塊系統(tǒng)板,以第三方電路板制作原型并生產(chǎn) Linaro 電路板規(guī)格 (96boards.org) 或各種不同形式的商用模塊系統(tǒng)。
"開源、云臺、社群"成最強后盾
ST 還與系統(tǒng)整合商 Witekio 共同將 Android 移植到 STM32MP1,提供從 Linux 或 Android 系統(tǒng)客制化到 Qt HMI 的開發(fā)和云臺連接,協(xié)助用戶創(chuàng)新物聯(lián)網(wǎng) (IoT)。外加線上開發(fā)社群 (https://community.st.com ;https://wiki.st.com/stm32mpu) 等顧客支援及 Linux 開源相助,可縮短研發(fā)周期;ST 還與開源軟件供貨商 Timesys 合作補強安全 Yocto BSP 板級支持包維護并投注心力在 meta-timeys 整合上,冀讓用戶減少管理漏洞的時間。OpenSTLinux 現(xiàn)已通過 Linux Foundation、Yoctoproject、Linaro 等 Linux 社群審核。
發(fā)行版涵蓋 AP 運作軟件所需的所有基本組件,包含:Linux BSP 板級支持包、Linux 核心、驅(qū)動程序、開機程序和安全操作系統(tǒng) (OP-TEE,可信賴執(zhí)行環(huán)境) 等。STM32MP1 系列本身亦嵌入 TrustZone、加密算法、哈希計算、安全啟動、防篡改腳位和實時時鐘等多項硬件安全加密功能,確保程序代碼的真實性。攜手云臺服務供貨商 (CSP) 則是另一個布局重點,早在 2017 年,ST 便已與亞馬遜 AWS 宣布將 Amazon FreeRTOS 開源操作系統(tǒng)和相關軟件庫搭載在超低功耗 STM32L4 MCU,且使 B-L475E-IOT01A IoT 節(jié)點探索工具成為 FreeRTOS 入門套件。
圖4:STM32MP1 針對多種應用量身訂制,現(xiàn)有 24 種型號進入量產(chǎn)
資料來源:ST 提供
上述新型開發(fā)板提供通信連接、多路傳感器和控制功能,支持 Arduino Uno V3 和 PMOD 接口,可插接各種專用子板,無限擴大系統(tǒng)功能。新款 MPU 家族是否能如期比照辦理并延伸至其他云臺?值得期待。此外,"產(chǎn)品線廣、配置選項多"是 ST 產(chǎn)品備受贊譽的主因之一,STM32MP1 采用多種球柵數(shù)組 (BGA) 封裝,密度、導熱性及電性傳導較佳,支持成本最低的電路板結(jié)構且極小化板空間。特別一提的是,STM32MP1 內(nèi)建多個經(jīng)過事先優(yōu)化的內(nèi)存配置選項,系統(tǒng)會聰明且有效運用系統(tǒng)資源,既可省去人工調(diào)試麻煩、又能避免資源不足或浪費。