色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 學習資源 > 講師博文 > stm32mp157異構通信:cortex m4與a7雙核通信

stm32mp157異構通信:cortex m4與a7雙核通信 時間:2020-11-20      來源:華清遠見

寫在前面:

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

那STM32MP1系列,A7和M4是如何進行通信的呢?

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

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

STM32MP1多核通信框架如下圖。

A7在RPMsg和Virtio框架創建一個面向用戶態的/dev/ttyRPMSG接口,ST提供OpenAMP相關庫,M4在OpenAMP上創建虛擬串口,兩個內核之間通過串口通信模式,速度非常快。

Linux系統都封裝好了,ST官方提供的內核已經默認配置了RPMSG_TTY驅動,這個環節我們就不需要做什么了。

下面我們就通過七個步驟來實現A7和M4之間的通信。

1. 啟動STM32CubeIDE

2. 導入已有工程

點擊File->Import…,選擇Existing Projects into Workspace,點擊NEXT。

瀏覽目錄選擇工程OpenAMP_ TTY _echo,光盤路徑為:

【華清遠見-FS-MP1A開發資料\02-程序源碼\ARM體系結構與接口技術\Cortex-M4\STM32Cube_FW_MP1_V1.2.0\Projects\STM32MP157C-FSMP1\Applications\OpenAMP\OpenAMP_TTY_echo\STM32CubeIDE】

3. 編譯工程

選擇項目OpenAMP_ TTY _echo_CM4并單擊Build按鈕

 4. 開發板連接

這里使用的是華清遠見FS-MP1A開發板。

確認開發板已燒寫系統,可運行linux,啟動撥碼撥至010。

開發板上電,并如下圖連接開發板USB和ST-Link至PC。

可通過點擊STM32 butterfly按鈕來打開串口控制臺

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

5. USB虛擬網線網絡配置

打開控制面板的網絡連接界面,在使用USBmini線連接開發板和PC后可以在網絡連接界面可看到多了一個Remote NDIS網卡,如下圖。

選中Remot NDIS網卡,右鍵選擇屬性,配置IPv4,選中后點擊屬性,配置IP地址為192.168.7.100,如下圖。

6. 下載固件

選擇項目OpenAMP_ TTY _echo_CM4

選擇Debug按鍵

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

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

選擇Serial Port,可打開設備管理器查看

檢查IP地址,可通過串口控制臺輸入ifconfig指令查看usb0網卡IP地址

如下圖,配置完成后點擊Debug

提示關閉控制臺,點擊Yes

彈出如下窗口,默認無密碼,直接點擊OK

點擊Switch

7. 測試固件

OpenAMP_ TTY _echo_CM4固件主要功能:

CPU2(CM4)初始化OpenAMP MW,后者通過HAL初始化/配置IPCC外設并設置openamp-rpmsg框架基礎結構

CPU2(CM4)為2個虛擬UART實例(UART0和UART1)創建2個 rpmsg通道

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

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

加載完固件后,重新打開STM32CubeIDE的串行控制臺。

輸入以下命令

初始化ttyRPMSG0配置

stty -onlcr -echo -F /dev/ttyRPMSG0

不斷讀取ttyRPMSG0通道

cat /dev/ttyRPMSG0 &

在一個ttyRPMSG0通道上發送消息”LED ON”或”LED OFF”可控制開發板上LED燈點滅狀態,并在同一ttyRPMSG0通道上同時接收回顯

echo "LED ON" > /dev/ttyRPMSG0

本文摘自《華清遠見FS-MP1A開發板實驗指導手冊》第42章

上一篇:stm32mp1 linux最小根文件系統制作教程—(基于stm32mp157開發板實操)

下一篇:stm32mp1 linux開發環境搭建(cortex a7)

戳我查看嵌入式每月就業風云榜

點我了解華清遠見高校學霸學習秘籍

猜你關心企業是如何評價華清學員的

干貨分享
相關新聞
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 无码精品第1页 | 久久不卡精品 | 胸大美女又黄的网站 | 射婷婷 | 欧美日韩精品在线观看 | 我朋友的妈妈在线免费观看 | 国模大胆无码私拍啪啪AV | 日韩乱码人妻无码中文视频 | 日韩人妻无码潮喷中文视频 | 国产精品久久久久不卡绿巨人 | 嫩草俱乐部 | 人禽杂交18禁网站免费 | 日韩一区二区三区网站 | 人妻丰满熟妇AV无码片 | 在线观看国产日韩亚洲中 | 97无码成人永久免费视频软件 | 五月丁香综合激情六月久久 | 国产亚洲日韩在线A不卡 | 日本岛国片在线观看一区二区 | 亚洲AV无码AV男人的天堂不卡 | 蜜桃做爰免费网站 | 九九精品成人免费国产片 | XXX少妇厨房XXX乱 | 国产小受被做到哭咬床单GV | 国产九精品国产动漫人物 | 国产在线一区二区三在线 | 国产精品白丝av在线观看播放 | 欧美国产日韩一区在线观看 | 国产精品爱久久久久久久小说 | 五月天色站 | 亚洲欧美在线综合色影视 | 欧美精品一本久久男人的天堂 | 97色蜜桃 | 苍井空无码免费换线 | 久久久久亚洲精品无码系列 | 中文字幕一区二区三区四区五区六区 | 成人亚洲性情网站www在线观看国产 | 中文字幕精品久久久久人妻红杏1 | 中文日产幕无线码一区 | 精品香蕉99久久久久成人网站 | 欧美老熟妇乱XXXXX |