RTOS實現(xiàn)雙核MCU消息通信_第1頁
RTOS實現(xiàn)雙核MCU消息通信_第2頁
RTOS實現(xiàn)雙核MCU消息通信_第3頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第第頁RTOS實現(xiàn)雙核MCU消息通信(手機)、(電腦)多核的(CPU)你可能經(jīng)??匆?,但多核的(單片機)相對來說就不那么常見了。隨著需求的增加、技術(shù)的進步,單片機已不再局限于單核了,因此,近幾年陸續(xù)出現(xiàn)了雙核的單片機了。

你可能會好奇,雙核單片機之間怎么(通信)?其實,通信的方式和方法有很多種。本文就給大家描述一下:使用(FreeRTOS)消息緩沖區(qū),實現(xiàn)簡單的非對稱多處理(AMP)核心到核心通信,結(jié)合(STM32)H7(M4和M7)雙核處理器為例。

概述

實現(xiàn)STM32H7雙核之間通信是FreeRTOS官方提供的一個方案,是基于FreeRTOS消息緩沖區(qū),該消息緩沖區(qū)是無鎖循環(huán)緩沖區(qū),可以將大小不同的數(shù)據(jù)包從單個發(fā)送方傳遞到單個接收方。

說明,該消息緩沖區(qū)僅提供數(shù)據(jù)的傳輸,不提供通信相關(guān)協(xié)議處理。

基本原理

實現(xiàn)雙核之間通信基本原理:發(fā)送和接收任務(wù)位于非對稱多處理器(AMP)配置中的多核微控制器((MCU))的不同內(nèi)核上,這意味著每個內(nèi)核都運行自己的FreeRTOS程序。

同時,一個內(nèi)核在另一個內(nèi)核中具有生成中斷的能力,以及兩個內(nèi)核都有訪問的內(nèi)存區(qū)域(共享內(nèi)存)。消息緩沖區(qū)以每個內(nèi)核上運行在應(yīng)用程序已知的地址置在共享內(nèi)存中,如下圖:

然后,ISR讀取控制消息緩沖區(qū)以獲得句柄,將句柄作為參數(shù)傳遞到xMessageBufferSendCompletedFromISR()中:voidInterruptServiceRoutine(void){MessageBufferHandle_txUpdatedMessageBuffer;BaseType_txHigherPriorityTaskWoken=pdFALSE;/*Receivethehandleofthemessagebufferthatcontainsdatafromthecontrolmessagebuffer.Ensuretodrainthebufferbeforereturning.*/while(xMessageBufferReceiveFromISR(xControlMessageBuffer,}/*NormalFreeRTOS"yieldfrominterrupt"semantics,wherexHigherPriorityTaskWokenisinitialisedtopdFALSEandwillthengetsettopdTRUEiftheinterruptunblocksataskthathasapriorityabovethatofthecurrentlyexecutingtask.*/portYIELD_FROM_ISR(xHigherPriorityTaskWoken);}

如圖,使用控制消息緩沖區(qū)時的順序:

1.接收任務(wù)嘗試從空的消息緩沖區(qū)中讀取數(shù)據(jù),并進入阻止狀態(tài)以等待數(shù)據(jù)到達。

2.發(fā)送任務(wù)將數(shù)據(jù)寫入消息緩沖區(qū)。

3.sbSEND_COMPLETED()將現(xiàn)在包含數(shù)據(jù)的消息緩沖區(qū)的句柄發(fā)送到控制消息緩沖區(qū)。

4.sbSEND_COMPLETED()在正在執(zhí)行接收任務(wù)的內(nèi)核中觸發(fā)一個中斷。

5.中斷服務(wù)例程從控制消息緩沖區(qū)中讀取包含數(shù)據(jù)的消息緩沖區(qū)的句柄,然后將該句柄傳遞給xMessageBufferSendCompletedFromISR()API函數(shù)以取消

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論