本文將以Myirtech的MYD-YF13X以及STM32MP135F-DK為例,講解如何使用STM32CubeMX結(jié)合Developer package實(shí)現(xiàn)最小系統(tǒng)啟動(dòng)。
1.開發(fā)準(zhǔn)備
1.1 Developer package準(zhǔn)備
a.Developer package下載,https://www.st.com/en/embedded-software/stm32mp1dev.html
b.解壓后進(jìn)入source目錄:
c.源碼準(zhǔn)備(可以根據(jù)每一個(gè)source目錄下的README.HOW_TO.txt中第三點(diǎn)準(zhǔn)備):
- TFA源碼
- OP-TEE源碼
- U-Boot源碼
- Kernel源碼
1.2 SDK安裝
請(qǐng)閱讀WIKI完成 Install_the_SDK。
1.3 STM32CubeProgrammer安裝
請(qǐng)根據(jù)WIKI給出的命令/步驟安裝 CubeProgrammer and libusb installation。
2.原理框圖
首先看一下Myirtech的原理圖框架:
從原理框圖中可以得出以下硬件配置信息:
1.STM32MP135DAF7
2.DDR3L
3.分離式電源設(shè)計(jì)
5.雙千兆以太網(wǎng)口
6.USB Host
7.USB OTG (燒錄用)
8.UART4 debug串口
9.外部時(shí)鐘源,HSE(24MHz),LSE(32.768KHz)
3. STM32CubeMX項(xiàng)目創(chuàng)建
打開STM32CubeMX, 根據(jù)芯片的part number選擇正確的芯片封裝開始項(xiàng)目創(chuàng)建,例如:Myirtech使用的是STM32MP135DAF7,
點(diǎn)擊“Generate Code”之后會(huì)生成一個(gè)近乎空的project,設(shè)備樹結(jié)構(gòu):
Note: STM32CubeMX的規(guī)則是先生成Kernel的dts, 然后將生成的dts文件拷貝到u-boot目錄下,也就是說u-boot的設(shè)備樹stm32mp135d-myir_bring_up-mx.dts是從kernel目錄拷貝過來的,所以在U-Boot階段修改設(shè)備樹,添加User code時(shí),請(qǐng)同步修改kernel的設(shè)備樹或者將修改好的設(shè)備樹拷貝到Kernel目錄,防止下次使用CubeMX生成設(shè)備樹的時(shí)候,u-boot部分的修改被kernel未修改的設(shè)備樹覆蓋。
創(chuàng)建設(shè)備樹軟鏈接:
TFA:
OP-TEE:
U-Boot:
4. SD卡啟動(dòng)
SD卡部分的設(shè)計(jì)一半有兩種情況,第一種是像STM32MP157C-EV1的設(shè)計(jì),SD卡槽接口與MP1之間通過level shifter連接,這種設(shè)計(jì)的目的是可以是SD卡運(yùn)行在高速模式下:
基于此種硬件設(shè)計(jì),相應(yīng)的STM32CubeMX部分的設(shè)計(jì)以及user code部分應(yīng)參考STM32MP157C-EV1的設(shè)備樹:
第二種設(shè)計(jì)是MP1直接連接SD卡卡槽,如STM32MP135F-DK板的設(shè)計(jì),Myir板子也是同樣的設(shè)計(jì):
相應(yīng)的STM32CubeMX設(shè)計(jì)與user code配置如下:
添加TF-A部分user code:
編譯TFA SD,
添加U-Boot部分user code:
編譯OP-TEE, U-Boot更新FIP.
修改TSV文件,如下:
將修改好的TSV文件copy到myir_fip目錄下,燒錄:
燒錄成功后,串口輸出如下:
斷電,將撥碼開關(guān)切換到SD卡啟動(dòng):
<未完待續(xù)>
米爾MYC-YF13X核心板及開發(fā)板,基于STM32MP135高性價(jià)比入門級(jí)MPU設(shè)計(jì)平臺(tái),基于STM32MP135新一代通用工業(yè)級(jí)MPU,單核Cortex-A7@1.0GHz,具有極高的性價(jià)比;支持2個(gè)千兆以太網(wǎng)接口、 2個(gè)CAN FD接口、 2個(gè) USB2.0接口、8個(gè)UART接口;標(biāo)準(zhǔn)配置支持256M Nand Flash/256M DDR和4GB eMMC/512M DDR兩種;核心板采用郵票孔方式連接,尺寸為37mmx39mm,148 PIN。適用于電源管理、工業(yè)HMI、工業(yè)控制、智能家居、工業(yè)網(wǎng)關(guān)、零售設(shè)備等行業(yè)。