<style id="7i3y3"></style>

      <sub id="7i3y3"><i id="7i3y3"></i></sub>

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        中國自動化學會專家咨詢工作委員會指定宣傳媒體
        新聞詳情

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

        http://www.kblhh.cn 2025-11-07 09:23 來源:米爾電子

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

        一、異構架構:分工明確,效能卓越

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

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

        Cortex-M33實時核(400MHz):專攻實時控制,具備納秒級中斷響應,集成FPUDSP指令集。

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

        硬件級資源隔離:通過RIF單元確保M33核獨占關鍵外設,避免核間沖突

        能效精細控制:支持獨立電源域,M33可在A核休眠時單獨運行

        安全可靠:TrustZone技術,為關鍵代碼提供硬件級保護

        三、OpenAMP:異構通信的橋梁

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

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

        1. Remoteproc框架

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

        1 RemoteProc運行邏輯

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

        1. RPMsg框架

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

        2 RPMSG框架

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

        1. Virtio(虛擬化模塊)

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

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

        基于異構通訊框架,A核通過發(fā)送LED控制命令,驅動M33核響應并實現(xiàn)LDE燈的開關操作。

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

        3 設備樹屏蔽藍燈

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

        IDE中導入OpenAMP_TTY_echo_Led例程,導入完成后如下所示:

        4 例程導入

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

        5 回調函數(shù)修改

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

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

        程序運行流程圖:

        7 OpenAMP_TTY_echo_Led流程圖

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

        8 編譯選擇

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

        9 拷貝文件

        確保在開發(fā)板中目錄結構如下:

        10 目錄結構

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

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

        11 運行程序

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

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

        root@myd-ld25x:~/OpenAMP_TTY_echo_Led#

        輸入以下命令控制Led藍燈亮滅:

        root@myd-ld25x:~/OpenAMP_TTY_echo_Led# echo on > /dev/ttyRPMSG0

        root@myd-ld25x:~/OpenAMP_TTY_echo_Led# echo off > /dev/ttyRPMSG0

        結果如下:

        12 運行結果

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

        版權所有 工控網(wǎng) Copyright?2026 Gkong.com, All Rights Reserved
        主站蜘蛛池模板: 成人免费无遮挡在线播放| 色8久久人人97超碰香蕉987| 精品一区二区三区四区五区| 亚洲情A成黄在线观看动漫尤物| 总裁与秘书啪啪日常h| 亚洲中文色欧另类欧美| 亚洲乱熟乱熟女一区二区| 久久人妻国产精品| 国产成人午夜福利在线播放| 偷拍美女厕所尿尿嘘嘘小便| 亚洲精品一区二区口爆| 国产黑色丝袜在线播放| 亚洲中文字幕在线二页| 亚洲熟女乱综合一区二区三区| 永久免费无码国产| 别揉我奶头~嗯~啊~的视频| 亚洲AV无码专区色爱天堂老鸭窝| 无码熟妇人妻AV在线影片免费| 国产精品免费AⅤ片在线观看| 国产SM重味一区二区三区| 少妇撒尿一区二区在线视频| 国产目拍亚洲精品二区| 最新亚洲人成无码WWW| 亚欧美日韩香蕉在线播放视频 | a级黄色毛片免费播放视频| 无码午夜人妻一区二区三区不卡视频| 五月综合激情婷婷六月| 亚洲精中文字幕二区三区| 亚洲精品人成网线在播放VA| 麻豆一区二区三区精品视频| 国产在线拍揄自揄视频网试看| 亚洲成av人片一区二区 | 国产精品女在线观看| 噜噜综合亚洲av中文无码| 久久麻豆成人精品| 黄色A级国产免费大片视频| 国产91小视频在线观看| 国产午夜三级一区二区三| 国产激情电影综合在线看| 久久久久青草线综合超碰| 天堂www在线中文|