STM32也能輕松跑Linux了 !米爾STM32MP135核心板開(kāi)發(fā)板體驗(yàn)
上個(gè)月,意法半導(dǎo)體推出了新一代64位Cortex-A35內(nèi)核,主頻高達(dá)1.5GHz的STM32MP2x系列微處理器(MPU),這讓STM32MP系列處理器又上了一個(gè)新的臺(tái)階。
最近,收到了一套米爾基于STM32MP135核心板及開(kāi)發(fā)板,首次接觸STM32MPx處理器,體驗(yàn)了一下,感覺(jué)還不錯(cuò)。

下面就結(jié)合【米爾基于STM32MP135核心板及開(kāi)發(fā)板】給大家講解一下STM32MP135強(qiáng)悍的性能以及開(kāi)發(fā)入門等相關(guān)的內(nèi)容。
硬件平臺(tái)介紹
STM32MP135的開(kāi)發(fā)板有很多,這里就以米爾的【米爾基于STM32MP135核心板及開(kāi)發(fā)板】為例來(lái)給大家講述。
1、STM32MP135處理器
STM32MP135內(nèi)核采用Cortex-A7,主頻高達(dá)1.0GHz,屬于入門級(jí)的MPU,擁有超高的性價(jià)比。

2、米爾基于STM32MP135核心板
米爾基于STM32MP135核心板主控位STM32MP135處理器,搭載DDR3L內(nèi)存、標(biāo)配4GB eMMC / 256MB Nand FLASH,以及32KB EEPROM,接口類型為郵票孔148PIN,尺寸37mm x 39mm。

應(yīng)用方向:充電樁、電池管理、能源管理的方向。
米爾基于STM32MP135核心板介紹鏈接:
https://www.myir.cn/shows/110/57.html
3、米爾基于STM32MP135底板
米爾基于STM32MP135底板的外設(shè)資源以及接口就比較豐富和多樣了。直接給出官方的信息:

?輕松入門
早在2019年,ST就推出了STM32MP1系列MPU,其強(qiáng)大的性能吸引了不少人的關(guān)注。但由于當(dāng)時(shí)配套的開(kāi)發(fā)資料以及生態(tài)不夠完善,入手學(xué)習(xí)也難住了一大批人。
米爾設(shè)計(jì)這款米爾基于STM32MP135開(kāi)發(fā)板時(shí)就考慮到了這個(gè)問(wèn)題,在推出開(kāi)發(fā)板的同時(shí)就推出了配套的開(kāi)發(fā)資料。

在STM32MP135(MYD-YF13X)平臺(tái)上跑Linux相比于普通STM32跑RTOS要復(fù)雜一點(diǎn),需要具備一定的相關(guān)基礎(chǔ)知識(shí)才行。
當(dāng)然,米爾也針對(duì)新手提供了配套的手把手教程,能讓你快速入門。
開(kāi)發(fā)介紹
MYD-YF13X 搭載基于 Linux 5.15.67 版本內(nèi)核的操作系統(tǒng),提供了豐富的系統(tǒng)資源和其他軟件資源。Linux 系統(tǒng)平臺(tái)上有許多開(kāi)源的系統(tǒng)構(gòu)建框架,米爾核心板基于Yocto 構(gòu)建和定制化開(kāi)發(fā)。
1、開(kāi)發(fā)環(huán)境
Linux開(kāi)發(fā)主機(jī):Debian, Ubuntu, RHEL等。
ST配套工具:STM32CubeProg、STM32CubeMX
安裝米爾定制的?SDK
2、構(gòu)建開(kāi)發(fā)板鏡像
第1步:獲取源碼
可以從米爾提供鏈接獲取源碼。http://down.myir-tech.com/MYD-YF13X/?
也可以從github在線獲取源碼。
PC$ mkdir $HOME/githubPC$ cd $HOME/githubPC$ repo init -u?
https://github.com/MYiR-Dev/myir-st-manifest.git --no-clone-bundle --depth=1 -m?
myir-stm32mp1-kirkstone.xml -b develop-yf13xPC$ repo sync
第2步:快速編譯鏡像
這里我們需要使用米爾提供的?envsetup.sh 腳本進(jìn)行環(huán)境變量的設(shè)置
PC$: DISTRO=openstlinux-weston MACHINE=myd-yf13x-emmc source?
layers/meta-myir-st/scripts/envsetup.sh
然后,構(gòu)建?myir-image-full 鏡像。注意,選擇構(gòu)建不同的系統(tǒng)鏡像,需使用不同的 bitbake 命令參數(shù)(具體命令參數(shù)可以參看提供的文檔)。
第3步:構(gòu)建 SDK
米爾已經(jīng)提供較完整的?SDK 安裝包,用戶可直接使用。
3、燒錄系統(tǒng)鏡像
這里使用ST官方的STM32CubeProg 工具進(jìn)行燒寫,可以在Windows平臺(tái),也可以在Linux平臺(tái)。提示:燒錄的時(shí)間可能有點(diǎn)久,需要耐心等待一會(huì)兒。
當(dāng)然,如果覺(jué)得慢,也可以用SD卡啟動(dòng)(燒寫)。
4、修改板級(jí)支持包
這一節(jié)應(yīng)該是相對(duì)比較重要的,也是相對(duì)比較難的,包括U-boot、 kernel等相關(guān)內(nèi)容的編譯與更新。
a.板載 TF-A 編譯與更新
獲取?TF-A 源代碼:
PC$ cd /home/workPC$ tar -jxvf MYiR-STM32-tf-a.tar.bz2PC$ cd MYiR-STM32-tf-a
配置和編譯源代碼:加載?SDK 環(huán)境變量到當(dāng)前 shell:
PC$ source?
/opt/st/myir-yf13x/4.0.4-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
進(jìn)入源代碼目錄:
PC$ cd myir-st-arm-trusted-firmware
配置與編譯源代碼:
PC$ make -f $PWD/../Makefile.sdk all
以上是在獨(dú)立的交叉編譯環(huán)境下編譯?TF-A,也可以在 Yocto 項(xiàng)目下編譯 TF-A。
更新?TF-A:編譯好之后,將 TF-A 鏡像燒錄進(jìn) Micro SD 卡,然后使用 dd 命令將鏡像燒錄到 SD 卡指定分區(qū):
PC$: dd if=tf-a-myb-stm32mp135x-512m-sdcard.stm32 of=/dev/mmcblk0p1?
conv=fdatasyncPC$: dd if=tf-a-myb-stm32mp135x-512m-sdcard.stm32 of=/dev/mmcblk0p2?
conv=fdatasync
b.板載 u-boot 編譯與更新
在獨(dú)立的交叉編譯環(huán)境下編譯?u-boot,和上面編譯 TF-A 類似,也是和常規(guī)的編譯?u-boot 方法類似。
c.板載 Kernel 編譯與更新
加載?SDK 環(huán)境變量:
PC$ source?
/opt/st/myir-yf13x/4.0.4-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
配置內(nèi)核:
PC$ make ARCH=arm O="$PWD/../build" myir_stm32mp135x_defconfig
編譯內(nèi)核:
PC$ make ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040?
O="$PWD/../build"PC$ make ARCH=arm modules O="$PWD/../build"
這個(gè)配置可能相對(duì)比較復(fù)雜,編譯時(shí)間也相對(duì)較長(zhǎng),具體可以參看官方手冊(cè)。
5、適配硬件平臺(tái)
這一節(jié)就是芯片底層相關(guān)的適配(驅(qū)動(dòng)),包括創(chuàng)建設(shè)備樹(shù)、利用STM32CubeMX 配置GPIO、外設(shè)時(shí)鐘等,以及配置自己用到的管腳。
然后,就是添加自己的一些應(yīng)用了。到此,基本達(dá)到入門這一步了。
?
最后
如果你想從STM32單片機(jī)裸機(jī)、RTOS進(jìn)階到Linux,這款STM32MP135【MYC-YF13X開(kāi)發(fā)板】是一個(gè)不錯(cuò)的選擇。同時(shí),也會(huì)用到一些熟悉的生態(tài)工具。
?
這里給出米爾基于STM32MP135核心板介紹:
https://www.myir.cn/shows/110/57.html
?
米爾電子,專注嵌入式處理器模塊設(shè)計(jì)和研發(fā)的高新技術(shù)企業(yè),是領(lǐng)先的嵌入式處理器模組廠商。米爾電子在嵌入式處理器領(lǐng)域具有10多年的研發(fā)經(jīng)驗(yàn),為客戶提供基于ARM架構(gòu)、FPGA架構(gòu)的CPU模組及充電控制系統(tǒng)等產(chǎn)品和服務(wù);為智能醫(yī)療、智能交通、智能安防、物聯(lián)網(wǎng)、邊緣計(jì)算、工業(yè)網(wǎng)關(guān)、人工智能等行業(yè)客戶,提供定制解決方案和OEM服務(wù)。公司通過(guò)專業(yè)高效的服務(wù)幫助客戶加速產(chǎn)品上市進(jìn)程,目前已為行業(yè)內(nèi)10000家以上的企業(yè)客戶服務(wù)。
STM32也能輕松跑Linux了 !米爾STM32MP135核心板開(kāi)發(fā)板體驗(yàn)的評(píng)論 (共 條)
