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

使用AM5728的双核DSP运行helloworld问题

系统环境:Win7 64位;CCS版本:6.1.3。我是想使用AM5728上的两个DSP核同时运行helloworld程序,创建工程时的选择的是GPEVM_AM572X。

程序文件为:

#include <stdio.h>
#include <c6x.h>

/*
* hello.c
*/
void main(void) {
printf("Hello World!\n");
return;
}

该程序在单核DSP上运行时是没有问题的。当对两个DSP核建立Group cores后,同时运行会出现如下信息:

[C66xx_DSP1] Hello World!
[C66xx_DSP2] Invalid CIO command (255) in the CIO buffer at address (0x403113C0) was not recognized. Please check the device and program memory maps.

然后我去查看了工程创建时默认配置的AM57xx_C66.cmd文件,内容如下:

MEMORY
{
IRAM_MEM: o = 0x00800000 l = 0x00008000 /* 32kB internal SRAM */
OCMC_RAM1: o = 0x40300000 l = 0x00080000 /* 512kB L3 OCMC SRAM1 */
OCMC_RAM2: o = 0x40400000 l = 0x00100000 /* 1MB L3 OCMC SRAM2 */
OCMC_RAM3: o = 0x40500000 l = 0x00100000 /* 1MB L3 OCMC SRAM3 */
DDR0: o = 0x80000000 l = 0x40000000 /* 1GB external DDR Bank 0 */

}

SECTIONS
{
.text > OCMC_RAM1
.stack > OCMC_RAM1
.bss > OCMC_RAM1
.cio > OCMC_RAM1
.const > OCMC_RAM1
.data > OCMC_RAM1
.switch > OCMC_RAM1
.sysmem > OCMC_RAM1
.far > OCMC_RAM1
.args > OCMC_RAM1
.ppinfo > OCMC_RAM1
.ppdata > OCMC_RAM1
/* COFF sections */
.pinit > OCMC_RAM1
.cinit > OCMC_RAM1
/* EABI sections */
.binit > OCMC_RAM1
.init_array > OCMC_RAM1
.neardata > OCMC_RAM1
.fardata > OCMC_RAM1
.rodata > OCMC_RAM1
.c6xabi.exidx > OCMC_RAM1
.c6xabi.extab > OCMC_RAM1
}

根据错误信息提示应该是.cmd中.cio的配置存在问题,从.cmd中可以看到,虽然有三个OCMC_RAM,但是现在只使用了一个。然后我参考了C6678的.cmd文件,我发现其中可以对每一个DSP核分别进行SECTIONS的配置,但里面使用了“#ifdef CORE0”这样的语句,那在AM5728里可不可以采用同样的方式对两个DSP核进行分别配置呢?或者说有其他的方式可以解决这种配置问题。(因为我没有找到CORE0这个量是如何定义的)

所以我想请问一下怎样能对两个核进行分别配置,或者有什么参考资料?

非常感谢!

Dinan Liang:

回复 yongqing wang:

非常感谢您的帮助,仔细看了链接的内容后,我把两个DSP核的SECTIONS分配到了不同的MEMORY中,从而解决了我的问题。

yongqing wang:

回复 Dinan Liang:

不客气

user5875077:

回复 Dinan Liang:

你好,你是怎么解决问题的,那个链接我怎么访问不了? 我现在用dsp2运行自己的程序直接就报错了。

yongqing wang:

回复 user5875077:

e2e.ti.com/…/29975则个链接访问没有问题的,也不用翻墙

user5875077:

回复 yongqing wang:

我看了链接,怎么将section分配到不同的memory上?TI纯小白,求指点

yongqing wang:

回复 user5875077:

这个你看以参考一楼的样子写

赞(0)
未经允许不得转载:TI中文支持网 » 使用AM5728的双核DSP运行helloworld问题
分享到: 更多 (0)