0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32也能輕松跑Linux了 !STM32MP135開發(fā)板評測

米爾電子 ? 2023-07-31 22:09 ? 次閱讀

本篇測評由優(yōu)秀測評者“strongerHuang”提供。


上個(gè)月,意法半導(dǎo)體推出了新一代64位Cortex-A35內(nèi)核,主頻高達(dá)1.5GHz的STM32MP2x系列微處理器(MPU),這讓STM32MP系列處理器又上了一個(gè)新的臺階。

最近,收到了一套米爾基于STM32MP135核心板及開發(fā)板,首次接觸STM32MPx處理器,體驗(yàn)了一下,感覺還不錯(cuò)。

de89e9ec-2fab-11ee-bbcf-dac502259ad0.png

STM32MP135與普通STM32單片機(jī)在性能、價(jià)格、應(yīng)用場景等各方面都有差異。同時(shí),STM32MP135并非局限于裸機(jī)、RTOS,而是定位于更高的Linux操作系統(tǒng)平臺。

下面就結(jié)合【米爾基于STM32MP135核心板及開發(fā)板】給大家講解一下STM32MP135強(qiáng)悍的性能以及開發(fā)入門等相關(guān)的內(nèi)容。

硬件平臺介紹

STM32MP135的開發(fā)板有很多,這里就以米爾的【米爾基于STM32MP135核心板及開發(fā)板】為例來給大家講述。

1、STM32MP135處理器

STM32MP135內(nèi)核采用Cortex-A7,主頻高達(dá)1.0GHz,屬于入門級的MPU,擁有超高的性價(jià)比。

2、米爾基于STM32MP135核心板

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

dec7d75c-2fab-11ee-bbcf-dac502259ad0.png?

應(yīng)用方向:充電樁、電池管理、能源管理的方向。

3、米爾基于STM32MP135底板

米爾基于STM32MP135底板的外設(shè)資源以及接口就比較豐富和多樣了。直接給出官方的信息:

deebd12a-2fab-11ee-bbcf-dac502259ad0.png

輕松入門

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

deffb5b4-2fab-11ee-bbcf-dac502259ad0.png?

在STM32MP135(MYD-YF13X)平臺上跑Linux相比于普通STM32跑RTOS要復(fù)雜一點(diǎn),需要具備一定的相關(guān)基礎(chǔ)知識才行。
當(dāng)然,米爾也針對新手提供了配套的手把手教程,能讓你快速入門。

開發(fā)介紹

MYD-YF13X 搭載基于 Linux 5.15.67 版本內(nèi)核的操作系統(tǒng),提供了豐富的系統(tǒng)資源和其他軟件資源。Linux 系統(tǒng)平臺上有許多開源的系統(tǒng)構(gòu)建框架,米爾核心板基于Yocto 構(gòu)建和定制化開發(fā)。

1、開發(fā)環(huán)境

·Linux開發(fā)主機(jī):Debian, Ubuntu, RHEL等。

·ST配套工具:STM32CubeProg、STM32CubeMX

·安裝米爾定制的 SDK

2、構(gòu)建開發(fā)板鏡像

第1步:獲取源碼

可以從米爾提供鏈接獲取源碼。
也可以從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平臺,也可以在Linux平臺。提示:燒錄的時(shí)間可能有點(diǎn)久,需要耐心等待一會兒。
當(dāng)然,如果覺得慢,也可以用SD卡啟動(dòng)(燒寫)。

4、修改板級支持包

這一節(jié)應(yīng)該是相對比較重要的,也是相對比較難的,包括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è)配置可能相對比較復(fù)雜,編譯時(shí)間也相對較長,具體可以參看官方手冊。

5、適配硬件平臺

這一節(jié)就是芯片底層相關(guān)的適配(驅(qū)動(dòng)),包括創(chuàng)建設(shè)備樹、利用STM32CubeMX 配置GPIO、外設(shè)時(shí)鐘等,以及配置自己用到的管腳。
然后,就是添加自己的一些應(yīng)用了。到此,基本達(dá)到入門這一步了。

最后

如果你想從STM32單片機(jī)裸機(jī)、RTOS進(jìn)階到Linux,這款STM32MP135【MYC-YF13X開發(fā)板】是一個(gè)不錯(cuò)的選擇。同時(shí),也會用到一些熟悉的生態(tài)工具。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11379

    瀏覽量

    211350
  • STM32
    +關(guān)注

    關(guān)注

    2277

    文章

    10952

    瀏覽量

    359244
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5221

    瀏覽量

    99192
收藏 人收藏

    評論

    相關(guān)推薦

    STM32CubeMX生成STM32mp135D的USART1,2,3,6代碼初始化是空的,為什么?

    HAL_USART_Receive_IT接口無法觸發(fā)中斷。請問下STM32MP135的HAL庫中,USART的部分代碼是不是有缺陷,不能使用?
    發(fā)表于 03-07 07:48

    STM32開發(fā)板教程之STM32開發(fā)指南免費(fèi)下載

    介紹幾個(gè)常用的系統(tǒng)文件(程序);3,實(shí)戰(zhàn)篇,主要通過 56 個(gè)實(shí)例(絕大部分是直接操作寄存器完成的)帶領(lǐng)大家一步步深入 STM32 的學(xué)習(xí)。   本指南為 ALIENTEK 戰(zhàn)艦 STM32
    發(fā)表于 02-28 09:08 ?176次下載

    STM32MP25x開發(fā)板Bring Up培訓(xùn)課程(下)

    STM32MP25x開發(fā)板BringUp培訓(xùn)課程(上)STM32MP25x開發(fā)板BringUp培訓(xùn)課程(中)米爾基于STM32MP257核心
    的頭像 發(fā)表于 02-27 08:03 ?273次閱讀
    <b class='flag-5'>STM32MP</b>25x<b class='flag-5'>開發(fā)板</b>Bring Up培訓(xùn)課程(下)

    STM32MP25x開發(fā)板Bring Up培訓(xùn)課程(中)

    STM32MP25x開發(fā)板BringUp培訓(xùn)課程(上)米爾基于STM32MP257核心開發(fā)板2.修改設(shè)備樹查看生成的Bringup工程空
    的頭像 發(fā)表于 02-20 08:06 ?220次閱讀
    <b class='flag-5'>STM32MP</b>25x<b class='flag-5'>開發(fā)板</b>Bring Up培訓(xùn)課程(中)

    ST×米爾STM32MP25x線下培訓(xùn)會

    STM32MP257D是ST推出的搭載雙核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微處理器。米爾電子基于STM32MP257D推出了MYD-LD25X開發(fā)板
    的頭像 發(fā)表于 12-06 01:00 ?414次閱讀
    ST×米爾<b class='flag-5'>STM32MP</b>25x線下培訓(xùn)會

    正點(diǎn)原子的stm32開發(fā)板能用stlink嗎

    在嵌入式開發(fā)領(lǐng)域,STM32系列微控制器因其高性能、低成本和廣泛的應(yīng)用場景而廣受歡迎。正點(diǎn)原子(ZYBO)作為國內(nèi)知名的嵌入式開發(fā)板供應(yīng)商,提供多種基于
    的頭像 發(fā)表于 11-13 09:21 ?1215次閱讀

    【新品】“億”點(diǎn)震撼!Linux嵌入式STM32MP13工業(yè)核心

    新增產(chǎn)品線??!億佰特此前新推出了ECK系列核心產(chǎn)品,設(shè)計(jì)等級高于普通開發(fā)板??!ECK10-13xA系列核心是基于意法半導(dǎo)體推出的STM32MP13系列處理器精心設(shè)計(jì)的,采用郵票孔連
    的頭像 發(fā)表于 09-13 08:05 ?662次閱讀
    【新品】“億”點(diǎn)震撼!<b class='flag-5'>Linux</b>嵌入式<b class='flag-5'>STM32MP</b>13工業(yè)核心<b class='flag-5'>板</b>

    【北京迅為】《stm32mp157開發(fā)板嵌入式linux開發(fā)指南》第五章 Ubuntu使用apt-get下載

    【北京迅為】《stm32mp157開發(fā)板嵌入式linux開發(fā)指南》第五章 Ubuntu使用apt-get下載
    的頭像 發(fā)表于 09-03 16:26 ?937次閱讀
    【北京迅為】《<b class='flag-5'>stm32mp</b>157<b class='flag-5'>開發(fā)板</b>嵌入式<b class='flag-5'>linux</b><b class='flag-5'>開發(fā)</b>指南》第五章 Ubuntu使用apt-get下載

    stm32mp135d的板子可不可以tensorflow的模型啊?

    請問是stm32mp135d的板子可不可以tensorflow的模型啊?
    發(fā)表于 07-18 06:49

    stm32mp135 starter package啟動(dòng)后屏幕不顯示是怎么回事?

    /FlashLayout_sdcard_stm32mp135f-dk-optee.tsv 啟動(dòng)后成功通過apt安裝x-linux-ai并得到 root@stm32mp1:~# x-linux
    發(fā)表于 07-18 06:09

    STM32MP135DAE7進(jìn)行編譯測試,結(jié)果有報(bào)錯(cuò),無法進(jìn)uboot的原因?

    第一部分:平臺描述開發(fā)板:正點(diǎn)原子ATK-DLMP135 MPU:STM32MP135DAE7 DDR:512MB DDR3L SDK
    發(fā)表于 07-04 07:40

    使用STM32MP135驅(qū)動(dòng)2.4寸 LCD屏幕,刷新率巨低為什么?

    使用STM32MP135 驅(qū)動(dòng)2.4寸 LCD屏幕,刷新率巨低; 測試條件:(HAL庫) 1、硬件SPI;2、IO操作使用寄存器配置;3、SPI時(shí)鐘達(dá)到16M; SPI配置如下: IO操作配置如下: 之前使用MCU操作,刷新率都沒有這么低; 實(shí)際現(xiàn)象(連拍兩張): 求壇友們,指教一二
    發(fā)表于 05-20 06:51

    STM32MP135 linux SPI多字節(jié)時(shí)鐘連續(xù)沒有間隔是怎么回事?

    使用STM32MP135作為SPI主機(jī)通訊時(shí),由于SPI從設(shè)備速度慢,數(shù)據(jù)字節(jié)之間的時(shí)鐘間隔要大于等于半個(gè)時(shí)鐘周期;嘗試設(shè)置struct spi_ioc_transfer-&gt;word_delay_usecs參數(shù)發(fā)現(xiàn)沒有時(shí)鐘間隔,應(yīng)該怎么辦? 正常時(shí)序圖 有問題的時(shí)序
    發(fā)表于 05-20 06:30

    MCU友好過渡MPU,米爾基于STM32MP135開發(fā)板裸機(jī)開發(fā)應(yīng)用筆記

    和MPU之間的區(qū)別變得越來越模糊。STM32MP135是一款入門級的高性價(jià)比MPU,適用于MCU性能達(dá)不到要求或者需要Linux的場景。米爾的STM32MP135
    發(fā)表于 03-29 18:35

    不是高性能MCU用不起,而是MP135更具性價(jià)比

    和MPU之間的區(qū)別變得越來越模糊。STM32MP135是一款入門級的高性價(jià)比MPU,適用于MCU性能達(dá)不到要求或者需要Linux的場景。米爾的STM32MP135
    的頭像 發(fā)表于 03-29 08:01 ?1551次閱讀
    不是高性能MCU用不起,而是<b class='flag-5'>MP135</b>裸<b class='flag-5'>跑</b>更具性價(jià)比