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

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

3天内不再提示

安装AM5728 EVM运行环境

电子设计 来源:电子设计 作者:电子设计 2022-01-15 10:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

传统的C6000 DSP软件是通过CCS在WINDOWS PC上进行编译调试,测试完毕把编译好的可执行文件烧录到FLASH中。通过设置DSP启动模式从FLASH启动,上电即可实现DSP正常运转。当前ARM处理器性能日益增强,在很多应用中系统中会有ARM+DSP的方案。本文提出一种新思路,通过ARM来在线编译DSP的代码,在线下载DSP的程序,并启动DSP运行。这种方法可以带来以下好处:

1、可以动态更新DSP的代码。通过集成不同的DSP库文件可以实现DSP应用和支持库分离,在DSP运行时才进行库和应用连接,极大的提高DSP软件的灵活性。

2、DSP可以不需要FLASH,有利于节省BOM成本。

本文以AM5728 EVM+C6678 EVM为例实现了DSP程序板级在线编译和下载。C6678是目前TI主推的多核高性能DSP,此芯片有8个C66 DSP CORE,支持多种启动模式SRIO/Ethernet/PCIe/I2C/SPI/Hyperlink。本文使用AM5728 A15 ARM来进行DSP代码的编译连接,通过网口下载到C6678板上,并启动6678的8个DSP CORE运行。

一、安装AM5728 EVM运行环境

本步会在AM5728 EVM上安装ARM LINUX系统和C6000 DSP的编译器。步骤如下:

1、使用最新的AM5728 LINUX SDK,本文测试的版本是ti-processor-sdk-linux-am57xx-evm-05.02.00.10。先制作一张启动SD卡,具体操作方法可以参考SDK USER GUIDE。

http://software-dl.ti.com/processor-sdk-linux/esd/AM57X/latest/index_FDS.html

http://software-dl.ti.com/processor-sdk-linux/esd/docs/05_02_00_10/linux/Overview_Getting_Started_Guide.html

2、AM5728 EVM可以顺利启动后,下载DSP的编译器到EVM上,这是在ARM下运行的DSP编译器。下载地址如下:http://www.ti.com/tool/download/C6000-CGT-8-3

3、把下载的文件放到AM5728 EVM上面运行安装。安装完毕可以在文件系统/user/bin/下面找到cg6x、hex6x等编译工具。注意:编译器的头文件和库文件默认安装路径在/usr/share/ti/cgt-c6x/include和/usr/share/ti/cgt-c6x/lib

4、 至此,AM5728 EVM的环境准备好了,可以编写makefile通过command line的方式来编译C66 DSP的代码,具体实现方法见步骤三。

二、准备C6678 EVM

本步会把C6678 DSP配置成ETHERNET BOOT的模式:

1、C6678 EVM DIP拨码开关配置如下:

SW3(pin1, pin2, pin3, pin4): off, on, off, on

SW4(pin1, pin2, pin3, pin4): on, on, on, off

SW5(pin1, pin2, pin3, pin4): on, on, off, off

SW6(pin1, pin2, pin3, pin4): off, on, on, on

2、上述步骤1即可实现DSP ETHERNET BOOT,我们也可以用如下的方法来验证是否成功。EVM和PC直连,上电,通过wireshark工具应该可以抓到bootp数据包,如下:

poYBAGGKVRqAKOs8AACxI00pzIg400.jpg

大概3秒一次。(如果收不到这个数据包,可能需要更新EVM的FPGA程序,请联系TI技术支持索取FPGA更新软件。)

至此6678已经处在ETHERNET BOOT的启动方式下。

三、在AM5728 EVM上编译C6678程序

1、在如下地址下载本文用到的DEMO:https://e2echina.ti.com/question_answer/dsp_arm/c6000_multicore/f/53/t/170590可以通过TFTP工具把这个DEMO放到AM5728文件系统中。

2、在AM5728 EVM上解压缩后可以看到emac_boot_mc.zip,这是本文用到的测试代码,可以把它解压缩。由于软件编译需要CSL库的支持,可以把最新的CSL库复制到AM5728的文件系统。

CSL库下载地址:http://software-dl.ti.com/processor-sdk-rtos/esd/C667x/latest/index_FDS.htmlPC上安装后把pdk_C6678_xxxx这个目录复制到AM5728文件系统。本文把pdk_C6678_1_1_2_6目录复制到文件系统。

3、在AM5728 EVM上通过控制台使用如下命令进行编译:

cl6x -mv6600 --include_pat --include_pat --include_pat --abi=eabi --preproc_with_compile "./core0_start_others.c"

cl6x -mv6600 -z --abi=eabi -i"/usr/share/ti/cgt-c6x/include" -i"/usr/share/ti/cgt-c6x/lib" --reread_libs --xml_link_inf --rom_model -o "core0.out" "./core0_start_others.obj" "./core0_start_other.cmd" -llibc.a

cl6x -mv6600 --include_pat --include_pat --include_pat --abi=eabi --preproc_with_compile "./simple.asm"

cl6x -mv6600 -z --abi=eabi -i"/usr/share/ti/cgt-c6x/include" -i"/usr/share/ti/cgt-c6x/lib" --reread_libs --xml_link_inf --rom_model -o "core1.out" "./simple.obj" "./core1.cmd" -llibc.a

cl6x -mv6600 -z --abi=eabi -i"/usr/share/ti/cgt-c6x/include" -i"/usr/share/ti/cgt-c6x/lib" --reread_libs --xml_link_inf --rom_model -o "core2.out" "./simple.obj" "./core2.cmd" -llibc.a

cl6x -mv6600 -z --abi=eabi -i"/usr/share/ti/cgt-c6x/include" -i"/usr/share/ti/cgt-c6x/lib" --reread_libs --xml_link_inf --rom_model -o "core3.out" "./simple.obj" "./core3.cmd" -llibc.a

cl6x -mv6600 -z --abi=eabi -i"/usr/share/ti/cgt-c6x/include" -i"/usr/share/ti/cgt-c6x/lib" --reread_libs --xml_link_inf --rom_model -o "core4.out" "./simple.obj" "./core4.cmd" -llibc.a

cl6x -mv6600 -z --abi=eabi -i"/usr/share/ti/cgt-c6x/include" -i"/usr/share/ti/cgt-c6x/lib" --reread_libs --xml_link_inf --rom_model -o "core5.out" "./simple.obj" "./core5.cmd" -llibc.a

cl6x -mv6600 -z --abi=eabi -i"/usr/share/ti/cgt-c6x/include" -i"/usr/share/ti/cgt-c6x/lib" --reread_libs --xml_link_inf --rom_model -o "core6.out" "./simple.obj" "./core6.cmd" -llibc.a

cl6x -mv6600 -z --abi=eabi -i"/usr/share/ti/cgt-c6x/include" -i"/usr/share/ti/cgt-c6x/lib" --reread_libs --xml_link_inf --rom_model -o "core7.out" "./simple.obj" "./core7.cmd" -llibc.a

4、把8个.out文件复制到boot目录。

四、使用AM5728 EVM制作并下载6678的程序

本 步骤可以把8个.out文件通过工具合成一个用于网络发送的文件,并发送到6678EVM上运行。

1、AM5728 EVM控制台执行EMACboot_8core.sh脚本,这个脚本可以把8个.out文件合成一个用于网络发送的multi_core.eth文件。脚本如下:

hex6x core0.rmd

hex6x core1.rmd

hex6x core2.rmd

hex6x core3.rmd

hex6x core4.rmd

hex6x core5.rmd

hex6x core6.rmd

hex6x core7.rmd

./mergebtbl core0.btbl core1.btbl core2.btbl core3.btbl core4.btbl core5.btbl core6.btbl core7.btbl multi_core.btbl

./bootpacket multi_core.btbl multi_core.eth FF-FF-FF-FF-FF-FF FF-FF-FF-FF-FF-FF

2、注意,mergebtbl和bootpacket源码都在boot目录,可以通过编译器交叉编译后放到AM5728 EVM上运行。

../ti-processor-sdk-linux-am57xx-evm-05.02.00.10/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -o mergebtbl mergebtbl.c

../ti-processor-sdk-linux-am57xx-evm-05.02.00.10/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -o bootpacket bootpacket.c

3、通过交叉编译器编译工具pcsendpkt,这是网络数据包发送工具。

../ti-processor-sdk-linux-am57xx-evm-05.02.00.10/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -o pcsendpkt pcsendpkt.c

4、6678EVM上电,并通过网口直连AM5728 EVM。在AM5728 EVM控制台输入如下命令:

ifconfig eth1 192.168.1.10

arp -s 192.168.1.12 ff:ff:ff:ff:ff:ff

这两个命令分别配置AM5728和6678的IP地址。

./pcsendpkt multi_core.eth 192.168.1.12
如下图,表示发送完成。

poYBAGGKVR2AIax0AAA7bulk2B4519.jpg

五、通过CCS JTAG查看6678运行结果。

通过仿真器连接6678 CORE1~CORE7任意一个核,可以看到A1寄存器是0x11223344表示启动成功。

审核编辑:何安

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

    关注

    0

    文章

    341

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AM263x控制卡扩展坞技术解析与应用指南

    Texas Instruments TMDSHSECDOCK-AM263 AM263x-CC评估模块 (EVM) 是一个高速边缘卡 (HSEC) 底座,用于TMDSCNCD263 (AM
    的头像 发表于 09-05 10:00 694次阅读
    <b class='flag-5'>AM</b>263x控制卡扩展坞技术解析与应用指南

    Texas Instruments TMDS273EVM MCU评估模块 (EVM)数据手册

    Texas Instruments TMDS273EVM MCU评估模块 (EVM) 是一个独立的测试、开发和评估平台,帮助开发人员评估AM273x的功能和为各种应用开发原型。
    的头像 发表于 08-03 10:06 969次阅读
    Texas Instruments TMDS273<b class='flag-5'>EVM</b> MCU评估模块 (<b class='flag-5'>EVM</b>)数据手册

    Texas Instruments DP83826-EVM-AM2 评估模块(EVM)数据手册

    Texas Instruments DP83826-EVM-AM2评估模块 (EVM) 是一款工业以太网PHY附加板,用于AM2x 系列基于ARM®的高性能微控制器评估模块。该附加板非常适合
    的头像 发表于 07-21 15:36 519次阅读
    Texas Instruments DP83826-<b class='flag-5'>EVM-AM</b>2 评估模块(<b class='flag-5'>EVM</b>)数据手册

    Texas Instruments DP83TG720-EVM-AM2 评估模块(EVM)数据手册

    Texas Instruments DP83TG720-EVM-AM2评估模块 (EVM) 是一款汽车以太网PHY附加板,用于AM2x系列基于ARM®的高性能微控制器评估模块。该附加板非常适合
    的头像 发表于 07-21 11:21 519次阅读
    Texas Instruments DP83TG720-<b class='flag-5'>EVM-AM</b>2 评估模块(<b class='flag-5'>EVM</b>)数据手册

    Texas Instruments LM3645EVM 评估模块(EVM)数据手册

    Texas Instruments LM3645EVM评估模块(EVM)有助于设计人员评估LM3645大电流LED驱动器的运行情况和性能。该器件可通过^I2C^兼容接口实现可配置性。可在闪光灯模式或
    的头像 发表于 07-16 11:12 517次阅读
    Texas Instruments LM3645<b class='flag-5'>EVM</b> 评估模块(<b class='flag-5'>EVM</b>)数据手册

    Texas Instruments DP83867-EVM-AM以太网PHY附加板数据手册

    Texas Instruments DP83867-EVM-AM工业以太网PHY附加板将搭配基于Arm^®^ 的高性能微控制器评估模块使用。该附加板非常适合用于通过评估模块进行以太网初步评估和原型
    的头像 发表于 07-04 11:28 570次阅读
    Texas Instruments DP83867-<b class='flag-5'>EVM-AM</b>以太网PHY附加板数据手册

    如何在树莓派上安装运行 Arduino 集成开发环境

    使用树莓派单板计算机,你可以运行各种应用程序,包括广受欢迎的Arduino集成开发环境(IDE)。这意味着你可以用它轻松地为通过USB连接到树莓派计算机的微控制器编程,以创建交互式电子项目。下面
    的头像 发表于 07-01 17:41 4033次阅读
    如何在树莓派上<b class='flag-5'>安装</b>并<b class='flag-5'>运行</b> Arduino 集成开发<b class='flag-5'>环境</b>!

    在Windows上安装OpenVINO™运行时遇到错误怎么解决?

    已在 Windows* 上安装OpenVINO™运行时。 配置环境变量。 遇到错误: Location is not available.
    发表于 03-05 09:13

    am5728单板不能识别dlp4500设备是怎么回事?

    行就没有反应了,好像挂死了。在am5728运行LightCrafter4500,QT界面上connected按钮依然是红色。 查看am5728的文件系统,里面有libudev, libusb库,
    发表于 03-03 06:11

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

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

    DLPNIRSCANEVM SDK安装完后,提示需要运行一个setup.sh文件,在哪里下载?

    我在安装完DLPNIRSCANEVM的SDK(ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Install.bin)后,发现安装路径下面的文件不全,数量与手册中介
    发表于 02-19 07:37

    LDC1000 EVM GUI驱动无法安装,怎么解决?

    每次打开LDC1000 EVM GUI就会出现这个驱动没有安装,请问程序员怎么解决这个问题啊!!!
    发表于 01-17 06:15

    如何获得ADS1256EVM plug-ins安装于PC上?

    请问如何获得ADS1256EVM plug-ins安装于PC上? 因为直接安装ADCPro Launcher 会提示没有Internet,但确实是有的啊?所以想单独安装试试。但是只有
    发表于 01-15 07:23

    DAC5689EVM测试异常的原因?

    如上图,因研究需要,新买了一块DAC5689EVM官方评估板,按照手册指导安装软件,给板子通电后,运行软件即出现下面的情况(见gif图): 请问这是什么原因?
    发表于 01-08 08:03

    HDC2080EVM为什么无法安装MSP430驱动?

    新购入HDC2080EVM安装好评估软件,插入HDC2080EVM,显示Not Connected, 发现,如下图MSP430-USB驱动未安装。 请问,如何解决?谢谢!
    发表于 12-16 06:42