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

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

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

STM32MPU和OpenSTLinux你了解多少?

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-26 16:16 ? 次閱讀

早在2019年年初的時(shí)候,ST就發(fā)布了首款STM32MPU:STM32MP1。 STM32MP1通用微處理器產(chǎn)品系列,系基于混合的 雙Arm Cortex-A7核 和 Cortex-M4核架構(gòu)產(chǎn)品。 一、支持STM32MPU 生態(tài)系統(tǒng)

熟悉 Cortex-M4 MCU 環(huán)境的開發(fā)人員能輕松實(shí)現(xiàn)他們的目標(biāo),因?yàn)樗麄兡軌蚴褂孟嗤?STM32Cube 工具套件,包括基于 GCC 的 IDE、STM32CubeProgrammer 和STM32CubeMX。此外,這款套件還配有 DRAM 接口調(diào)試工具,可以輕松配置 DRAM 子系統(tǒng)。

面向 Cortex-A7 內(nèi)核進(jìn)行開發(fā)時(shí),ST 通過使用主流的開源 OpenSTLinux發(fā)行版進(jìn)行開發(fā),幫助用戶消除潛在的障礙,確保應(yīng)用軟件移植的簡便性和快速性。

二、STM32MPU嵌入式軟件架構(gòu)先給大家看一下官方給的基于STM32MP1的架構(gòu)圖:

從圖中可以看出,嵌入式軟件主要分為兩大類:

1.STM32Cube MPU軟件包

STM32Cube MPU軟件包主要針對(duì)于Cortex-M4,基于HAL驅(qū)動(dòng)程序和中間件,像其他的STM32微控制器,以完成協(xié)處理器管理。

2.OpenSTLinux

開源OpenSTLinux主要針對(duì)于Cortex-A7,主要包含兩大類:

OpenSTLinux BSP:班級(jí)支持包

application frameworks:應(yīng)用框架

上面內(nèi)容是一個(gè)整體框架,如果將其進(jìn)一步細(xì)分,里面包含的內(nèi)容還有很多,下面章節(jié)有針對(duì)性講述一些相關(guān)內(nèi)容。

三、STM32Cube MP1包架構(gòu)

如果使用過,或者學(xué)習(xí)過STM32CubeMX開發(fā)的朋友,應(yīng)該對(duì)STM32Cube包不陌生。

這里主要分為了四大塊: 1.Hardware硬件層這一塊很簡單,就是硬件板卡等。 2.Level 0驅(qū)動(dòng)層(Drivers) 這里分為三個(gè)軟件組件:HAL:Hardware Abstraction Layer,硬件抽象層LL:Low Layer,低層驅(qū)動(dòng)BSP:oard Support Package,板級(jí)支持包 3.Level 1中間層(Middlewares)中間件組件是一組提供一組服務(wù)的庫。STM32Cube MP1包提供2個(gè)主要組件:FreeRTOS和OpenAMP。FreeRTOS:是一個(gè)免費(fèi)的實(shí)時(shí)操作系統(tǒng)(RTOS)。

OpenAMP:是一個(gè)實(shí)現(xiàn)遠(yuǎn)程處理器服務(wù)框架(RPMsg)的庫,它是一種與遠(yuǎn)程處理器通信的消息傳遞機(jī)制。

4.Level 2板卡示例層

主要是一些參考示例代碼,初學(xué)的是時(shí)候可以參考。

四、U-Boot引導(dǎo)順序從上面的嵌入式軟件架構(gòu)可以看得出來,OpenSTLinux里面包含的內(nèi)容比較多,本文講述其中的一個(gè)U-Boot. 1.通用啟動(dòng)順序通用U-Boot的引導(dǎo)順序如下:

ROM代碼最基本的一段代碼,初始化時(shí)鐘樹,加載FSBL程序等。 第一階段引導(dǎo)加載程序(FSBL)初始化(部分)時(shí)鐘樹和外部RAM控制器。最后,F(xiàn)SBL將第二階段引導(dǎo)加載程序(SSBL)加載到外部RAM中并跳轉(zhuǎn)到它。

第二階段引導(dǎo)加載程序(SSBL)

SSBL在更大的RAM中運(yùn)行,因此它可以實(shí)現(xiàn)復(fù)雜的功能(USB,以太網(wǎng),顯示器等),這對(duì)于使Linux內(nèi)核加載更加靈活非常有用(從Flash設(shè)備,網(wǎng)絡(luò)等),用戶友好(向用戶顯示啟動(dòng)畫面)。

Linux內(nèi)核空間

Linux內(nèi)核在外部存儲(chǔ)器中啟動(dòng),它初始化平臺(tái)上所需的所有外設(shè)驅(qū)動(dòng)程序。

Linux用戶空間

最后,Linux內(nèi)核將控制權(quán)交給用戶空間,啟動(dòng)init進(jìn)程,該進(jìn)程運(yùn)行根文件系統(tǒng)(rootfs)中描述的所有初始化操作,包括向用戶公開用戶界面(UI)的應(yīng)用程序框架等。

2.STM32MP啟動(dòng)順序
針對(duì)于STM32MP,官方也給了兩種啟動(dòng)方式:可信引導(dǎo)、基本引導(dǎo)。
可信引導(dǎo)

基本引導(dǎo)

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

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    356092
  • MPU
    MPU
    +關(guān)注

    關(guān)注

    0

    文章

    359

    瀏覽量

    48806
  • u-boot
    +關(guān)注

    關(guān)注

    0

    文章

    121

    瀏覽量

    38228
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OpenST Linux,STM32 MPU生態(tài)系統(tǒng)的超級(jí)力量,或者是一個(gè)偉大的嵌入式Linux發(fā)行版的形成

    為什么ST如此關(guān)注OpenSTLinux?隨著微處理器日益成為許多集成商的秘密武器,直觀而強(qiáng)大的嵌入式Linux發(fā)行版就像一個(gè)超級(jí)大國。很多時(shí)候,決策者忘記了操作系統(tǒng)對(duì)項(xiàng)目成功的重要性。然而
    的頭像 發(fā)表于 11-20 16:02 ?422次閱讀
    OpenST Linux,<b class='flag-5'>STM32</b> <b class='flag-5'>MPU</b>生態(tài)系統(tǒng)的超級(jí)力量,或者是一個(gè)偉大的嵌入式Linux發(fā)行版的形成

    認(rèn)識(shí)貼片電阻嗎,對(duì)他了解多少?

    認(rèn)識(shí)貼片電阻嗎,對(duì)他了解多少?
    的頭像 發(fā)表于 08-27 15:49 ?475次閱讀
    <b class='flag-5'>你</b>認(rèn)識(shí)貼片電阻嗎,<b class='flag-5'>你</b>對(duì)他<b class='flag-5'>了解</b>多少?

    對(duì)村田的貼片電容器有多少了解?

    對(duì)村田的貼片電容器有多少了解?
    的頭像 發(fā)表于 08-26 17:57 ?623次閱讀
    <b class='flag-5'>你</b>對(duì)村田的貼片電容器有多少<b class='flag-5'>了解</b>?

    STM32MP157D使用buildroot生成根文件系統(tǒng)時(shí)就無法正常顯示,為什么?

    我在使用最新OpenSTLinux(5.1.0)Linux版本:6.1.28,使用官方的根文件系統(tǒng)(st-image-weston-openstlinux-weston-stm32
    發(fā)表于 07-26 06:21

    STM32mp157AAC3 1GB DDR編譯運(yùn)行報(bào)錯(cuò)的原因?

    : en.SDK-x86_64-stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz SOURCES
    發(fā)表于 07-23 06:17

    專為工業(yè)4.0應(yīng)用設(shè)計(jì),STM32MP25x MPU到底有何不同?

    《?2021-2025年中國微處理器(MPU)行業(yè)市場供需現(xiàn)狀及發(fā)展趨勢預(yù)測報(bào)告》,預(yù)計(jì)到2025年全球MPU市場規(guī)模為1200億美元,2021年-2025年期間的?年復(fù)合增長率為6.4%。 ? 在2024慕尼黑上海電子展上,電子發(fā)燒友網(wǎng)記者在意法半導(dǎo)體(ST)展臺(tái)上深入
    的頭像 發(fā)表于 07-23 00:07 ?3528次閱讀
    專為工業(yè)4.0應(yīng)用設(shè)計(jì),<b class='flag-5'>STM32</b>MP25x <b class='flag-5'>MPU</b>到底有何不同?

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

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

    有獎(jiǎng)直播 | STM32 x 米爾共同推動(dòng)工業(yè)行業(yè)應(yīng)用創(chuàng)新

    :前沿技術(shù)介紹:了解STM32MPU產(chǎn)品如何助力工業(yè)行業(yè)的數(shù)字化轉(zhuǎn)型。行業(yè)專家見解:直接從ST和米爾的專家那里獲得寶貴的行業(yè)知識(shí)和技術(shù)指導(dǎo)。互動(dòng)問答:與演講者互動(dòng),
    的頭像 發(fā)表于 05-10 08:01 ?386次閱讀
    有獎(jiǎng)直播 | <b class='flag-5'>STM32</b> x 米爾共同推動(dòng)工業(yè)行業(yè)應(yīng)用創(chuàng)新

    stm32mp157分區(qū)燒寫不進(jìn)去的原因?

    fsbl1-boot Binary none 0x0 arm-trusted-firmware/tf-a-stm32mp157c-ya157c-512d-v2-serialboot.stm32 - 0x03
    發(fā)表于 04-08 06:17

    找到一個(gè)基于stm32mpu9250的驅(qū)動(dòng)程序,能移植到GD32上嗎?

    找到一個(gè)基于stm32mpu9250的驅(qū)動(dòng)程序,能移植到GD32上嗎,需要更改哪些方面
    發(fā)表于 04-03 07:49

    STM32MP135裸機(jī)開發(fā),使用stm32IDE導(dǎo)入SDK示例無法編譯如何解決?

    1.參考鏈接:https://wiki.stmicroelectronics.cn/stm32mpu/wiki
    發(fā)表于 03-11 08:19

    STM32CubeIDE使用簽名腳本,為什么在DEBUG目錄找不到對(duì)應(yīng)的bin?

    STM32CubeIDE使用簽名腳本(STM32CubeMP13封裝 - 入門指南 - stm32mpu (stmicroelectronics.cn)) 然后構(gòu)建,打印顯示構(gòu)建成功,但是在DEBUG目錄找不到對(duì)應(yīng)的bin,同
    發(fā)表于 03-11 07:57

    STM32mp135裸機(jī)開發(fā)無法使用DDR嗎?

    針對(duì)裸機(jī)開發(fā),參考了此開發(fā)鏈接: https://wiki.stmicroelectronics.cn/stm32mpu/wiki
    發(fā)表于 03-11 07:01

    STM32燒錄鏡像到SD卡里面失敗了的原因?怎么解決?

    使用STM32Prog根據(jù)如何通過microSD卡加載和啟動(dòng)STM32CubeMP13應(yīng)用程序 - stm32mpu (stmicroelectronics.cn) 上面的操作說明,先是提示超時(shí) 再提示如圖 求大佬指點(diǎn)
    發(fā)表于 03-11 06:59

    請(qǐng)問STM32MP135怎么使用openSTlinux進(jìn)行開發(fā)?

    對(duì)于openSTLinux,完全新手,希望各位大佬有好的資料或者教程,麻煩幫忙分享一下
    發(fā)表于 03-08 06:26