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

error 10099-D

Other Parts Discussed in Thread:C2000WARE

"../2837xD_RAM_CLA_lnk_cpu1.cmd", line 121: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section "Cla1ToCpuMsgRAM" size 0xc4page 1. Available memory ranges:
CLA1_MSGRAMLOW size: 0x80 unused: 0x80 max hole: 0x80error #10010: errors encountered during linking; "f28377d_dsp01_cpu01.out" not built

在28377里加了CLA后,编译报上面的错误

CMD如下

CLA1_MSGRAMLOW : origin = 0x001480, length = 0x000080
CLA1_MSGRAMHIGH : origin = 0x001500, length = 0x000080

如果我把0x000080改大,又会报

"D:/ti/c2000/C2000Ware_3_03_00_00/device_support/f2837xd/headers/cmd/F2837xD_Headers_nonBIOS_cpu1.cmd", line 17: error #10264: CLA1 memory range overlaps existing memory range CLA1_MSGRAMLOW

这个CMD如下

   CLA1                       : origin = 0x00001400, length = 0x00000080

好像被限制了

遇到这样的问题,我究竟应该怎么改

谢谢

Susan Yang:

建议您参考对应例程内的cmd文件设置

如 C2000Ware_3_04_00_00\device_support\f2837xd\examples\cpu1\cla_adc_fir32

以及芯片数据手册内的Table 9-1. C28x Memory Map

www.ti.com/…/tms320f28377d.pdf

,

WilliamFang:

我的程序,应该是变量多了,然后超了,因为之前变量少时,可以编译通过。我想问一下,如果超了,是不是不能改CMD只能改代码了?

,

Susan Yang:

WilliamFang 说:如果超了,是不是不能改CMD只能改代码了?

请您参考一下该链接

您可以合并地址空间的,如我之前的回复

,

WilliamFang:

我修改了地址范围后,虽然没有报错了,但是调试的时候发现,通过CLA计算的结果不能传到CPU,CPU读不到计算结果

,

Susan Yang:

若是可以的话,请私信一下工程,谢谢

,

Susan Yang:

“通过CLA计算的结果不能传到CPU,CPU读不到计算结果”

能否详细说明一下?是哪个变量?

,

WilliamFang:

#pragma DATA_SECTION(X1_I0, "Cla1ToCpuMsgRAM")
struct I2 X1_I0[Sum_of_Line];

#pragma DATA_SECTION(X1_I1, "Cla1ToCpuMsgRAM")
struct I2 X1_I1[3];

#pragma DATA_SECTION(I1_zsc,"CpuToCla1MsgRAM")
float I1_zsc[3];

#pragma DATA_SECTION(D_U02_CLA, "Cla1ToCpuMsgRAM")
float D_U02_CLA;

#pragma DATA_SECTION(gC_DFT_CLA, "Cla1ToCpuMsgRAM")
struct I2 gC_DFT_CLA[Sum_of_Line];

#pragma DATA_SECTION(U0_DFT, "Cla1ToCpuMsgRAM")
struct I2 U0_DFT;

这几个都出现过
现在是U0_DFT读不出来

,

Susan Yang:

我这边编译好多报错,您使用了driverlib?

,

WilliamFang:

没有啊

,

WilliamFang:

我是编译没有错才发的啊

,

Susan Yang:

是的,但是您使用的是绝对路径,所以在其他电脑上会有报错

copy_PARENT 该定义的路径是什么?

,

WilliamFang:

,

Susan Yang:

就是这里面的 copy_PARENT 的路径是什么?CCS的安装文件夹?

因为在 Linked resources内有

copy_PARENT\ti\c2000\C2000Ware_3_03_00_00\device_support\f2837xd\common\source

,

WilliamFang:

D:\ti\c2000\C2000Ware_3_03_00_00\device_support\f2837xd

,

Susan Yang:

还是不行,各种报错。我回头用您的程序放到例程里测试一下吧

,

WilliamFang:

你们要是能用teamview就好了

,

Susan Yang:

U0_DFT读不出来 的表现是什么? 您是在CCS内的 watch窗口查看的?有什么报错或警告信息吗?能否给出相关截图?

,

WilliamFang:

首先是程序运行不正常,对应的分支进不去

然后debug看到是0

没有报错,也没有警告

我附一张正常情况的图

,

Susan Yang:

好的,谢谢您的反馈。我会在测试后给您反馈

,

Susan Yang:

我看您上图测试的是在 CLA disconnect的情况下得到的

但您描述的该值是在cla文件内的

我今天编译成功了,使用launchpad测试,会一直卡在while(Cla1Regs.MIRUN.bit.INT1 == 1);

且U0_DFT的值是0

,

WilliamFang:

我找到一个绕过的办法,就是把Cla1ToCpuMsgRAM和CpuToCla1MsgRAM换个片区,不使用原来的CLA1_MSGRAMLOW和CLA1_MSGRAMHIGH,实测可行。而之前的修改CLA1_MSGRAMLOW和CLA1_MSGRAMHIGH的地址区间是行不通的

,

Susan Yang:

谢谢您的反馈。我今天只是跑了一下您的程序,还没有测试cmd文件。

总之,解决了就好,谢谢您的反馈

赞(0)
未经允许不得转载:TI中文支持网 » error 10099-D
分享到: 更多 (0)