TI论坛
直播中

张立

7年用户 206经验值
私信 关注
[问答]

c6455平台DSP/BIOS下使用#pragma出现错误

程序猿们好,在DSP/BIOS下会自动生成.cmd文件,但是我自己也写了一个c6455.cmd,内容如下
-l mygpiocfg.cmd

SECtiONS
[
    .SEG0:           []>  DDR2
]
并且选择了Exclude from Build.
DSP/BIOS自动生成的mygpiocfg.cmd没有任何设置。
在我的main函数里面有这样一句话:
#pragma DATA_SECTION(data,".SEG0");
char data[]=[0x00,0x00,0x00];
但是我查data的地址时,却发现他并不在DDR2里面,这是肿么搞得?
tcf里面MEM下有DDR2内存块,起始地址为0xe0000000
build时没有任何错误,只是有个警告,如下:
#10247-D creating output section ".SEG0" without a SECTIONS specification
求怎么解决。

回帖(10)

余少虹

2019-1-17 09:23:50
试试在cfg文件里添加下面的语句:
program.sectMap["SEG0"] = "DDR2"
举报

张立

2019-1-17 09:34:09
引用: vuywsdfwf 发表于 2019-1-17 09:23
试试在cfg文件里添加下面的语句:
program.sectMap["SEG0"] = "DDR2"

你好,我用的是bios_5_41_13_42,ccs5.2,里面没有cfg。你能不能帮忙运行一下,测试一下,就随便写个程序
举报

余少虹

2019-1-17 09:48:56
引用: www1222 发表于 2019-1-17 09:34
你好,我用的是bios_5_41_13_42,ccs5.2,里面没有cfg。你能不能帮忙运行一下,测试一下,就随便写个程序

试试在tcf文件里添加如下语句。
bios.MEM.SEG0= prog.get("DDR");
举报

张立

2019-1-17 09:56:43
引用: vuywsdfwf 发表于 2019-1-17 09:48
试试在tcf文件里添加如下语句。
bios.MEM.SEG0= prog.get("DDR");

你试了行么?我试了不行,我主要想的是用一个自己编写的cmd来实现一部分SECTION
举报

更多回帖

发帖
×
20
完善资料,
赚取积分