TI中文支持网
TI专业的中文技术问题搜集分享网站

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

Other Parts Discussed in Thread:SYSBIOS, AM5728

最近经常遇到网友会咨询AM57XX平台DSP如何使用,现总结如下:

1,opencl,标准processor sdk linux是把DSP当作一个加速器来使用的,DSP跑的是OPENCL组件,因此开发者只需要了解OPENCL的API就可以对DSP进行编程了。不需要对DSP进行学习。一楼主要介绍这方面的一些资料。

2,sysbios,AM57XX的DSP支持BIOS系统,DSP和ARM可以通过IPC的机制来进行通信。相关资料在二楼。

3,DSP裸跑,对于有DSP开发经验的开发者可以裸跑DSP,DSP所有的代码自己来写,DSP和ARM通过MAILBOX硬件来完成,相关资料见三楼。

Denny%20Yang99373:

一楼,OPENCL

SDK安装好默认OPENCL是装好的,不要做额外工作,只需编写OPENCL代码即可。

http://downloads.ti.com/mctools/esd/docs/opencl/index.html

这是OPENCL的相关资料。

附件是OPENCL的一份实验手册。

,

Denny%20Yang99373:

二楼,IPC

IPC需要安装processor sdk的LINUX和RTOS版本。

资料见附件

,

Denny%20Yang99373:

三楼,DSP裸跑。

这样一套软件包括以下几个部分:

1)     arm侧user space测试程序;

2)     arm侧硬件驱动;

3)     dsp侧测试程序;

4)     arm侧Linux下加载DSP代码的程序。

相关资料见附件

,

Denny%20Yang99373:

根据需要三种方法任选其一即可。

效率   3 > 2 >1

开发时间    3 > 2 >1

,

ye xu:

请问一下,我们希望使用AM5728上的PCIE总线连接DSP和别的板卡上的FPGA,如何操作比较好?直接在ARM上用opencl编程能够实现吗,还是需要使用TI RTOS才行?非常感谢

,

yuexin lin:

你好

关于IPC方法

给的PPT有许多写得不清楚的东西,例如:

1、SDK make linux 后并没有ipc_xxxx这个文件夹,需要自行下载。

2、copy demo to filesystem/lib/firmware 这一步,复制到evm上还是在ubuntu上?

恕愚钝,太多看不懂的地方

best

,

yongqing wang:

以前我还以为没有GPU实现不了,现在终于明白

,

user5875077:

1.ipc_xxx这个是自己创建的目录,用来存放编译生成的文件,完整编译命令make linux INSTALL=$ipc_xxx
2. 复制到evm上,并修改dra7-dsp1-fw.xe66 ->/lib/firmware/demo

,

user5875077:

1和2能否一起使用呢?AM5728有2个dsp,一个用opencl一个用ipc,这样是否可行?

,

user5875077:

dra7-dsp1-fw.xe66 ->/lib/firmware/dra7-dsp1-fw.xe66.xe66.opencl-monitor

dra7-dsp2-fw.xe66 ->/lib/firmware/dra7-dsp2-fw.xe66.xe66.opencl-monitor
=》这2个opencl-monitor的源码在哪里可以查看?我想把它们合成一个

,

yongqing wang:

可以在这里查找https://git.ti.com/opencl

,

user5977961:

你好请问如果用第三种方法的话,里面的AM57xx_DSP1DEMO.out,AM57xx_DSP2DEMO.out程序是否能换成在ccs用sysbios编写的dsp程序运行呢

,

yongqing wang:

可以

,

user5977961:

你好在第三种方法中,我修改mailbox_driver的makefile文件,然后重新编译成自己内核版本下的驱动,结果报错

root@tronlong-virtual-machine:~/AM57xx/my file/armdspcommunication_0404/mailbox_driver# makemake -C /home/tronlong/AM57xx/kernel/Linux-4.4.19 M=/home/tronlong/AM57xx/my file/armdspcommunication_0404/mailbox_driver modules ARCH=arm CROSS_COMPILE=/home/tronlong/ti-processor-sdk-linux-am57xx-evm-03.01.00.06/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-make[1]: Entering directory `/home/tronlong/AM57xx/kernel/Linux-4.4.19'make[1]: *** No rule to make target `file/armdspcommunication_0404/mailbox_driver'. Stop.make[1]: Leaving directory `/home/tronlong/AM57xx/kernel/Linux-4.4.19'make: *** [all] Error 2root@tronlong-virtual-machine:~/AM57xx/my file/armdspcommunication_0404/mailbox_driver#

请问这是什么原因呢,是因为我这个linux4.4.19的内核版本中缺少这个驱动相应的库文件吗

,

user5977961:

你好请问一下第三种方法中 ,进入dsploader目录分别执行“./dsploader AM57xx_DSP1DEMO.out dsp1”,"./dsploader AM57xx_DSP2DEMO.out dsp2"来加载 dsp的软件。 这一步我把AM57xx_DSP1DEMO.out换成了led闪烁的程序tl-led-flash_c66.out,然后执行 ./dsploader tl-led-flash_c66.out dsp1后led灯没有开始闪烁,请问还需要执行什么步骤吗,我看说明书上说需要用ccs6来编译out文件,我用的是ccs7,请问是这个原因导致没成功吗

,

yongqing wang:

应该不用,你也可以试试

,

user5977961:

你好我用第三种方法把AM57xx_DSP1DEMO.out换成了led闪烁的例程tl-led-flash_c66.out,然后执行./dsploader tl-led-flash_c66.out dsp1后led灯仍然没有开始闪烁,请问是什么原因呢

,

yongqing wang:

有啥报错吗

,

yongqing wang:

这个帖子可以参考一下:e2e.ti.com/…/1860933

,

user5977961:

您好,我这个tl-led-flash_c66.out例程在使用仿真器连接后能在dsp上运行使得led闪烁,但改用dsploader的时候就没有反应,打印信息如下
root@am57xx-evm:/opt/armdspcommunication_0404/dsploader# ./dsploader tl-led-flash_c66.out dsp1
filesize=2676788
/dev/mem opened.
*************Ehdr information start**************
type(1-relocatable 2-executable 3-shared 4-core)=2
machine(arm-40,386-3,c6000-140)=140
version(0-none,1-current)=1
entry point=0x84044e80
program header offset = 0x28d114
section header offset=0x28d1f4
cpu flags=0
elf header size=52
program header entsize= 32
program header num=7
section header entsize= 40
section header num=40
section header str table index=39
*************Ehdr information end**************

************Phdr information start**************
p_type= 1
p_offset=56
p_vaddr=1076887552
p_paddr=1076887552
p_filesz=0
p_memsz=7456
p_flags=6
p_align=8
*************Phdr information end**************

Entry point = 0x84044e80 ph_offset=28d114 phnum=7 phdr=22008
entering for loop.
entering for loop.
entering if loop.
dstaddr=0x80301d20 srcaddr=0xb6c54048 size=2144(0x860)
Memory mapped at address 0xb6ff2000.
entering for loop.
entering for loop.
entering if loop.
dstaddr=0x84033fe0 srcaddr=0xb6c548a8 size=98834(0x18212)
Memory mapped at address 0xb6c3a000.
entering for loop..114972] omap_l3_noc 44000000.ocp: L3 application error: target 5 mod:1 (unclearable)
[114.219019] omap_l3_noc 44000000.ocp: L3 debug error: target 5 mod:1 (unclearable)

entering for loop.
entering if loop.
dstaddr=0x8404f204 srcadr=0xb6c6cac0 size=36(0x24)
Memory mapped at address 0xb6ff3000.
entering for loop.
entering if loop.
dstaddr=0x8404f400 srcaddr=0xb6c6cc08 size=6224(0x1850)
Memory mapped at address 0xb6ff2000.
Load finished
elf load success,entry point 0x84044e80
root@am57xx-evm:/opt/armdspcommunication_0404/dsploader#

能帮我看下哪里出错了吗,不胜感激

,

boss BAO:

请问在PROCESSOR-SDK-LINUX-AM57X 和PROCESSOR-SDK-LINUX-RT-AM57X下,DSP的使用这三种方式都可以么?IPU的通讯和使用法式是什么?

,

boss BAO:

请问在PROCESSOR-SDK-LINUX-AM57X 和PROCESSOR-SDK-LINUX-RT-AM57X下,DSP的使用这三种方式都可以么?IPU的通讯和使用法式是什么?

,

boss BAO:

请问在PROCESSOR-SDK-LINUX-AM57X 和PROCESSOR-SDK-LINUX-RT-AM57X下,DSP的使用这三种方式都可以么?IPU的通讯和使用法式是什么?

,

yongqing wang:

资料里的例程有没有成功运行

,

user6553553:

您好请问您是否已经找到源码dra7-dsp1-fw.xe66.opencl-monitor

赞(0)
未经允许不得转载:TI中文支持网 » (总结)AM57XX平台DSP使用方法。
分享到: 更多 (0)