0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AM57XX IPC DEMO编译及使用

星星科技指导员 来源:TI 作者:Denny Yang 2023-03-24 09:34 次阅读

TI处理器平台AM57XX是多核异构结构的SOC,片上有一到两个ARM核(ARM CORTEX-A15)和一到两个DSP(C66x)核。AM57xx处理器是高度集成的器件,可用于实现高性能和多媒体应用。板载加速器提供加速视觉和深度学习功能,支持多个工业以太网协议和视频处理。多核SOC的软件相对单核系统比较复杂,TI的AM57XX的软件包是processor sdk。

SDK默认ARM 跑LINUX系统,DSP跑OPENCL Monitor。ARM通过OPENCL接口使用DSP,DSP起到加速运算的作用,如下图所示:

poYBAGQc_hOAW2eUAAEO6prV0Uc203.png

图1,基于OPENCL的工作方式

很多客户希望自主使用DSP,不用OPENCL框架。TI也提供了基于IPC的ARM DSP工作框架,如下图所示:

poYBAGQc_hOAW71TAAEMHzhsYBU070.png

图2,基于IPC的工作方式

本文介绍图2的工作方式和操作步骤。本文编译工作都是在一台LINUX PC上操作,建议操作系统使用UBUNTU1604或者1804版本。本文基于Processor SDK 06.01.00.08版本操作,其他版本SDK操作步骤大致相似。分步骤操作如下:

1,安装AM57XX RTOS SDK和LINUX SDK。LINUX SDK下载链接如下: http://software-dl.ti.com/processor-sdk-linux/esd/AM57X/latest/index_FDS.html

点击下面链接下载LINUX SDK

pYYBAGQc_hSAJ0gkAABcRWbOEts102.png

在UBUNTU系统下,首先通过chmod +x ….给下载文件一个可执行权限,然后./xxx执行这个安装包,根据提示安装到默认目录。

同理,安装LINUX版本RTOS SDK ,链接如下:http://software-dl.ti.com/processor-sdk-rtos/esd/AM57X/latest/index_FDS.html

poYBAGQc_hSAAW4PAACS67Hy0bo919.png

在UBUNTU系统下,首先通过chmod +x ….给下载文件一个可执行权限,然后./xxx执行这个安装包,根据提示安装到默认目录。

RTOS SDK安装好后会在/home/xxx/ti目录下出现如下文件:

pYYBAGQc_hSABlxYAACzhGfgtF8930.png

2,安装LINUX版本CCS

最新版本CCS下载链接:http://www.ti.com/tool/download/CCSTUDIO

下载这个文件到UBUNTU系统:

poYBAGQc_hWAR6x3AACXvBkKRz4588.png

下载解压后会得到如下文件:

pYYBAGQc_hWAMHoUAABFWCSMOzs831.png

在UBUNTU桌面系统中(注意要登录桌面,不要远程控制台登录),通过控制台执行./ ccs_setup_9.2.0.00013.bin,然后根据提示把CCS安装到/home/xxx/ti目录。

注意:第一次打开CCS会问是否需要导入RTOS安装的一系列组件,选择“是”。

3,新建开发板启动SD卡,编译kernel。

准备一张空白SD卡,插入USB转SD工具,将工具插入UBUNTU PC USB口。然后通过控制台进入ti-processor-sdk-linux-am57xx-evm-06.01.00.08bin,执行./ create-sdcard.sh。根据提示选择SD卡,最终得到一张可以用于启动的SD卡。

把这张卡插入AM5728 IDK,上电可以正常启动LINUX系统。

在ti-processor-sdk-linux-am57xx-evm-06.01.00.08路径下,执行make linux可以把LINUX kernel重新编译。

4,编译IPC EXAMPLE。本文要编译的DEMO路径是:tiipc_3_50_04_07examplesDRA7XX_linux_elf。首先到ipc_3_50_04_07目录编辑products.mak

设置TOOLCHAIN_LONGNAME,TOOLCHAIN_INSTALL_DIR,TOOLCHAIN_PREFIX,KERNEL_INSTALL_DIR等参数

poYBAGQc_haAJgrgAABEdwlGI5o127.png

进入processor_sdk_rtos_am57xx_6_01_00_08目录,编辑makefile如下:

pYYBAGQc_haAF59BAAAjvIusgEE967.png

在processor_sdk_rtos_am57xx_6_01_00_08目录执行./setupenv.sh && make ipc_example,如果一切顺利可以在ipc_3_50_04_07examplesDRA7XX_linux_elf目录下获得编译好的DEMO binary文件。

5,本文测试ex02_messageq这个DEMO,在DRA7XX_linux_elf目录下找到如下文件复制到开发板上LINUX系统。

poYBAGQc_haAGFxWAAAmaBGdZEk938.png

App_host是ARM LINUX跑的软件,server_xxx分别是在DSP1/2,IPU1/2上面跑到软件。把server_xx这几个文件复制到/lib/firmware下面。删除现有的dra7-dsp1-fw.xe66,dra7-dsp2-fw.xe66,dra7-ipu1-fw.xem4,dra7-ipu2-fw.xem4软连接。然后重新建立软链接:

ln -s server_dsp1.xe66 /lib/firmware/dra7-dsp1-fw.xe66

ln -s server_dsp2.xe66 /lib/firmware/dra7-dsp2-fw.xe66

ln -s server_ipu1.xem4 /lib/firmware/dra7-ipu1-fw.xem4

ln -s server_ipu2.xem4 /lib/firmware/dra7-ipu2-fw.xem4

重启系统。

分别执行:./app_host DSP1(DSP2,IPU1,IPU2),可以获得如下输入打印,说明运行成功:

pYYBAGQc_heAJt1uAABOF9u8jUA122.png

6,进一步开发。进入./ti/pdk_am57xx_1_0_16/packages目录,执行source ./pdksetupenv.sh。修改pdkProjectCreate.sh 文件中的CCS路径如下:

poYBAGQc_heAegXMAAASnoc1qBA269.png

执行“./pdkProjectCreate.sh AM572x all little all all dsp”创建DSP DEMO的CCS工程。

一切顺利可以在.tipdk_am57xx_1_0_16packagesMyExampleProjects目录创建一些CCS工程如下:

pYYBAGQc_hiAcBlkAACKxGUhTN0741.png

这些是基于TI RTOS的一些外设接口的DEMO软件,他们可以导入到CCS进行编译和调试,读者可以把需要的DEMO移植到IPC EXAMPLE里,从而实现自己DSP软件。

总结:本文介绍了如何编译测试AM57XX平台IPC的DEMO。首先需要安装UBUNTU操作系统的PC,并在UBUNTU下安装RTOS和LINUX SDK,然后安装LINUX版本CCS。软件安装完毕,需要修改编译脚本,先编译IPC EXAMPLE,然后创建基于CCS的DSP RTOS DEMO。后续需要读者把RTOS DEMO移植到IPC EXAMPLE从而实现自己的DSP软件。

审核编辑:郭婷

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

    关注

    68

    文章

    18298

    浏览量

    222219
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7687

    浏览量

    344388
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8653

    浏览量

    361847
收藏 人收藏

    评论

    相关推荐

    am57xx ddr 参数怎么计算?

    论坛里有am33xx的DDR参数计算xls,有am57xx的吗?
    发表于 06-01 10:47

    (总结)AM57XX平台DSP使用方法。

    ***ios,AM57XX的DSP支持BIOS系统,DSP和ARM可以通过IPC的机制来进行通信。相关资料在二楼。3,DSP裸跑,对于有DSP开发经验的开发者可以裸跑DSP,DSP所有的代码自己来写,DSP和ARM通过MAILBOX硬件来完成,相关资料见三楼。
    发表于 06-04 07:43

    请问ubuntu 14.04 编译am57xx SDK , 发生nativesdk-ti-llvm3.6异常是为什么?

    本帖最后由 一只耳朵怪 于 2018-6-5 14:11 编辑 ubuntu 14.04 编译am57xx SDK , 发生nativesdk-ti-llvm3.6 异常, 求高手
    发表于 06-04 11:31

    am57xx上有两个网卡,请问为什么先配置eth0的ip再配置eth1的ip地址时,只有eth0能ping通?

    本帖最后由 一只耳朵怪 于 2018-6-21 09:34 编辑 am57xx上有两个网卡,我们想通过一个更新板卡系统数据,一个更新采集数据,但不知道为什么先配置eth0的ip再配置eth1
    发表于 06-21 06:25

    请问AM57XX关于VOUT的走线有相应的Guide吗?

    本帖最后由 一只耳朵怪 于 2018-6-21 15:14 编辑 TI工程师:请问AM57XX关于VOUT的走线有相应的Guide吗?麻烦提供下。
    发表于 06-21 07:22

    基于AM57x平台调试串口修改说明

    ;1 修改U-boot源码将光盘资料“U-Boot\U-Boot-2016.05\src”目录下的U-boot内核源码解压到Ubuntu的AM57xx工作目录。打开U-boot源码“board/ti
    发表于 06-26 11:38

    请问如何基于AM5728使用U-Boot来编译

    /tronlong/AM57xx/U-Boot/U-Boot-2016.05”,如下图所示: Host# mkdir -p/home/tronlong/AM57xx/U-Boot
    发表于 06-28 11:40

    【经验分享】基于创龙AM5708多核间通信的IPC例程通用开发流程

    共享内存则无需编译libticmem.a链接库。打开Ubuntu,执行如下指令新建“/home/tronlong/AM57xx/rtos_examples/”工作目录,将光盘“Demo
    发表于 05-15 19:59

    AM5728 多核通信例程使用心得

    ,如果 IPC 例程没有使用到共享内存则无需编译 libticmem.a 链接库。 打开 Ubuntu,执行如下指令新建“/home/xmtech/AM57xx/rtos_examples/”工作目录
    发表于 02-25 23:21

    编译测试AM57XX平台IPCDEMO

    TI的新一代处理器平台AM57XX是多核异构结构的SOC,片上有一到两个ARM核(ARM CORTEX-A15)和一到两个DSP(C66x)核。AM57xx处理器是高度集成的器件,可用于实现高性能
    发表于 08-07 11:11

    AM57XX IPC DEMO编译及使用方法

    TI的新一代处理器平台AM57XX是多核异构结构的SOC,片上有一到两个ARM核(ARM CORTEX-A15)和一到两个DSP(C66x)核。AM57xx处理器是高度集成的器件,可用于实现高性能
    发表于 11-08 08:07

    基于AM57xx与结构光原理的嵌入式3D扫描仪解决方案

    基于AM57xx 和 DLP4500 结构光原理的嵌入式 3D 扫描仪
    的头像 发表于 08-15 01:12 4353次阅读

    如何编译测试AM57XX平台IPCDEMO

    Other Parts Discussed in Post: AM5728作者: Denny Yang TI的新一代处理器平台AM57XX是多核异构结构的SOC,片上有一到两个ARM核(ARM
    的头像 发表于 01-19 16:11 1469次阅读
    如何<b class='flag-5'>编译</b>测试<b class='flag-5'>AM57XX</b>平台<b class='flag-5'>IPC</b>的<b class='flag-5'>DEMO</b>

    基于TI处理器AM57xx的QT程序

    基于TI处理器AM57xx的QT程序,源码代码。用qtcreator打开进行交叉编译
    发表于 09-23 17:12 0次下载

    AM57XX IPC DEMO编译及使用

    AM57XX IPC DEMO编译及使用
    发表于 10-31 08:23 0次下载
    <b class='flag-5'>AM57XX</b> <b class='flag-5'>IPC</b> <b class='flag-5'>DEMO</b><b class='flag-5'>编译</b>及使用