米爾基于STM32MP135開發(fā)板裸機(jī)開發(fā)應(yīng)用筆記,MCU友好過渡MPU
以前微處理器(MPU)與微控制器(MCU)是截然不同的兩種設(shè)備,MPU支持豐富的軟件系統(tǒng),如Linux和相關(guān)的軟件堆棧,而MCU通常將專注于裸機(jī)和RTOS。近年來,隨著MCU的性能越來越高,MCU和MPU之間的區(qū)別變得越來越模糊。
STM32MP135是一款入門級的高性價比MPU,適用于MCU性能達(dá)不到要求或者需要跑Linux的場景。米爾的STM32MP135開發(fā)板提供基于STM32Cube的Bare metal裸機(jī)開發(fā)的軟件,能夠進(jìn)一步加強(qiáng)實時性能支持以滿足用戶實現(xiàn)硬實時應(yīng)用的需求。這一點尤其對習(xí)慣于使用MCU開發(fā)的用戶來說非常友好,可以讓開發(fā)者在使用MPU強(qiáng)大性能的同時獲得類似MCU的開發(fā)體驗。米爾提供了支持裸機(jī)開發(fā)環(huán)境,接下來就讓我們介紹如何在米爾的STM32MP135開發(fā)板上進(jìn)行裸機(jī)開發(fā)。
米爾基于STM32MP135核心板及開發(fā)板
1.環(huán)境搭建
1.1. 獲取源碼
下載米爾提供的 04_Sources/STM32CubeMP13-1.0.0源碼包,并使用 STM32CubeIDE 導(dǎo)入STM32Cube_FW_MP13_V1.0.0\Projects\STM32MP135C-DK\Examples\DDR\DDR_Init文件,點擊File->Import->Existing Projects into Workspace。
1.2. 編譯源碼
成功導(dǎo)入工程后進(jìn)行編譯,點擊進(jìn)行編譯,當(dāng)下方出現(xiàn)0 errors, 0 warnings表示編譯成功。
1.3. 開發(fā)板接線
當(dāng)工程源碼編譯完后,開發(fā)板需要連接ST-Link進(jìn)行調(diào)試,并且將撥碼開關(guān)撥到工程模式1-4:1000,用到的接口是J7,由于出廠時沒有將引腳焊接,需要用戶自行焊接,接線方式如下圖:
1.4. 調(diào)試工程
在2.3中編譯完后,接下來進(jìn)行調(diào)試的操作,點擊調(diào)試,如圖:
進(jìn)入到界面之后點擊全速運行,看到開發(fā)板的藍(lán)燈在閃爍說明ddr初始化成功:
2. 應(yīng)用加載
2.1. 應(yīng)用環(huán)境配置
在初始化完ddr后,接下來就是讓應(yīng)用程序跑在ddr上,這里我們選用MYD-YF13X-20230601\STM32CubeMP13-1.0.0\Projects\STM32MP135C-DK\Templates\BSP_BasicTemplates路徑下的工程應(yīng)用:
根據(jù)1.1中的方法導(dǎo)入工程,看到工程成功導(dǎo)入之后,右鍵點擊工程文件名,然后點擊properties:
在執(zhí)行以上操作后彈出Enter Value后添加USE_DDR字符并保存:
繼續(xù)右鍵點擊工程文件名,然后點擊properties:
按照以上步驟打開STM32CubeMP13-1.0.0\Projects\STM32MP135C-DK\Templates\BSP_BasicTemplates\STM32CubeIDE\MP13_BSP_BasicTemplates路徑下的stm32mp13xx_a7_sysram.ld文件:
將REGION_ALIAS("RAM", DDR_BASE);部分的注釋刪除,再把REGION_ALIAS("RAM", SYSRAM_BASE)給注釋掉,保存并選中:
2.2. 調(diào)試應(yīng)用
將以上環(huán)境配置完成之后,在應(yīng)用調(diào)試階段也需要進(jìn)行一個配置,打開工程的調(diào)試設(shè)置界面,點擊startup,將monitor reset刪除,保存并調(diào)試:
將開發(fā)板接上串口,全速運行,串口會打印Hello World - USE_STM32MP135 BOARD,至此應(yīng)用調(diào)試成功。
?
3. 創(chuàng)建應(yīng)用
3.1. 適配硬件
以米爾MYD-YF13x開發(fā)板上的心跳燈為例,首先要確定心跳燈用到的GPIO口。查看硬件原理圖可以看到心跳燈連接的是SPI5_MOSI:
通過查看米爾的Pin List可知道SPI5_MOSI對應(yīng)的引腳是PH12,那么接下來就開始創(chuàng)建工程來配置心跳燈的閃爍。
3.2. 工程創(chuàng)建
米爾創(chuàng)建的工程位于STM32CubeMP13-1.0.0\Projects\STM32MP135C-DK\Examples\GPIO\GPIO_EXTI路徑下,根據(jù)1.1中的方法導(dǎo)入工程,如下:
開始對心跳燈進(jìn)行配置,修改stm32mp13xx_disco.h里的心跳燈引腳配置:
修改完后回到main.c文件里在while函數(shù)中添加心跳燈的代碼:
編譯并調(diào)試后,讓程序全速運行,可以看到開發(fā)板上的藍(lán)燈閃爍:
至此創(chuàng)建的工程調(diào)試成功。
產(chǎn)品介紹
米爾STM32MP135開發(fā)板,基于STM32MP13系列處理器,單核 Cortex-A7 設(shè)計,運行頻率高達(dá)1GHz,專為入門級Linux、裸機(jī)或RTOS系統(tǒng)設(shè)計。開發(fā)板采用12V/2A直流供電,搭載了2路千兆以太網(wǎng)接口、1路USB2.0協(xié)議MINI PCIE插座的4G模塊接口、1路RGB顯示接口、1路音頻輸入輸出接口、2路USB HOST Type A、1路 USB OTG Type-C接口、1路Micro SD接口等。開發(fā)板接口豐富,適用于能源電力、工業(yè)控制、工業(yè)網(wǎng)關(guān)、工業(yè)HMI等場景。
產(chǎn)品鏈接:https://www.myir.cn/shows/110/57.html
提交
海思Hi3093工控MPU-米爾嵌入式核心板開發(fā)板
米爾RZ/G2L開發(fā)板瑞米派雙核A55Remi Pi學(xué)習(xí)板兼容樹莓派擴(kuò)展模塊
米爾電子芯馳系列-D9-pro處理器D9360商顯板-國產(chǎn)六核CPU
米爾首發(fā)-全志T527核心板-國產(chǎn)開發(fā)板,8核A55賦能邊緣計算
米爾電子 瑞薩系列-RZ/G2UL核心板,通用64位工業(yè)MPU