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