本文將以Myirtech的MYD-YF13X以及STM32MP135F-DK為例,講解如何使用STM32CubeMX結(jié)合Developer package實(shí)現(xiàn)最小系統(tǒng)啟動(dòng)。

1.開(kāi)發(fā)準(zhǔn)備1.1 Developerpackage準(zhǔn)備
a.Developer package.解壓后進(jìn)入source目錄:
c.源碼準(zhǔn)備(可以根據(jù)每一個(gè)source目錄下的README.HOW_TO.txt中第三點(diǎn)準(zhǔn)備):
- TFA源碼
$> cd tf-a-stm32mp-v2.6-stm32mp-r2-r0 $> tar xf tf-a-stm32mp-v2.6-stm32mp-r2-r0.tar.xz$> cd tf-a-stm32mp-v2.6-stm32mp-r2$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done
- OP-TEE源碼
$> cd optee-os-stm32mp-3.16.0-stm32mp-r2-r0$> tar xf optee-os-stm32mp-3.16.0-stm32mp-r2-r0.tar.xz$> cd optee-os-stm32mp-3.16.0-stm32mp-r2$> tar xf ../fonts.tar.gz$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done
- U-Boot源碼
$> cd u-boot-stm32mp-v2021.10-stm32mp-r2-r0$> tar xf u-boot-stm32mp-v2021.10-stm32mp-r2-r0.tar.xz$> cd u-boot-stm32mp-v2021.10-stm32mp-r2$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done?
- Kernel源碼
$> cd linux-stm32mp-5.15.67-stm32mp-r2-r0$> tar xf linux-5.15.67.tar.xz$> cd linux-5.15.67$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done
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ì)
4.支持QSPI NAND,SD卡啟動(dòng)
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)建
打開(kāi)STM32CubeMX, 根據(jù)芯片的part number選擇正確的芯片封裝開(kāi)始項(xiàng)目創(chuàng)建,例如:Myirtech使用的是STM32MP135DAF7,

點(diǎn)擊“Generate Code”之后會(huì)生成一個(gè)近乎空的project,設(shè)備樹(shù)結(jié)構(gòu):
Note:STM32CubeMX的規(guī)則是先生成Kernel的dts, 然后將生成的dts文件拷貝到u-boot目錄下,也就是說(shuō)u-boot的設(shè)備樹(shù)stm32mp135d-myir_bring_up-mx.dts是從kernel目錄拷貝過(guò)來(lái)的,所以在U-Boot階段修改設(shè)備樹(shù),添加User code時(shí),請(qǐng)同步修改kernel的設(shè)備樹(shù)或者將修改好的設(shè)備樹(shù)拷貝到Kernel目錄,防止下次使用CubeMX生成設(shè)備樹(shù)的時(shí)候,u-boot部分的修改被kernel未修改的設(shè)備樹(shù)覆蓋。
創(chuàng)建設(shè)備樹(shù)軟鏈接:
- TFA:
PC$> cd PC $>ln -s /local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/tf-a/* fdts/
- OP-TEE:
PC$> cd PC $>ln -s /local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/optee-os/* core/arch/arm/dts/
- U-Boot:
PC$> cd PC $>ln -s /local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/u-boot/* arch/arm/dts/
培訓(xùn)資料未完,請(qǐng)關(guān)注下一期文章。
-
STM32
+關(guān)注
關(guān)注
2313文章
11195瀏覽量
374754 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
26文章
6433瀏覽量
121217 -
米爾
+關(guān)注
關(guān)注
0文章
56瀏覽量
8445
發(fā)布評(píng)論請(qǐng)先 登錄
新品!從MINI到工業(yè)板:米爾T153開(kāi)發(fā)板工業(yè)場(chǎng)景全覆蓋
【遠(yuǎn)程/外協(xié)】尋求嵌入式 Linux 高手:解決 STM32MP135 PTP 授時(shí)與 SPI 高速通訊瓶頸
STM32 Nucleo-64開(kāi)發(fā)板技術(shù)解析與應(yīng)用指南
STM32 Nucleo-144開(kāi)發(fā)板技術(shù)解析與應(yīng)用指南
?STM32 Nucleo-64開(kāi)發(fā)板技術(shù)解析與應(yīng)用指南
如何移植EtherCAT Igh--基于米爾RK3576開(kāi)發(fā)板
STM32CubeIDE報(bào)錯(cuò)編譯STM32MP135(Projects\\STM32MP135C-DK\\External_Loader)的原因?
【米爾-STM32MP257開(kāi)發(fā)板試用體驗(yàn)】——測(cè)試米爾-STM32MP257開(kāi)發(fā)板外設(shè)功能
如何部署流媒體服務(wù)實(shí)現(xiàn)監(jiān)控功能--基于米爾TI AM62x開(kāi)發(fā)板
米爾STM32MP25系列產(chǎn)品榮獲“2024‘物聯(lián)之星’創(chuàng)新產(chǎn)品獎(jiǎng)”
基于米爾全志T536開(kāi)發(fā)板的多協(xié)議物聯(lián)網(wǎng)關(guān)的方案測(cè)試
【正點(diǎn)原子STM32MP257開(kāi)發(fā)板試用】+ STM32MP257開(kāi)發(fā)板開(kāi)箱評(píng)測(cè)
有獎(jiǎng)丨米爾 NXP i.MX91開(kāi)發(fā)板免費(fèi)試用來(lái)啦
基于米爾全志T536開(kāi)發(fā)板的視頻識(shí)別應(yīng)用方案
ST官方基于米爾STM32MP135開(kāi)發(fā)板培訓(xùn)課程(一)
評(píng)論