91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

MYD-LD25X Cortex-M33實(shí)時核開發(fā)實(shí)戰(zhàn)解析

米爾電子 ? 2025-11-06 08:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式系統(tǒng)設(shè)計(jì)中,如何平衡高性能計(jì)算與實(shí)時控制一直是工程師面臨的挑戰(zhàn)。STM32MP257的異構(gòu)架構(gòu)為這一難題提供了優(yōu)雅的解決方案,而其中的Cortex-M33實(shí)時核更是實(shí)現(xiàn)硬實(shí)時性能的關(guān)鍵所在。

一、異構(gòu)架構(gòu):分工明確,效能卓越

STM32MP257采用創(chuàng)新的雙核子系統(tǒng)設(shè)計(jì):

Cortex-A35應(yīng)用核(雙核1.5GHz):運(yùn)行Linux系統(tǒng),負(fù)責(zé)復(fù)雜UI、網(wǎng)絡(luò)通信、文件管理等非實(shí)時任務(wù)。

Cortex-M33實(shí)時核(400MHz):專攻實(shí)時控制,具備納秒級中斷響應(yīng),集成FPU和DSP指令集。

二、架構(gòu)優(yōu)勢凸顯

硬件級資源隔離:通過RIF單元確保M33核獨(dú)占關(guān)鍵外設(shè),避免核間沖突

能效精細(xì)控制:支持獨(dú)立電源域,M33可在A核休眠時單獨(dú)運(yùn)行

安全可靠:TrustZone技術(shù),為關(guān)鍵代碼提供硬件級保護(hù)

三、OpenAMP:異構(gòu)通信的橋梁

OpenAMP是異構(gòu)系統(tǒng)中核心間消息通信的開源框架,基于RPMsg+共享內(nèi)存+中斷,讓Linux核和Cortex-M核可以可靠地傳遞消息和數(shù)據(jù),高效地共享數(shù)據(jù)或協(xié)調(diào)任務(wù)的機(jī)制,簡化異構(gòu)多核開發(fā)。

在STM32MP257中,典型實(shí)現(xiàn)方式包括remoteproc+virtio+RPMsg等。它的核心目標(biāo)是讓Cortex-A核和Cortex-M核協(xié)同工作,同時保持資源隔離和實(shí)時性能。

Remoteproc框架

STM32MP257使用了RemoteProc框架讓A核運(yùn)行的Linux系統(tǒng)可以更加輕松的和M核進(jìn)行通信控制,RemoteProc主要作用就是對遠(yuǎn)程處理器的生命周期進(jìn)行管理,即啟動、停止遠(yuǎn)程處理器。該框架還會創(chuàng)建 RPMsg Virtio 設(shè)備。以下是RemoteProc的邏輯框圖:

2b60763e-baa4-11f0-8ce9-92fbcf53809c.png

圖1 RemoteProc運(yùn)行邏輯

在RemoteProc框架中,需要在Linux系統(tǒng)中將M核的固件通過命令加載到M核的內(nèi)存中。

RPMsg框架

RPMsg框架( Remote Processor Messaging Framework )則是實(shí)現(xiàn)對遠(yuǎn)程處理器信息傳遞。RPMsg是基于VirtIO的消息總線,它允許內(nèi)核驅(qū)動程序與系統(tǒng)上可用的遠(yuǎn)程處理器進(jìn)行通信。通訊框架入下圖:

2b84205c-baa4-11f0-8ce9-92fbcf53809c.png

圖2 RPMSG框架

消息服務(wù)基于共享內(nèi)存,使用RPMsg 和 Virtio 框架,RemoteProc框架則控制遠(yuǎn)程處理器生命周期。信號通知( Mailbox )服務(wù)則基于內(nèi)部IPCC( Inter-Processor communication controller ),ST提供 OpenAMP相關(guān)庫。

Virtio(虛擬化模塊)

Virtio 是一個支持虛擬化的 I/O 框架,通過共享環(huán)形緩沖區(qū)(vring)提供高效的消息傳輸層。Virtio中有兩個單向的vring,分別用于處理器之間的消息傳遞,RX VRING 用于接收來自遠(yuǎn)程處理器的消息,TX VRING專用于將消息發(fā)送到遠(yuǎn)程處理器。

四、實(shí)戰(zhàn)演練:異核控制LED

基于異構(gòu)通訊框架,A核通過發(fā)送LED控制命令,驅(qū)動M33核響應(yīng)并實(shí)現(xiàn)LDE燈的開關(guān)操作。

在構(gòu)建前需要將開發(fā)板設(shè)備樹中的gpio_led的藍(lán)燈關(guān)閉,關(guān)閉A核占用,設(shè)備樹中修改位置具體如下:

2b9b255e-baa4-11f0-8ce9-92fbcf53809c.png

圖3 設(shè)備樹屏蔽藍(lán)燈

關(guān)閉后將設(shè)備樹單獨(dú)構(gòu)建并更新到開發(fā)板中,具體方式請查閱《MYD-LD25X Linux 軟件開發(fā)指南》中4.3章節(jié)。

在IDE中導(dǎo)入OpenAMP_TTY_echo_Led例程,導(dǎo)入完成后如下所示:

2bb0f0be-baa4-11f0-8ce9-92fbcf53809c.png

圖4 例程導(dǎo)入

該例程由官方例程OpenAMP_TTY_echo修改,主要修改即為下圖中虛擬串口回調(diào)函數(shù)的框選部分:

2bc9acbc-baa4-11f0-8ce9-92fbcf53809c.png

圖5 回調(diào)函數(shù)修改

實(shí)現(xiàn)過程比較簡單,基本是對A核的消息進(jìn)行了判斷處理,針對GPIO的主要控制使用了HAL_GPIO_WritePin函數(shù),該函數(shù)位于Drivers/BSP/stm32mp2xx_hal_gpio.c:

2bde74a8-baa4-11f0-8ce9-92fbcf53809c.png

圖6 函數(shù)實(shí)現(xiàn)

程序運(yùn)行流程圖:

2bf07f04-baa4-11f0-8ce9-92fbcf53809c.png

圖7OpenAMP_TTY_echo_Led流程圖

然后繼續(xù)構(gòu)建,點(diǎn)擊上圖4中的OpenAMP_TTY_echo_Led_CM33_NonSecure,然后點(diǎn)擊上方錘子右邊箭頭并選擇CA35TDCID_m33_ns_sign:

2c0a8584-baa4-11f0-8ce9-92fbcf53809c.png

圖8編譯選擇

選擇后會立即構(gòu)建編譯,完成后在CA35TDCID_m33_ns_sign目錄中拷貝elf文件到開發(fā)板中:

2c1e4d58-baa4-11f0-8ce9-92fbcf53809c.png

圖9拷貝文件

確保在開發(fā)板中目錄結(jié)構(gòu)如下:

2c34f8d2-baa4-11f0-8ce9-92fbcf53809c.png

圖10 目錄結(jié)構(gòu)

輸入以下內(nèi)容執(zhí)行腳本,運(yùn)行后如圖所示:

root@myd-ld25x:~/OpenAMP_TTY_echo_Led# ./fw_cortex_m33.shstart


2c4c53ce-baa4-11f0-8ce9-92fbcf53809c.png

圖11 運(yùn)行程序

在A核輸入以下命令后臺監(jiān)控M核虛擬串口反饋:

root@myd-ld25x:~/OpenAMP_TTY_echo_Led# cat /dev/ttyRPMSG0 &root@myd-ld25x:~/OpenAMP_TTY_echo_Led#


輸入以下命令控制Led藍(lán)燈亮滅:

root@myd-ld25x:~/OpenAMP_TTY_echo_Led#echoon > /dev/ttyRPMSG0root@myd-ld25x:~/OpenAMP_TTY_echo_Led#echooff > /dev/ttyRPMSG0


結(jié)果如下:

2c5e5d1c-baa4-11f0-8ce9-92fbcf53809c.png

圖12 運(yùn)行結(jié)果

2c71e288-baa4-11f0-8ce9-92fbcf53809c.png

圖13 米爾基于STM32MP257核心板及開發(fā)板

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

    關(guān)注

    2309

    文章

    11161

    瀏覽量

    373363
  • Cortex
    +關(guān)注

    關(guān)注

    2

    文章

    220

    瀏覽量

    48767
  • 嵌入式系統(tǒng)設(shè)計(jì)

    關(guān)注

    1

    文章

    16

    瀏覽量

    8685
  • 米爾電子
    +關(guān)注

    關(guān)注

    2

    文章

    187

    瀏覽量

    1066
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    ARM Cortex-M33處理器的五大特色

    本文主要介紹Cortex-M33, Cortex-M33是首款采用TrustZone? 安全技術(shù)和數(shù)字信號處理技術(shù)的ARMv8-M全功能實(shí)現(xiàn)處理器。該處理器可以支持大量靈活的配置選項(xiàng),并在廣泛應(yīng)用
    發(fā)表于 01-11 13:40 ?4361次閱讀

    【飛凌嵌入式】基于i.MX9352開發(fā)M的FreeRTOS設(shè)計(jì)例程

    i.MX 9352作為NXP 推出的新一代輕量級邊緣AI處理器,集成2個Cortex-A55和1個Cortex-M33實(shí)時,其架構(gòu)設(shè)計(jì)充
    的頭像 發(fā)表于 06-13 16:14 ?2138次閱讀
    【飛凌嵌入式】基于i.MX9352<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>M</b><b class='flag-5'>核</b>的FreeRTOS設(shè)計(jì)例程

    樹莓派Pico 2發(fā)布,搭載RP2350雙RISC-V和Arm Cortex-M33微控制器!

    2024 年 8 月 8 日,樹莓派最新發(fā)布了 Pico 2 微控制器級產(chǎn)品 ,是一款基于新型 Raspberry Pi RP2350 雙 RISC-V 或雙 Cortex-M33 微控制器
    發(fā)表于 08-13 10:07

    超強(qiáng)算力+實(shí)時響應(yīng)!米爾發(fā)布基于STM32MP25x核心板Debian系統(tǒng)

    客戶端連接測試 下載客戶端 Windows下載并安裝客戶端軟件(如RealVNC Viewer),如下圖所示:圖2.1 客戶端VNC界面 獲取連接信息 通過myd-ld25x開發(fā)板獲取目標(biāo)設(shè)備的IP
    發(fā)表于 03-07 15:25

    【米爾-STM32MP257開發(fā)板試用體驗(yàn)】初次體驗(yàn)米爾-STM32MP257開發(fā)

    是ST推出的搭載了雙Cortex-A35 @1.5 GHz和Cortex-M33 @400 MHz的微處理器。米爾電子基于STM32MP257D推出了MYD-LD25X
    發(fā)表于 04-30 16:21

    Cortex-M33的五大特色介紹

    ARM Cortex-M33處理器的五大特色
    發(fā)表于 01-29 07:35

    怎么實(shí)現(xiàn)基于業(yè)界首款Cortex-M33微控制器LPC55S69的電路設(shè)計(jì)?

    怎么實(shí)現(xiàn)基于業(yè)界首款Cortex-M33微控制器LPC55S69的電路設(shè)計(jì)?
    發(fā)表于 06-15 09:14

    ARMv8-M trustzone IOT安全之基于Cortex-M33的TFM測試

    1、基于Cortex-M33的TFM 測試  針對IOT(Internet Of Things,萬物物聯(lián)),ARM v8-M 架構(gòu)也引入了trustzone,推出了PSA(Platform
    發(fā)表于 09-14 14:41

    在哪里可以找到支持Cortex-M33的“X-CUBE-CRYPTOLIB”?

    我正在使用 STM32L562VET6,請告訴我在哪里可以找到支持 Cortex-M33 的“X-CUBE-CRYPTOLIB”。
    發(fā)表于 01-04 06:38

    FPGA云:基于Cortex-M33的平臺技術(shù)參考手冊

    FPGA云:基于Cortex-M33的平臺技術(shù)參考手冊
    發(fā)表于 08-02 14:53

    Cortex-M33 Cycle Model用戶指南

    本節(jié)總結(jié)了循環(huán)模型與硬件的功能,并描述了循環(huán)模型的性能和準(zhǔn)確性。有關(guān)詳細(xì)信息,請參閱Cortex-M33技術(shù)參考手冊(Arm 100230)
    發(fā)表于 08-12 07:53

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

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

    ST×米爾STM32MP25x線下培訓(xùn)會倒計(jì)時12天

    STM32MP257D是ST推出的搭載了雙Cortex-A35@1.5GHz和Cortex-M33@400MHz的微處理器。米爾電子基于STM32MP257D推出了MYD-LD25X
    的頭像 發(fā)表于 12-26 08:04 ?880次閱讀
    ST×米爾STM32MP<b class='flag-5'>25x</b>線下培訓(xùn)會倒計(jì)時12天

    ST×米爾STM32MP25x高階實(shí)戰(zhàn)培訓(xùn)會

    STM32MP25x是ST推出的搭載了雙Cortex-A35@1.5GHz和Cortex-M33@400MHz的微處理器。米爾電子基于STM32MP
    的頭像 發(fā)表于 03-13 08:04 ?1344次閱讀
    ST×米爾STM32MP<b class='flag-5'>25x</b>高階<b class='flag-5'>實(shí)戰(zhàn)</b>培訓(xùn)會

    免費(fèi)丨米爾 STM32MP257開發(fā)板有獎試用

    米爾與ST合作發(fā)布的新品基于STM32MP257應(yīng)用處理器的MYD-LD25X開發(fā)板免費(fèi)試用活動來啦~~米爾提供了2塊價值488元的MYD-LD25X開發(fā)板發(fā)起試用活動您不僅可以免費(fèi)
    的頭像 發(fā)表于 03-20 08:05 ?1114次閱讀
    免費(fèi)丨米爾 STM32MP257<b class='flag-5'>開發(fā)</b>板有獎試用