MCU引入異構內核·,攜手Linux變身MPU

導讀 集微網報道 從2007年的第一顆STM32F103開始,十二年的發展讓STM32家族成爲了新世紀最成功的MCU系列。引入多核、擴充外設,STM32的自我升級一直沒有停步。現在,引入異構內核即將成爲STM32發展史上又一個重要節點,新MPU將在MCU的基礎上破殼而出。
STM32家族的最新成員就是整合了Cortex-A和Cortex-M兩種不同核心的STM32MP1微處理器系列。

Cortex-M是ARM處理器中的專用MCU內核,Cortex-A則是應用處理器內核,現在手機中的蘋果A系列、高通驍龍、華爲麒麟處理器等都是基於Cortex-A架構的。將Cortex-A引入到MCU當中,也就是將異構計算引入到MCU當中。

“MPU其實是非常複雜的,要經過長期思考+驗證,到最後成熟和上市,這塊產品花了整整五年的時間。”意法半導體微控制器事業部STM32微處理器產品市場經理Sylvain RAYNAUD這樣表示。

MCU引入異構內核·,攜手Linux變身MPUMCU引入異構內核·,攜手Linux變身MPU

意法半導體微控制器事業部STM32微處理器產品市場經理Sylvain RAYNAUD

STM32MP1系列微處理器集成兩顆主頻650MHz的Arm Cortex-A7應用處理器內核和一顆運行頻率209MHz的高性能Arm Cortex-M4微控制器內核。同時,STM32MP1還嵌入了GPU,以支持人機顯示界面。

MCU引入異構內核·,攜手Linux變身MPUMCU引入異構內核·,攜手Linux變身MPU

這三核分工明確,A7內核運行Linux,配合GPU負責顯示功能,M4內核則執行傳統的控制功能。三核之間通過特有的IPCC機制進行通信並配有加密措施,“它們以mailbox的方式溝通,然後溝通數據會保存在SRAM 裏面。” Sylvain RAYNAUD解釋。

爲防止MPU系統出現性能瓶頸和帶寬問題,STM32MP1支持經濟實惠的DDR SDRAM存儲器,包括DDR3、DDR3L、LPDDR2、533MHz的32/16位LPDDR3。此外,STM32MP1還支持各種閃存產品:eMMC、SD卡、SLC NAND、SPI NAND和Quad-SPI NOR閃存。

從架構上來說,STM32MP1既具有靈活性又能實現能效最佳化。在全速運行模式下,雙核Cortex-A7 +3D GPU是完全打開的,其處理器速度爲2470DMIPS,Cortex-M4部分的處理速度則有260DMIPS。在低功耗模式下,Cortex-A7進入待機模式,只有Cortex-M4運行,功耗是正常模式的1/4。如果要進入完全待機模式,功耗只有前一個模式的1/2500。

從待機模式回到全速運行,STM32MP1的表現很優異。其只需1s就能回到Linux界面,3s則能回到3D圖形應用界面。

還有一點很關鍵,STM32MP1配備的豐富外設都可以通過在線的方式決定分配給A7還是M4使用。這些外設就包括了USB2.0、千兆以太網GMAC、CAN FD,以及多個標準IC、UART和SPI接口,還有一系列模擬外設。

因爲複雜度提升,ST還爲STM32MP1設計了專用電源管理IC(PMIC) STPMIC1。其集成了4個DC / DC降壓轉換器、6個LDO穩壓器、1個DC / DC升壓轉換器,以及USB VBUS和通用功率開關,能爲STM32MP1和電路板上的其它組件提供所需的電壓軌。

引入新內核,拓展了STM32的應用空間。Sylvain RAYNAUD就總結道:“對於以前使用微處理器+MCU應用的客戶,STM32MP1一顆單芯片就可以實現這個功能;而客戶之前使用的是MPU,那麼可以用STM32MP1做MCU應用。”

攜手Linux,背靠成熟生態
引入Cortex-A7內核,也就爲開發者引入了Linux系統。爲了加快項目開發速度,ST發佈了一款主流開源Linux發行版OpenSTLinux Distribution。 OpenSTLinux已通過了 Linux Foundation、Yoctoproject 、Linaro等Linux社區的審批。該發行版包含在應用處理器內核上運行軟件所需的全部基本組件。

MCU引入異構內核·,攜手Linux變身MPUMCU引入異構內核·,攜手Linux變身MPU

“在支持整個Linux開發源的時候,我們全面兼容開源軟件的標準,包括Linux的Foundation和Yocto Project。”Sylvain RAYNAUD說,“因爲Linux開源代碼非常多,客戶也不好選擇。爲此,ST在Yocto建立一個Project,讓客戶可以穩定簡易使用這個開發包。”

同時,STM32MP1還預裝了安全操作系統OP-TEE。“如果客戶自己去尋找安全應用還需要付費,ST已經幫客戶解決了這個問題,讓其使用免費的加密OS。” Sylvain RAYNAUD解釋了原因。

在Cortex-A7端,有OpenSTLinux可以使用,在Cortex-M4端,則可以使用以前的STM32Cube工具。據Sylvain RAYNAUD介紹,STM32Cube裏有很多支持客戶的參考代碼、驅動,包括很多做外設訪問用的API,還有各種中間件。所有這些都是有ST品質保證的軟件開發包,配合非常友好的商業條款,讓客戶使用非常便捷。

在硬件開發工具方面,ST提供了三套開發板:全功能板、探索板(只有基本外設)和第三方原形板/生產級板。這三套板子都在STM32的天貓旗艦店有售。

爲了支持用戶開發,ST還在全球範圍內佈置了超級第三方平臺,主要支持GUI,加密和培訓這部分。此外,ST還建立了一個專門的wiki網站,用來支持STM32MP1的客戶做Linux相關開發。

MCU引入異構內核·,攜手Linux變身MPUMCU引入異構內核·,攜手Linux變身MPU

STM32MP1誕生時間雖不長,已經形成了一個完備的產品系列。目前,STM32MP1已有三條產品線:157、153、151。其中,151配備了Cortex-A7+Cortex M4;153在此基礎上增加了CAN FD和雙核Cortex A7;157是目前系列中性能最高的,有雙核Arm Cortex-A7+Cortex-M4+3D GPU,另支持DSI和CAN FD。

採用異構架構,是STM32應對大量增加的人機交互需求的舉措。而對於未來的產品規劃,Sylvain RAYNAUD表示:“該系列未來將並行發展兩個方向:高性能、安全、功能和成本功耗優化。那些潛在的應用場景,如工業、消費電子、醫療保健和智能家居,STM32MP1都可以完美支持。”
https://www.linuxprobe.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章