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

使用TMS320F28335在CCS7.2对错误#10099-D program will not fit into的解决办法

程序目的:为每个变量分配固定的地址空间,使变量可以存放在指定的地址段中

程序应用:计算每个变量(包括结构体变量,数组变量等)在地址段中的空间大小,根据空间大小的值在F28335.cmd文件MEMORYPAGE 1中按顺序定义每个变量的初始地址和长度(存在zone7中且地址无重叠,每段地址空间与变量所需空间严格相同,没有一点点浪费),同时在SECTIONS中对各段地址进行变量映射,并在.c文件中通过#pragma DATA_SECTION语句对变量进行定义(一切应该都是这么完美),但是……

错误:F28335.cmd文件中部分变量的语句报错program will not fit into(这里强调部分是指因为按照同样的方法定义了好多变量,但是有的就会报错有的就不会)

———————————————————-我是分割线^_^———————————————————-

下面是部分错误程序和截图

MEMORYPAGE 1中部分定义

SECTIONS中部分定义

.c中定义

错误

因为每一段地址都是严格按照变量所占空间计算,因此每个变量按照理论上说不会超过所定义的空间大小,但是在对错误语句进行修改时如果扩大MEMORY中的长度,错误就会取消,但是每个变量对地址扩大的值不同且无规律,如下

这个结构体是这样的

因为一个float型数据在地址段中占两个地址(根据其他调试好的程序查看的结果),因此这个变量的长度应该是12个地址也就是0C

但是在编译后就会报错

但是如果把长度改成0D错误就取消(沃特法克)

求错误的原因(赶快告诉我哪里错了我改还不行吗)!!!!

Seven Han:您好,
请参考以下wiki链接中关于报错信息的解释以及解决方法:
processors.wiki.ti.com/…/10099
可以参考以下c28x的FAQ来解决问题:
processors.wiki.ti.com/…/Linker_Command_File_Primer
processors.wiki.ti.com/…/C28x_Compiler_-_Understanding_Linking

程序目的:为每个变量分配固定的地址空间,使变量可以存放在指定的地址段中

程序应用:计算每个变量(包括结构体变量,数组变量等)在地址段中的空间大小,根据空间大小的值在F28335.cmd文件MEMORYPAGE 1中按顺序定义每个变量的初始地址和长度(存在zone7中且地址无重叠,每段地址空间与变量所需空间严格相同,没有一点点浪费),同时在SECTIONS中对各段地址进行变量映射,并在.c文件中通过#pragma DATA_SECTION语句对变量进行定义(一切应该都是这么完美),但是……

错误:F28335.cmd文件中部分变量的语句报错program will not fit into(这里强调部分是指因为按照同样的方法定义了好多变量,但是有的就会报错有的就不会)

———————————————————-我是分割线^_^———————————————————-

下面是部分错误程序和截图

MEMORYPAGE 1中部分定义

SECTIONS中部分定义

.c中定义

错误

因为每一段地址都是严格按照变量所占空间计算,因此每个变量按照理论上说不会超过所定义的空间大小,但是在对错误语句进行修改时如果扩大MEMORY中的长度,错误就会取消,但是每个变量对地址扩大的值不同且无规律,如下

这个结构体是这样的

因为一个float型数据在地址段中占两个地址(根据其他调试好的程序查看的结果),因此这个变量的长度应该是12个地址也就是0C

但是在编译后就会报错

但是如果把长度改成0D错误就取消(沃特法克)

求错误的原因(赶快告诉我哪里错了我改还不行吗)!!!!

user4354841:

回复 Seven Han:

你好!感谢提供的连接资料,但是看过后没没有找到解决我这个问题的办法,我想我把问题情况描述的很清楚,能否指出问题可能会出现在哪呢?谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 使用TMS320F28335在CCS7.2对错误#10099-D program will not fit into的解决办法
分享到: 更多 (0)