Xilinx ZYNQ双核ARM通信开发实例
12-27 261浏览量前 言:本文主要介绍基于OpenAMP框架的双核ARM通信案例的使用说明,CPU0(Master)运行Linux系统,CPU1(Remote)运行裸机或FreeRTOS程序。CPU0使用remoteproc加载CPU1程序,并对CPU1进行配置。

图 1
OpenAMP详细开发说明可查阅官方文档。
本文基于Xilinx Zynq-7010/7020平台进行案例测试。

图2
1、echo_test案例
1.1 案例功能
案例功能:CPU0使用RPMsg向CPU1发送数据,CPU1接收到数据后再使用RPMsg向CPU0回传数据。CPU0对回传的数据进行验证,并输出验证结果。
1.2 操作说明
将CPU1裸机或FreeRTOS可执行文件复制到评估板文件系统“/lib/firmware/”目录下,并执行如下命令加载CPU1程序。
Target# echo echo_test.elf > /sys/class/remoteproc/remoteproc0/firmware
Target# echo start > /sys/class/remoteproc/remoteproc0/state

图 3
执行如下命令加载RPMsg驱动,并在“/dev/”目录下生成RPMsg设备节点。
Target# modprobe rpmsg_user_dev_driver

图 4
将CPU0应用程序可执行文件复制到评估板文件系统,并执行如下命令通过RPMsg与CPU1进行通信。
Target# ./echo_test

图 5
输入1,并按回车键进行测试。

图 6

图 7
输入2,并按回车键退出测试。

图 8
执行如下命令,停止CPU1程序。
Target# echo stop > /sys/class/remoteproc/remoteproc0/state

图 9
2、matrix_multiply案例
2.1 案例功能
案例功能:CPU0随机生成两个矩阵并使用RPMsg向CPU1发送数据,CPU1接收到数据后进行矩阵乘法运算,再使用RPMsg向CPU0回传运算结果,然后CPU0通过串口终端输出运算结果。
2.2 操作说明
将CPU1裸机或FreeRTOS可执行文件复制到评估板文件系统“/lib/firmware/”目录下,并执行如下命令加载CPU1程序。
Target# echo matrix_multiply.elf > /sys/class/remoteproc/remoteproc0/firmware
Target# echo start > /sys/class/remoteproc/remoteproc0/state

图 10
执行如下命令加载RPMsg驱动,并在“/dev/”目录下生成RPMsg设备节点。
Target# modprobe rpmsg_user_dev_driver

图 11
将CPU0应用程序可执行文件复制到评估板文件系统,并执行如下命令通过RPMsg与CPU1进行通信。
Target# ./mat_mul_demo

图 12
输入1,并按回车键进行测试。

图 13
输入2,并按回车键退出测试。

图 14
执行如下命令,停止CPU1程序。
Target# echo stop > /sys/class/remoteproc/remoteproc0/state

图 15
3、内存分配说明
512MByte DDR容量版本核心板的内存地址分配如下:
表 1

1GByte DDR容量版本核心板的内存地址分配如下:
表 2

如需修改CPU1程序(OpenAMP-remote app)内存地址空间范围,可通过更改设备树文件tlz7x-easyevm-s.dts、资源表rsc_table.c及链接文件lscript.ld对内存地址空间进行重新分配。三者需同步修改并保持一致,以确保固件程序链接地址与设备树配置的elf_ddr_0对应。所使用的资源(内存和virtio设备资源)不能超出设备树文件配置的内存范围。

图 16设备树文件tlz7x-easyevm-s.dts配置

图 17设备树文件tlz7x-easyevm-s.dts配置

图 18 CPU1程序资源表rsc_table.c配置

图 19 CPU1程序链接文件lscript.ld配置
最近浏览过的用户(0) 查看全部
为你推荐
-
嵌入式必学!硬件资源接口详解——基于ARM AM335X开发板 (下)2022-06-22 11:20
-
TI Sitara系列 AM335X(ARM Cortex-A8)开发板——硬件资源接口详解(上)2022-06-22 10:55
-
TI AM3352/54/59 工业核心板硬件说明书2022-06-22 10:26
-
基于AM335X开发板 ARM Cortex-A8——NAND FLASH版本核心板使用说明2022-06-21 09:39
-
「嵌入式必学」基于全志T3开发板测评手册——串口测试(4)2022-06-15 17:28
-
全国首发!AM64x——TI最新16nm处理平台,专为工业网关、工业机器人而生2022-06-01 00:35
-
为何TI的GPMC并口,更常被用于连接FPGA、ADC?我给出3个理由2022-05-27 00:43
-
在工业领域,DSP将要被ARM淘汰了?ARM + DSP才是更优解?2022-05-23 22:28
-
AD7606/AD7616使ZYNQ在能源电力领域如虎添翼,可实现16/32/64通道AD同步采样2022-04-28 00:33
-
i.MX 8M Mini——四核Cortex-A53+Cortex-M4多核CPU如何实现工控2022-04-22 00:35
-
Docker容器安装及运行测试方案详解2022-02-17 13:55
-
Zynq-7010/7020的多路千兆网口方案分享2021-10-22 09:51
-
目标追踪视觉方案推荐,基于C6678+Zynq-70452021-09-07 11:28
-
不错!低成本ARM工业数据网关方案推荐2021-07-23 15:34
-
不缺货!低成本ARM工业HMI方案推荐!2021-07-23 10:25
-
创龙科技SOM-TL5728F核心板2022-05-11 10:17
产品型号:TI Sitara AM57x+Xilinx Artix-7 处理器设计:TI Sitara 系列 AM5728+Artix-7 工业级高速B2B引出:千兆网口、PCIe、USB 3.0、SATA、GTP等接口 典型应用领域:运动控制、测试测量、机器视觉、智能电力、视频追踪、定位导航 每核主频:1.5GHz 工作温度:-40°C~85°C -
创龙科技TL5728F-EVM开发板2022-05-11 09:56
产品型号:TI Sitara AM57x + Artix-7 FPGA 处理器设计:TI Sitara系列 AM5728+ Artix-7 引出接口:双路千兆网口、双路SFP光口、USB 3.0、CAN等 典型应用领域:运动控制、测试测量、机器视觉、智能电力、视频追踪、定位导航 每核主频:1.5GHz 工作温度:-40°C~85°C -
创龙科技TL570x-EVM核心板2022-05-11 09:28
产品型号:TI Sitara AM57x DSP+ARM 处理器设计:TI Sitara系列AM5708 ARM 工业级B2B引出:千兆网口、PCIe、GPMC、USB 3.0等高速通信接口 典型应用领域:运动控制、工业PC、机器视觉、智能电力、视频监测 定位:异构多核SoC工业级核心板 每核主频:1GHz -
创龙科技全志T3工业核心板| 邮票孔2022-05-11 09:13
产品型号:全志科技 T3 4核ARM Cortex-A7 处理器设计:全志科技T3 4核ARM Cortex-A7 引出接口:CSI、TVIN、MIPI DSI、TVOUT、RGB等 核心板特色: 100%国产元器件方案 典型应用领域:能源电力/轨道交通/工业控制/工业网关/仪器仪表 每核主频:高达1.2GHz -
创龙科技全志T3工业评估板 | 邮票孔2022-01-04 11:33
产品型号:全志4核ARM Cortex-A7 处理器设计:全志科技T34核ARM Cortex-A7 主频:高达1.2GHz 通信接口:千兆网口、CAN、USB、RS485、RS232等 音视频多媒体接口:MIPI LCD、LVDS LCD、TFT LCD、HDMI 核心板采用:100%国产元器件方案 -
创龙科技TL138F-EVM评估板2021-09-09 09:36
产品型号:TI C6000 OMAP-L138DSP+ARM+FPGA CPU型号:TI OMAP-L138 接口资源丰富:引出网口、EMIFA、SATA、USB、LCD、VGA等接口 应用领域:运动控制、电力设备、仪器仪表、医疗设备、通信探测、惯性导航 处理器设计1:1x ARM9,主频456MHz 处理器设计2:1x DSP C674x,主频456MHz,支持浮点运算 -
创龙科技TL335x-EVM评估板2021-09-09 09:18
产品型号:TI Sitara AM3352/54/59 ARM CPU:I Sitara AM3352/AM3354/AM3359 系列包含产品: AM3352/AM3354/AM3358/AM3359 典型应用领域: 通讯管理、数据采集、人机交互、运动控制、智能电力 处理器设计:ARM Cortex-A8 工作温度:-40°C~80℃ -
创龙科技TLZ7x-EasyEVM评估板2021-09-08 17:13
产品型号:Xilinx Zynq-7000 SoC 接口资源丰富:引出双路千兆网口、四路SFP+光口、CameraLink等 应用领域:软件无线电、雷达探测、光电探测、视频追踪、图像处理、水下探测 CPU:Zynq-7000XC7Z045/XC7Z100 主频:800MHz 处理器设计:2x ARM Cortex-A9,2.5DMIPS/MHz -
创龙科技TLZ7x-EasyEVM-S评估板|邮票孔2021-09-08 15:45
产品型号: Zynq-7000系列XC7Z010/XC7Z020 定位:异构多核SoC评估板 接口资源丰富:引出千兆网口、双路CAMERA、USB等接口 应用领域:测试测量、运动控制、智能电力、通信探测、目标追踪 CPU:Xilinx Zynq-7000 XC7Z010/XC7Z0 处理器设计:2x ARM Cortex-A9,2.5DMIPS/MHz -
创龙科技TL570x-EVM评估板2021-09-08 15:21
产品型号:TI Sitara AM57x DSP+ARM 定位:异构多核SoC评估板 接口资源丰富:引出双路PRU百兆网口、千兆网口、USB 3.0等接口 处理器设计:1x ARM Cortex-A15,主频1GHz CPU:TI Sitara AM5708 应用领域:运动控制、工业PC、机器视觉、智能电力、视频监测