色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號

回到頂部

主站蜘蛛池模板: 粉色视频在线观看高清免费完整 | 色视频无码专区在线观看 | 高h全肉打屁股sp调教 | 久久亚洲av无码精品色午夜麻 | 亚洲AV中文无码乱人伦在线视色 | 亚洲精品成人网线在线播放va | 小泽玛利亚在线视频 | EEUSS鲁片一区二区三区 | 亚洲AV无码一区二区三区网址 | 美国黄色小视频 | 多男同时插一个女人8p | 亚洲AV无码一区二区三区网址 | 曰本一道本久久88不卡 | 精品无码国产一区二区三区. | 人妻熟妇乱又伦精品HD | 国产亚洲欧美日韩二三线 | 精品一二三四区 | 国产麻豆影院 | 在线观看亚洲精品福利片 | 亚洲Aⅴ无码专区在线观看春色 | 丁香婷婷六月综合交清 | 8090成人午夜精品无码 | 山外人精品影院 | 成人av一区二区三区在线观看 | 亚洲欧美国产精品久久久久久久 | 日本公与熄乱理在线播放 | 亚洲AV久久爆乳一区二区 | 亚洲AV乱码一区二区三区林ゆな | 最近2018中文字幕免费看2019 | 两性故事吃奶添下面 | 亚洲AV成人片色在线观看蜜桃 | 欧美高清熟妇啪啪内射不卡自拍 | 西西人体444WWW大胆无码视频 | 国内自拍视频在线观看 | 中文字幕无码乱人伦在线 | 免费看成人A级毛片 | 丝袜自慰一区二区三区 | 三级毛片在线 | 亚洲色大成网站www永久网站 | 亚洲精品无码久久久 | 日本小视频网址 |