ARM技术论坛
直播中

叶源根

7年用户 9经验值
擅长:处理器/DSP
私信 关注

AM5728 多核通信例程使用心得

` 本帖最后由 yeyuangen 于 2020-2-25 23:27 编辑

AM5728 DSP/ARM/IPU核间通信例程实践
1 开发环境说明
Ø RTOS Processor-SDK 04.03.00.05
Ø Linux-RT-4.9.65 内核;
Ø IPC 开发包版本:3.47.01.00
开发板:信迈XM5728-IDK-V3
ludev"源文件编译生成,例程如果未使用共享内存则源码不含该文件。 如果IPC 例程需要使用到共享内存,请参照如下方法编译生成 libticmem.a 链接库。
编译 IPC 例程时依赖于 libticmem.a 链接库,如果 IPC 例程没有使用到共享内存则无需编译 libticmem.a 链接库。 打开 Ubuntu,执行如下指令新建“/home/xmtech/AM57xx/rtos_examples/”工作目录, 将网盘“Demo
tos-examplesxm-linux-ipc-examplesxm-gatemap-mutex -access”例程整个文件夹上传到 rtos_examples 工作目录。
Host# mkdir -p /home/xmtech/AM57xx/rtos_examples
Host# cd /home/xmtech/AM57xx/rtos_examples
进入 IPC 例程"/src/ludev"目录,在 ludev 下依次执行如下指令,新__install 目录用于存放编译生成的文件。并设置好环境变量,其中"prefix="参数应根据 IPC 例程"ludev/__install"目录实际路径修改。
Host# cd xm-gatemap-mutex-access/src/ludev/
Host# mkdir __install
Host# ./configure  --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc --
prefix=/home/xmtech/AM57xx/rtos_examples/xm-gatemap-mutex-access/src/ludev/__install
执行如下指令编译并安装镜像,编译完成后,将在“__install/lib”目录下会生成
libticmem.a 链接库文件。
Host# make && make install
2.2 IPC 例程编译
以网盘“Demo
tos-examplesxm-linux-ipc-examplesxm-gatemap-mutex- access”例程为例, 进入 xm-gatemap-mutex-access 工程源码目录,打开 products.mak 文件,参照如下方法并结合实际情况配置环境变量,其他变量保持一致无需修改。
Host# vi products.mak
Ø Linux-RT 交叉编译工具链路径
TOOLCHAIN_INSTALL_DIR =
/home/xmtech/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr
Ø Cmem 链接库路径
CMEM_INSTALL_DIR =
/home/xmtech/AM57xx/rtos_examples/xm-gatemap-mutex-access/src/ludev

修改完成保存退出后,执行如下指令清理工程,编译并安装镜像。
Host# make clean
Host# make -j 8 && make install
编译完成后,会在“install/xm-gatemap-mutex-access/debug”目录下生成可执行文件,本例程编译生成了A15核可执行文件(app_host)和DSP1核可执行文件(server_dsp1.xe66),不同例程编译生成的可执行文件不一样。不同核心对应的可执行文件、trace buffer(调试信息)路径不相同,对应关系如下表所示。
2

核心

可执行文件

trace buffer

Host

A15 核

app_host

——




Slave

DSP1 核

server_dsp1.xe66

remoteproc2/trace0

DSP2 核

server_dsp2.xe66

remoteproc3/trace0

IPU1 核

server_ipu1.xem4

remoteproc0/trace0

IPU2 核

server_ipu2.xem4

remoteproc1/trace0

2.3 IPC 例程测试
为便于测试,我司提供经测试验证的 IPC 例程可执行文件,位于网盘“Demo
tos-examples”路径下的 IPC 工程 bin 目录下,bin 目录下还包含 load-firmware.sh 脚本文件,ARM 端通过 load-firmware.sh 脚本文件加载可执行文件到 DSP/M4 核心。
xm-gatemap-mutex-access 例程为例 将网盘 “Demo
tos-examplesxm- linux-ipc-examplesxm-gatemap-mutex-accessin”文件夹复制到开发板文件系统“/home/root”目录下。进入文件系统 bin 目录,执行 load-firmware.sh 脚本文件加载固件:
Target# ./load-firmware.sh
执行如下指令,运行 A15 测试程序:
Target# ./app_host
执行如下指令查看 DSP 核打印信息,如下图所示:
Target# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0

微信图片_20200202105224.jpg

` ipc-slave.png ipc-host.png 1_副本.png

更多回帖

发帖
×
20
完善资料,
赚取积分