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

    浏览量

    10449
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用hbird-e-sdk对demo_nice进行编译时,需要对demo_nice.c文件进行修改哪些地方?

    使用hbird-e-sdk对demo_nice进行编译时,需要对demo_nice.c文件进行修改哪些地方
    发表于 10-20 07:38

    AM6546 Sitara™处理器技术文档总结

    ,以及三个千兆工业通信子系统 (PRU_ICSSG),以创建能够为功能安全应用提供工业连接和处理的高性能工业控制的 SoC。AM65xx目前正在接受TÜV南德意志集团根据IEC 61508认证的评估。
    的头像 发表于 10-10 10:57 2088次阅读
    <b class='flag-5'>AM</b>6546 Sitara™处理器技术文档总结

    TPS7A57EVM-056评估模块技术解析与应用指南

    Texas Instruments TPS7A57EVM-056评估模块配置用于评估TPS7A57 LDO稳压器。TPS757xx系列3A低压差 (LDO) 稳压器包含四个固定电压选项稳压器,集成
    的头像 发表于 09-15 15:27 535次阅读
    TPS7A<b class='flag-5'>57</b>EVM-056评估模块技术解析与应用指南

    env scons 编译找不到stm32f4xx.h,这个怎么解决?

    env scons 编译找不到stm32f4xx.h,这个怎么解决,我看了文件确实是没有
    发表于 08-15 07:28

    Texas Instruments 适用于AM64x Sitalog ™处理器的SK-AM64B入门套件数据手册

    Texas Instruments适用于AM64x Sitara™处理器的SK-AM64B入门套件是一个独立的测试和开发平台,是加速设计原型阶段的理想选择。
    的头像 发表于 07-28 10:20 503次阅读
    Texas Instruments 适用于<b class='flag-5'>AM</b>64x Sitalog ™处理器的SK-<b class='flag-5'>AM</b>64B入门套件数据手册

    航天器电源测试丨基于AM0太阳模拟器实现三波段光谱独立调节设计

    在航天器的漫长征程中,太阳电池是维持其运转的核心能源。与地面不同,太空中的太阳电池需在极端环境下高效工作数十年,这对电池性能测试提出了严苛要求。然而,传统太阳模拟器基于地面光谱标准(AM
    的头像 发表于 07-24 11:30 694次阅读
    航天器电源<b class='flag-5'>测试</b>丨基于<b class='flag-5'>AM</b>0太阳模拟器实现三波段光谱独立调节设计

    太阳光模拟器光谱匹配:AM1.5G与AM1.5D的标准差异

    随着新能源、航空航天等产业对太阳光模拟测试需求的不断升级,AM1.5D与AM1.5G等典型光谱的精准模拟已成为行业关键技术指标。Luminbox深耕太阳光模拟技术多年,通过大量实验室数据积累与算法
    的头像 发表于 07-24 10:23 1170次阅读
    太阳光模拟器光谱匹配:<b class='flag-5'>AM</b>1.5G与<b class='flag-5'>AM</b>1.5D的标准差异

    2025 Electronica Demo前沿 | Samtec线缆动态弯曲测试

    4月15-17日,2025慕尼黑上海电子展在上海新国际博览中心顺利开启,Samtec虎家团队在现场带来Demo总动员和技术分享盛宴。Electronica上海展快报 | Samtec Demo总动员
    发表于 04-23 14:05 3455次阅读

    可以用ipc-shm.bb构建sample_user吗?

    /recipes-kernel/ipc-shm/ipc-shm.bb -DEMO_IPCF_APPS ?= “样本 sample_multi_instance” DEMO_IPCF_A
    发表于 03-25 07:49

    IPC2221简略学习笔记

    关于IPC2221的学习笔记。
    发表于 03-14 18:07 7次下载

    AM572X EVM安装不了DLP-SDK怎么解决?

    我参考文档tiduc48a.pdf 中安装dlp-sdk_2.0-r8.0_cortexa15hf-neon.ipk提示架构不兼容, root@am57xx-evm:~/ipc
    发表于 02-28 07:22

    EE-88:使用21xx编译器在C中初始化变量

    电子发烧友网站提供《EE-88:使用21xx编译器在C中初始化变量.pdf》资料免费下载
    发表于 01-13 15:54 0次下载
    EE-88:使用21<b class='flag-5'>xx</b><b class='flag-5'>编译</b>器在C中初始化变量

    Made with KiCad(111):Vimdrones AM32 ESC 开发板

    “  Vimdrones AM32 ESC 开发板专为 AM32 开源 ESC 项目设计,内置电机和 CAN 端口,可使用 DroneCAN 进行无缝开发和测试。 ” Made with KiCad
    的头像 发表于 01-07 11:14 1888次阅读
    Made with KiCad(111):Vimdrones <b class='flag-5'>AM</b>32 ESC 开发板

    TMS320C6000优化编译器v7.4测试版用户指南

    电子发烧友网站提供《TMS320C6000优化编译器v7.4测试版用户指南.pdf》资料免费下载
    发表于 12-24 17:42 0次下载
    TMS320C6000优化<b class='flag-5'>编译</b>器v7.4<b class='flag-5'>测试</b>版用户指南

    Triton编译器与其他编译器的比较

    的GPU编程框架,使开发者能够编写出接近手工优化的高性能GPU内核。 其他编译器 (如GCC、Clang、MSVC等): 定位:通用编译器,支持多种编程语言,广泛应用于各种软件开发场景。 目标:提供稳定、高效的编译服务,优化代码
    的头像 发表于 12-24 17:25 1570次阅读