【经验分享】基于创龙AM5708多核间通信的IPC例程通用开发流程
此文章原创来源于:创龙电子
AM5708嵌入式开发板是一款由创龙基于TI AM570x浮点DSP C66x + ARM Cortex-A15工业控制及可编程音视频处理器。由SOM-TL570x工业核心板设计的开发板,它为用户提供了SOM-TL570x工业核心板的测试平台,用于快速评估SOM-TL570x工业核心板的整体性能。广泛应用于机器视觉、电力自动化、智能交通、医疗器械、自动分拣装置、高精度仪器仪表、高端数控系统等多种工业应用场合。
下面简单讲解一下创龙基于AM57x核间通信的IPC例程位于光盘"Demo\rtos-examples"目录下,其中ti-linux-ipc-examples文件夹下包含TI官方例程,tl-linux-ipc-examples文件夹下为创龙移植的IPC例程。
每个IPC例程包含src、bin两个文件夹,其中src文件夹下含例程源文件,bin文件夹下含有我司提供的IPC例程可执行文件,将其复制到开发板文件系统下即可测试。本章节以光盘"Demo\rtos-examples\tl-linux-ipc-examples\tl-gatemap-mutex-access"例程为例,演示基于AM57x核间通信IPC例程在Linux下的通用开发步骤。测试前请参照《基于创龙AM57x的RTOS SDK开发环境搭建和编译说明》文档,搭建基于Linux的RTOS Processor-SDK-04.03开发环境、编译IPC例程需要依赖的IPC链接库。
AM5708编译libticmem.a链接库
libticmem.a共享内存链接库提供对共享内存的支持,它是由IPC例程"/src/ludev"源文件编译生成,例程如果未使用共享内存则源码不含该文件。
如果IPC例程需要使用到共享内存,请参照如下方法编译生成libticmem.a链接库。编译IPC例程时依赖于libticmem.a链接库,如果IPC例程没有使用到共享内存则无需编译libticmem.a链接库。
打开Ubuntu,执行如下指令新建“/home/tronlong/AM57xx/rtos_examples/”工作目录,将光盘“Demo\rtos-examples\tl-linux-ipc-examples\tl-gatemap-mutex-access”例程整个文件夹上传到rtos_examples工作目录。
Host# mkdir -p /home/tronlong/AM57xx/rtos_examples
Host# cd /home/tronlong/AM57xx/rtos_examples
图 1
进入IPC例程"/src/ludev"目录,在ludev下依次执行如下指令,新建__install目录用于存放编译生成的文件。并设置好环境变量,其中"prefix="参数应根据IPC例程"ludev/__install"目录实际路径修改。
Host# cd tl-gatemap-mutex-access/src/ludev/
Host# mkdir __install
Host# ./configure --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc --prefix=/home/tronlong/AM57xx/rtos_examples/tl-gatemap-mutex-access/src/ludev/__install
图 2
执行如下指令编译并安装镜像,编译完成后,将在“__install/lib”目录下会生成libticmem.a链接库文件,如下图所示:
Host# make && make install
图 3
图 4
AM5708的IPC例程编译
以光盘“Demo\rtos-examples\tl-linux-ipc-examples\tl-gatemap-mutex-access”例程为例,进入tl-gatemap-mutex-access工程源码目录,打开products.mak文件,参照如下方法并结合实际情况配置环境变量,其他变量保持一致无需修改。
Host# vi products.mak
图 5
Linux-RT交叉编译工具链路径
TOOLCHAIN_INSTALL_DIR = /home/tronlong/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr
Cmem链接库路径
CMEM_INSTALL_DIR = /home/tronlong/AM57xx/rtos_examples/tl-gatemap-mutex-access/src/ludev
图 6
修改完成保存退出后,执行如下指令清理工程,编译并安装镜像。
Host# make clean
Host# make -j 8 && make install
图 7
编译完成后,会在“install/tl-gatemap-mutex-access/debug”目录下生成可执行文件,本例程编译生成了A15核可执行文件(app_host)和DSP1核可执行文件(server_dsp1.xe66),不同例程编译生成的可执行文件不一样。不同核心对应的可执行文件、trace buffer(调试信息)路径不相同,对应关系如下表所示。
表 1
核心 | 可执行文件 | 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 |
Host# tree -A install/
图 8
AM5708的IPC例程测试
为便于测试,我司提供经测试验证的IPC例程可执行文件,位于光盘“Demo\rtos-examples”路径下的IPC工程bin目录下,bin目录下还包含load-firmware.sh脚本文件,ARM端通过load-firmware.sh脚本文件加载可执行文件到DSP/M4核心。
以tl-gatemap-mutex-access例程为例,将光盘“Demo\rtos-examples\tl-linux-ipc-examples\tl-gatemap-mutex-access\bin”文件夹复制到开发板文件系统“/home/root”目录下。进入文件系统bin目录,执行load-firmware.sh脚本文件加载固件:
Target# ./load-firmware.sh
图 9
执行如下指令,运行A15测试程序:
Target# ./app_host
图 10
执行如下指令查看DSP核打印信息,如下图所示:
Target# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0
图 11
AM570x开发板开发资料
提供核心板引脚定义、可编辑底板原理图、可编辑底板PCB、芯片Datasheet,缩短硬件设计周期;
提供系统烧写镜像、内核驱动源码、文件系统源码,以及丰富的Demo程序;
提供完整的平台开发包、入门教程,节省软件整理时间,上手容易;
提供详细的DSP+ARM多核通信教程,有力解决多核开发瓶颈;
提供基于Qt的图形界面开发教程。
开发例程主要包括:
基于ARM端的Linux开发例程
基于TI-RTOS的ARM、DSP、PRU、IPU的开发例程
基于OpenCL、OpenMP、IPC的多核开发例程
基于OpenCV的图像开发例程
基于Qt的入门开发例程
基于TI-RTOS和RT-Linux的EtherCAT开发例程
音视频采集和编解码例程
产品性能解析:
l SOM5708工业级核心板
创龙,高品质工业核心板
1. AM5708工业级核心板,集TI DSP C66x + ARM Cortex-A15工业控制及可编程音视频处理器;
2. 支持OpenCL、OpenMP、IPC多核开发;支持安全引导、加密加速,支持TEE可信执行环境和安全软件控制调试;
3. C66x浮点VLIW DSP主频高达750MHz,基于C66x可实现运动控制、视觉处理等算法;
4. 外设资源丰富,集成双千兆网、PCIe 2.0、GPMC、USB 2.0、UART、SPI、QSPI、I2C、DCAN等工业控制总线,支持极速接口USB 3.0;
5. 核心板大小仅有58mm*36mm,采用工业级精密B2B连接器,0.5mm间距,稳定性强,易插拔,防反插;
6. 提供丰富例程,支持RT-Linux、TIRTOS实时操作系统,确保工业实时任务的执行。
7. 升级替换DM3730、OMAP-L138、DM8148、AM5728。
l AM5708开发板
创龙,嵌入式一体化解决方案商提供
1. AM5708开发板底板创龙采用沉金无铅工艺的4层板设计,基于TI AM570x浮点DSP C66x + ARM Cortex-A15工业控制及可编程音视频处理器;
2. pin to pin兼容AM5708/AM5706,集成ARMCortex-A15、C66x浮点DSP、2个双核PRU-ICSS、2个双核IPU Cortex-M4和GPU等处理单元,支持OpenCL、OpenMP、IPC多核开发;
3. 内部IVA-HD系统支持H.264视频编解码,最高支持1路4K@15或1路1080P60或2路720P60或4路720P30或者其他硬件编解码;
4. 集成PowerVR SGX544 3D GPU和GC320 2D图形加速引擎(仅限AM5708),支持OpenGL -ES 2.0;
5. 开发板引出1路RGMII千兆以太网,2路PRU MII百兆网,支持EtherCAT等工业现场总线;
6. 引出1路MIPI CSI-2摄像头输入接口,包含2组数据差分对信号,支持RaspberryPi Camera V2.1,Digilent Pcam 5C摄像头模块;
7. 支持1路HDMI OUT和1路LCD电阻屏1080P60全高清视频输出;
8. 通过GPMC拓展口引出GPMC总线,可在底板实现与FPGA通信;通过扩展接口引出UART、I2C、SPI、McASP、NMI等信号;
9. 底板引出PCIe 2.0,Gen2 SLOT插槽,支持1*1 lane、1*2 lane、2*1lane;
10.开发板大小为180mm*130mm,采用工业级精密B2B连接器与核心板相连,保证信号完整性;
11.提供丰富例程,支持RT-Linux、TI RTOS实时操作系统,确保工业实时任务的执行。
12.集成USB3.0、SATA、HDMI、PCIe、MIPI、千兆网、双百兆网,接口丰富,并支持H.264硬解码和图形加速,适用于音视频处理、工业控制等应用。
-
-
-
13944594890 | 当前状态:离线
总积分:0 2024年可用积分:0
注册时间: 0001-01-01
最后登录时间: 0001-01-01
-
13944594890 发表于 2019/7/6 21:17:07
感谢分享!
引用 13944594890 2019/7/6 21:17:07 发表于2楼的内容
-
-
-
hpxx 发表于 2020/11/17 16:05:06
楼主分享的不错顶一下
友情链接:股市资讯网股票网银投网今日股市网证券资讯网娱星网明星娱乐资讯网第一娱乐网汇娱网星光娱乐网电影花絮网热片网99电影网电影之家在线电影网12星座网12星座心理测试网12星座周公解梦网十二生肖星座网星座风水网
引用 hpxx 2020/11/17 16:05:06 发表于3楼的内容