以前微處理器(MPU)與微控制器(MCU)是截然不同的兩種設備,MPU支持豐富的軟件系統,如Linux和相關的軟件堆棧,而MCU通常將專注于裸機和RTOS。近年來,隨著MCU的性能越來越高,MCU和MPU之間的區別變得越來越模糊。 STM32MP135是一款入門級的高性價比MPU,適用于MCU性能達不到要求或者需要跑Linux的場景。米爾的STM32MP135開發板提供基于STM32Cube的Bare metal裸機開發的軟件,能夠進一步加強實時性能支持以滿足用戶實現硬實時應用的需求。這一點尤其對習慣于使用MCU開發的用戶來說非常友好,可以讓開發者在使用MPU強大性能的同時獲得類似MCU的開發體驗。米爾提供了支持裸機開發環境,接下來就讓我們介紹如何在米爾的STM32MP135開發板上進行裸機開發。
1.環境搭建 1.1.獲取源碼 下載米爾提供的04_Sources/STM32CubeMP13-1.0.0源碼包,并使用 STM32CubeIDE導入STM32Cube_FW_MP13_V1.0.0ProjectsSTM32MP135C-DKExamplesDDRDDR_Init文件,點擊File->Import->Existing Projects into Workspace。 1.2.編譯源碼 成功導入工程后進行編譯,點擊進行編譯,當下方出現0 errors, 0 warnings表示編譯成功。 1.3.開發板接線 當工程源碼編譯完后,開發板需要連接ST-Link進行調試,并且將撥碼開關撥到工程模式1-4:1000,用到的接口是J7,由于出廠時沒有將引腳焊接,需要用戶自行焊接,接線方式如下圖: 1.4.調試工程 在2.3中編譯完后,接下來進行調試的操作,點擊 調試,如圖:
2.應用加載 2.1.應用環境配置 在初始化完ddr后,接下來就是讓應用程序跑在ddr上,這里我們選用MYD-YF13X-20230601STM32CubeMP13-1.0.0ProjectsSTM32MP135C-DKTemplatesBSP_BasicTemplates路徑下的工程應用:
2.2.調試應用 將以上環境配置完成之后,在應用調試階段也需要進行一個配置,打開工程的調試設置界面,點擊startup,將monitor reset刪除,保存并調試:
將開發板接上串口,全速運行,串口會打印Hello World - USE_STM32MP135 BOARD,至此應用調試成功。
3.創建應用 3.1.適配硬件 以米爾MYD-YF13x開發板上的心跳燈為例,首先要確定心跳燈用到的GPIO口。查看硬件原理圖可以看到心跳燈連接的是SPI5_MOSI: 通過查看米爾的Pin List可知道SPI5_MOSI對應的引腳是PH12,那么接下來就開始創建工程來配置心跳燈的閃爍。 3.2.工程創建 米爾創建的工程位于STM32CubeMP13-1.0.0ProjectsSTM32MP135C-DKExamplesGPIOGPIO_EXTI路徑下,根據1.1中的方法導入工程,如下: 開始對心跳燈進行配置,修改stm32mp13xx_disco.h里的心跳燈引腳配置:
修改完后回到main.c文件里在while函數中添加心跳燈的代碼: 編譯并調試后,讓程序全速運行,可以看到開發板上的藍燈閃爍:
至此創建的工程調試成功。
產品介紹 米爾STM32MP135開發板,基于STM32MP13系列處理器,單核Cortex-A7 設計,運行頻率高達1GHz,專為入門級Linux、裸機或RTOS系統設計。開發板采用12V/2A直流供電,搭載了2路千兆以太網接口、1路USB2.0協議MINI PCIE插座的4G模塊接口、1路RGB顯示接口、1路音頻輸入輸出接口、2路USB HOST Type A、1路 USB OTG Type-C接口、1路Micro SD接口等。開發板接口豐富,適用于能源電力、工業控制、工業網關、工業HMI等場景。
|