gogo专业大尺度亚洲高清人体,美女张开双腿让男生桶,亚洲av无码一区二区三区鸳鸯影院,久久久久国产精品人妻

當(dāng)前位置:首頁(yè) > 學(xué)習(xí)資源 > 講師博文 > stm32mp157異構(gòu)通信:cortex m4與a7雙核通信

stm32mp157異構(gòu)通信:cortex m4與a7雙核通信 時(shí)間:2020-11-20      來(lái)源:華清遠(yuǎn)見(jiàn)

寫(xiě)在前面:

STM32MP157是ST進(jìn)軍Linux的首款微處理器,采用MCU+MPU的組合,集成兩顆主頻微800MHz的Cortex-A7應(yīng)用處理器內(nèi)核(支持開(kāi)源linux操作系統(tǒng)),和一顆主頻微209M的Cortex-M4微控制器內(nèi)核(完美沿用現(xiàn)有的STM32 MCU生態(tài)系統(tǒng)),既充分滿足多種應(yīng)用的靈活性需求,又實(shí)現(xiàn)了最佳性能和低功耗特性,還支持3D圖形處理單元(3D GPU)。

那STM32MP1系列,A7和M4是如何進(jìn)行通信的呢?

簡(jiǎn)單的說(shuō),A7和M4兩個(gè)核心的通信,是通過(guò)底層的IPCC控制器(Inter-Processor communication controller)去通信的,linux中使用RPMsg框架與用戶進(jìn)行交互。

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

STM32MP1多核通信框架如下圖。

A7在RPMsg和Virtio框架創(chuàng)建一個(gè)面向用戶態(tài)的/dev/ttyRPMSG接口,ST提供OpenAMP相關(guān)庫(kù),M4在OpenAMP上創(chuàng)建虛擬串口,兩個(gè)內(nèi)核之間通過(guò)串口通信模式,速度非?。

Linux系統(tǒng)都封裝好了,ST官方提供的內(nèi)核已經(jīng)默認(rèn)配置了RPMSG_TTY驅(qū)動(dòng),這個(gè)環(huán)節(jié)我們就不需要做什么了。

下面我們就通過(guò)七個(gè)步驟來(lái)實(shí)現(xiàn)A7和M4之間的通信。

1. 啟動(dòng)STM32CubeIDE

2. 導(dǎo)入已有工程

點(diǎn)擊File->Import…,選擇Existing Projects into Workspace,點(diǎn)擊NEXT。

瀏覽目錄選擇工程O(píng)penAMP_ TTY _echo,光盤(pán)路徑為:

【華清遠(yuǎn)見(jiàn)-FS-MP1A開(kāi)發(fā)資料\02-程序源碼\ARM體系結(jié)構(gòu)與接口技術(shù)\Cortex-M4\STM32Cube_FW_MP1_V1.2.0\Projects\STM32MP157C-FSMP1\Applications\OpenAMP\OpenAMP_TTY_echo\STM32CubeIDE】

3. 編譯工程

選擇項(xiàng)目OpenAMP_ TTY _echo_CM4并單擊Build按鈕

 4. 開(kāi)發(fā)板連接

這里使用的是華清遠(yuǎn)見(jiàn)FS-MP1A開(kāi)發(fā)板。

確認(rèn)開(kāi)發(fā)板已燒寫(xiě)系統(tǒng),可運(yùn)行l(wèi)inux,啟動(dòng)撥碼撥至010。

開(kāi)發(fā)板上電,并如下圖連接開(kāi)發(fā)板USB和ST-Link至PC。

可通過(guò)點(diǎn)擊STM32 butterfly按鈕來(lái)打開(kāi)串口控制臺(tái)

如果控制臺(tái)窗口顯示linux日志或提示信息,則連接成功

5. USB虛擬網(wǎng)線網(wǎng)絡(luò)配置

打開(kāi)控制面板的網(wǎng)絡(luò)連接界面,在使用USBmini線連接開(kāi)發(fā)板和PC后可以在網(wǎng)絡(luò)連接界面可看到多了一個(gè)Remote NDIS網(wǎng)卡,如下圖。

選中Remot NDIS網(wǎng)卡,右鍵選擇屬性,配置IPv4,選中后點(diǎn)擊屬性,配置IP地址為192.168.7.100,如下圖。

6. 下載固件

選擇項(xiàng)目OpenAMP_ TTY _echo_CM4

選擇Debug按鍵

選擇STM32 Cortex-M C/C++ Application

調(diào)試器 下選擇thru Linux core(Production mode)

選擇Serial Port,可打開(kāi)設(shè)備管理器查看

檢查IP地址,可通過(guò)串口控制臺(tái)輸入ifconfig指令查看usb0網(wǎng)卡IP地址

如下圖,配置完成后點(diǎn)擊Debug

提示關(guān)閉控制臺(tái),點(diǎn)擊Yes

彈出如下窗口,默認(rèn)無(wú)密碼,直接點(diǎn)擊OK

點(diǎn)擊Switch

7. 測(cè)試固件

OpenAMP_ TTY _echo_CM4固件主要功能:

CPU2(CM4)初始化OpenAMP MW,后者通過(guò)HAL初始化/配置IPCC外設(shè)并設(shè)置openamp-rpmsg框架基礎(chǔ)結(jié)構(gòu)

CPU2(CM4)為2個(gè)虛擬UART實(shí)例(UART0和UART1)創(chuàng)建2個(gè) rpmsg通道

CPU2(CM4)在這兩個(gè)通道上等待來(lái)自CPU1(CA7)的消息

當(dāng)CPU2(CM4)在1個(gè)虛擬UART實(shí)例/ rpmsg通道上收到消息時(shí),它將消息發(fā)送回同一虛擬UART實(shí)例上的CPU1(CA7)

加載完固件后,重新打開(kāi)STM32CubeIDE的串行控制臺(tái)。

輸入以下命令

初始化ttyRPMSG0配置

stty -onlcr -echo -F /dev/ttyRPMSG0

不斷讀取ttyRPMSG0通道

cat /dev/ttyRPMSG0 &

在一個(gè)ttyRPMSG0通道上發(fā)送消息”LED ON”或”LED OFF”可控制開(kāi)發(fā)板上LED燈點(diǎn)滅狀態(tài),并在同一ttyRPMSG0通道上同時(shí)接收回顯

echo "LED ON" > /dev/ttyRPMSG0

本文摘自《華清遠(yuǎn)見(jiàn)FS-MP1A開(kāi)發(fā)板實(shí)驗(yàn)指導(dǎo)手冊(cè)》第42章

上一篇:stm32mp1 linux最小根文件系統(tǒng)制作教程—(基于stm32mp157開(kāi)發(fā)板實(shí)操)

下一篇:stm32mp1 linux開(kāi)發(fā)環(huán)境搭建(cortex a7)

戳我查看嵌入式每月就業(yè)風(fēng)云榜

點(diǎn)我了解華清遠(yuǎn)見(jiàn)高校學(xué)霸學(xué)習(xí)秘籍

猜你關(guān)心企業(yè)是如何評(píng)價(jià)華清學(xué)員的

干貨分享
相關(guān)新聞
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠(yuǎn)見(jiàn)科技發(fā)展有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部