早在2019年年初的時候,ST就發布了首款STM32MPU:STM32MP1。 STM32MP1通用微處理器產品系列,系基于混合的 雙Arm Cortex-A7核 和 Cortex-M4核架構產品。 一、支持STM32MPU 生態系統
熟悉 Cortex-M4 MCU 環境的開發人員能輕松實現他們的目標,因為他們能夠使用相同的 STM32Cube 工具套件,包括基于 GCC 的 IDE、STM32CubeProgrammer 和STM32CubeMX。此外,這款套件還配有 DRAM 接口調試工具,可以輕松配置 DRAM 子系統。
面向 Cortex-A7 內核進行開發時,ST 通過使用主流的開源 OpenSTLinux發行版進行開發,幫助用戶消除潛在的障礙,確保應用軟件移植的簡便性和快速性。
二、STM32MPU嵌入式軟件架構先給大家看一下官方給的基于STM32MP1的架構圖:

從圖中可以看出,嵌入式軟件主要分為兩大類:
1.STM32Cube MPU軟件包
STM32Cube MPU軟件包主要針對于Cortex-M4,基于HAL驅動程序和中間件,像其他的STM32微控制器,以完成協處理器管理。
2.OpenSTLinux
開源OpenSTLinux主要針對于Cortex-A7,主要包含兩大類:
OpenSTLinux BSP:班級支持包
application frameworks:應用框架
上面內容是一個整體框架,如果將其進一步細分,里面包含的內容還有很多,下面章節有針對性講述一些相關內容。
三、STM32Cube MP1包架構
如果使用過,或者學習過STM32CubeMX開發的朋友,應該對STM32Cube包不陌生。

這里主要分為了四大塊: 1.Hardware硬件層這一塊很簡單,就是硬件板卡等。 2.Level 0驅動層(Drivers) 這里分為三個軟件組件:HAL:Hardware Abstraction Layer,硬件抽象層LL:Low Layer,低層驅動BSP:oard Support Package,板級支持包 3.Level 1中間層(Middlewares)中間件組件是一組提供一組服務的庫。STM32Cube MP1包提供2個主要組件:FreeRTOS和OpenAMP。FreeRTOS:是一個免費的實時操作系統(RTOS)。
OpenAMP:是一個實現遠程處理器服務框架(RPMsg)的庫,它是一種與遠程處理器通信的消息傳遞機制。
4.Level 2板卡示例層
主要是一些參考示例代碼,初學的是時候可以參考。
四、U-Boot引導順序從上面的嵌入式軟件架構可以看得出來,OpenSTLinux里面包含的內容比較多,本文講述其中的一個U-Boot. 1.通用啟動順序通用U-Boot的引導順序如下:

ROM代碼最基本的一段代碼,初始化時鐘樹,加載FSBL程序等。 第一階段引導加載程序(FSBL)初始化(部分)時鐘樹和外部RAM控制器。最后,FSBL將第二階段引導加載程序(SSBL)加載到外部RAM中并跳轉到它。
第二階段引導加載程序(SSBL)
SSBL在更大的RAM中運行,因此它可以實現復雜的功能(USB,以太網,顯示器等),這對于使Linux內核加載更加靈活非常有用(從Flash設備,網絡等),用戶友好(向用戶顯示啟動畫面)。
Linux內核空間
Linux內核在外部存儲器中啟動,它初始化平臺上所需的所有外設驅動程序。
Linux用戶空間
最后,Linux內核將控制權交給用戶空間,啟動init進程,該進程運行根文件系統(rootfs)中描述的所有初始化操作,包括向用戶公開用戶界面(UI)的應用程序框架等。
2.STM32MP啟動順序
針對于STM32MP,官方也給了兩種啟動方式:可信引導、基本引導。
可信引導

基本引導

-
STM32
+關注
關注
2309文章
11162瀏覽量
373399 -
MPU
+關注
關注
0文章
454瀏覽量
51318 -
u-boot
+關注
關注
0文章
135瀏覽量
39747
發布評論請先 登錄
STM32MP257F-EV1評估板深度解析與技術應用指南
?STM32MP257F-DK探索套件技術解析與應用指南
【今晚7點半】正點原子 x STM32:智能加速邊緣AI應用開發!今晚正點原子B站直播間等你
像STM32一樣輕松玩轉 MPU!RT-Thread 睿擎平臺 Workshop 上海站開啟硬核實戰!下一城?你定!
STM32H7的MPU配置與D-Cache沖突如何解決???
請問v2.0.0版本STEdgeAI-Core是否支持stm32mp2 compoment?
基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器實例打包下載
MPU開發太難?睿擎平臺讓您像STM32開發一樣簡單——試用評測活動啟動
開源+安全雙引擎!STM32MPU白皮書解鎖可信系統構建新范式
STM32MPU和OpenSTLinux你了解多少?
評論