发 帖  
原厂入驻New
AM5728 多核通信例程使用心得
2020-2-25 23:21:38  340 AM5728 DSP6748 ARM 核间通信机制 图像处理
分享
本帖最后由 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\rtos-examples\xm-linux-ipc-examples\xm-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\rtos-examples\xm-linux-ipc-examples\xm-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\rtos-examples”路径下的 IPC 工程 bin 目录下,bin 目录下还包含 load-firmware.sh 脚本文件,ARM 端通过 load-firmware.sh 脚本文件加载可执行文件到 DSP/M4 核心。
xm-gatemap-mutex-access 例程为例 将网盘 “Demo\rtos-examples\xm- linux-ipc-examples\xm-gatemap-mutex-access\bin”文件夹复制到开发板文件系统“/home/root”目录下。进入文件系统 bin 目录,执行 load-firmware.sh 脚本文件加载固件:
Target# ./load-firmware.sh
执行如下指令,运行 A15 测试程序:
Target# ./app_host
执行如下指令查看 DSP 核打印信息,如下图所示:
Target# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0

1_副本.png 微信图片_20200202105224.jpg

1
ipc-slave.png
ipc-host.png
分享淘帖 显示全部楼层

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发资料
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表