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

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

3天内不再提示

如何编译测试AM57XX平台IPC的DEMO

电子设计 来源:电子设计 作者:电子设计 2022-01-19 16:11 次阅读

Other Parts Discussed in Post: AM5728

作者: Denny Yang

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

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

pYYBAGGKTj2AE5D5AAEO6prV0Uc217.png

图1,基于OPENCL的工作方式

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

pYYBAGGKTj-ASsrcAAEMHzhsYBU080.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

poYBAGGKTkGAYzhnAABcRWbOEts405.png

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

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

pYYBAGGKTkKAR4cDAACS67Hy0bo037.png

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

2,安装LINUX版本CCS

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

下载这个文件到UBUNTU系统:

poYBAGGKTkaAMEjUAACXvBkKRz4424.png

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

pYYBAGGKTkiAVcBlAABFWCSMOzs897.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.08\bin,执行。/ 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路径是:ti\ipc_3_50_04_07\examples\DRA7XX_linux_elf。首先到ipc_3_50_04_07目录编辑products.mak

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

pYYBAGGKTkqAQu_JAABEdwlGI5o061.png

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

poYBAGGKTkuAW1qlAAAjvIusgEE613.png

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

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

pYYBAGGKTk2AE5cYAAAmaBGdZEk516.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),可以获得如下输入打印,说明运行成功:

poYBAGGKTk-AD9t1AABOF9u8jUA875.png

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

pYYBAGGKTlGAFBkWAAASnoc1qBA063.png

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

一切顺利可以在。\ti\pdk_am57xx_1_0_16\packages\MyExampleProjects目录创建一些CCS工程如下:

pYYBAGGKTlKAeuKaAACKxGUhTN0648.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软件。

审核编辑:金巧

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

    关注

    0

    文章

    341

    浏览量

    9994
收藏 人收藏

    评论

    相关推荐

    TAS57XX当BCLK为64*fs的频率,BCLK和MCLK引脚连接在一起用,这个是对57XX所有芯片都适用吗?

    TAS57XX当BCLK为64*fs的频率,并且采样率在44.1KHz以上的时候可以使用。此时,BCLK和MCLK引脚连接在一起用,这个是对57XX所有芯片都适用吗?会对音频指标有什么影响吗?
    发表于 11-06 08:33

    MSP430FR57xx的无线(OTA)更新

    电子发烧友网站提供《MSP430FR57xx的无线(OTA)更新.pdf》资料免费下载
    发表于 10-18 10:33 0次下载
    MSP430FR<b class='flag-5'>57xx</b>的无线(OTA)更新

    使用AM17xx引导加载程序

    电子发烧友网站提供《使用AM17xx引导加载程序.pdf》资料免费下载
    发表于 10-14 11:31 0次下载
    使用<b class='flag-5'>AM17xx</b>引导加载程序

    AM18xx引脚多路复用实用程序

    电子发烧友网站提供《AM18xx引脚多路复用实用程序.pdf》资料免费下载
    发表于 10-14 11:17 0次下载
    <b class='flag-5'>AM18xx</b>引脚多路复用实用程序

    AM17xx引脚多路复用实用程序

    电子发烧友网站提供《AM17xx引脚多路复用实用程序.pdf》资料免费下载
    发表于 10-14 10:22 0次下载
    <b class='flag-5'>AM17xx</b>引脚多路复用实用程序

    AM57xx Sitara IO配置要求德州仪器Sitara系列产品

    电子发烧友网站提供《AM57xx Sitara IO配置要求德州仪器Sitara系列产品.pdf》资料免费下载
    发表于 10-11 10:15 0次下载
    <b class='flag-5'>AM57xx</b> Sitara IO配置要求德州仪器Sitara系列产品

    AM57x、DRA7x和TDA2x EMIF工具

    电子发烧友网站提供《AM57x、DRA7x和TDA2x EMIF工具.pdf》资料免费下载
    发表于 10-11 10:00 0次下载
    <b class='flag-5'>AM57</b>x、DRA7x和TDA2x EMIF工具

    AM57XX处理器平台ARM和DSP通信的实现

    电子发烧友网站提供《AM57XX处理器平台ARM和DSP通信的实现.pdf》资料免费下载
    发表于 09-30 11:50 0次下载
    <b class='flag-5'>AM57XX</b>处理器<b class='flag-5'>平台</b>ARM和DSP通信的实现

    使用LP8733xx PMIC为AM64xx供电

    电子发烧友网站提供《使用LP8733xx PMIC为AM64xx供电.pdf》资料免费下载
    发表于 09-25 10:55 0次下载
    使用LP8733<b class='flag-5'>xx</b> PMIC为<b class='flag-5'>AM64xx</b>供电

    AM65xx时间同步架构

    电子发烧友网站提供《AM65xx时间同步架构.pdf》资料免费下载
    发表于 09-19 13:38 0次下载
    <b class='flag-5'>AM65xx</b>时间同步架构

    AM335x和AM43xx Sitara处理器USB布局指南

    电子发烧友网站提供《AM335x和AM43xx Sitara处理器USB布局指南.pdf》资料免费下载
    发表于 09-19 11:05 0次下载
    <b class='flag-5'>AM</b>335x和<b class='flag-5'>AM43xx</b> Sitara处理器USB布局指南

    使用AM18xx引导加载程序

    电子发烧友网站提供《使用AM18xx引导加载程序.pdf》资料免费下载
    发表于 09-19 11:01 0次下载
    使用<b class='flag-5'>AM18xx</b>引导加载程序

    使用LP8733xx和 TPS65218xx PMIC为AM64x和AM243x Sitara处理器供电应用说明

    电子发烧友网站提供《使用LP8733xx和 TPS65218xx PMIC为AM64x和AM243x Sitara处理器供电应用说明.pdf》资料免费下载
    发表于 09-12 09:19 0次下载
    使用LP8733<b class='flag-5'>xx</b>和 TPS65218<b class='flag-5'>xx</b> PMIC为<b class='flag-5'>AM</b>64x和<b class='flag-5'>AM</b>243x Sitara处理器供电应用说明

    IPC平台商的市场格局

    AIoT星图研究院《2023视觉IoT消费市场分析报告》市场调研临近尾声,在我们走访企业时发现个有趣的现象:“头部方案商自己在做IPC平台,而不少IPC平台商也做方案,甚至成品”。
    的头像 发表于 01-25 11:00 1066次阅读
    <b class='flag-5'>IPC</b><b class='flag-5'>平台</b>商的市场格局

    mini57系列运行带算法库的程序,编译没有错误但无法运行是为什么?

    我用mini57系列的芯片跑做一个心率检测的产品。加入心率算法库后,发现程序无法运行,但是编译没有报错。我在线仿真发现无法进入main函数,程序运行不了。算法库是用新塘的demo在keil的环境下生成的。 不知道是为什么。
    发表于 01-15 08:33