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

如何配置ccs编译文件及分配内存空间的顺序?

我用的是比较老的ccs3.3,dsp为28335,有个问题是:
在多个文件中都会有变量函数等定义,如何控制这些文件编译的顺序和内存分配的顺序呢?
如图中1所示,main、uart、test都是工程中的源文件,是什么配置导致了是这个顺序?
再有就是图中2所示的retain是什么意思?为什么这个文件有这个注释,其他的没有呢?从什么地方可以配置?

谢谢

rookiecalf:

函数和变量地址可以通过#pragma CODE_SECTION和#pragma DATA_SECTION进行明确指定。

源文件编译的.text中分配时按照编译目标的大小进行先后分配的,先大后小。

retain的段内是含有中断函数的。

我用的是比较老的ccs3.3,dsp为28335,有个问题是:
在多个文件中都会有变量函数等定义,如何控制这些文件编译的顺序和内存分配的顺序呢?
如图中1所示,main、uart、test都是工程中的源文件,是什么配置导致了是这个顺序?
再有就是图中2所示的retain是什么意思?为什么这个文件有这个注释,其他的没有呢?从什么地方可以配置?

谢谢

lee lee2:

回复 rookiecalf:

谢谢啊,果真是你说的这样,自己都没注意到占用空间大小的降序关系。

如果我想让小的文件先编译,有什么办法么?还是只能把其他都文件中的合到这个文件里,使这个文件变大了?

我用的是比较老的ccs3.3,dsp为28335,有个问题是:
在多个文件中都会有变量函数等定义,如何控制这些文件编译的顺序和内存分配的顺序呢?
如图中1所示,main、uart、test都是工程中的源文件,是什么配置导致了是这个顺序?
再有就是图中2所示的retain是什么意思?为什么这个文件有这个注释,其他的没有呢?从什么地方可以配置?

谢谢

lee lee2:

回复 rookiecalf:

因为需要兼容以前的其他程序,之前用到了对固定内存区域进行读取数值进行数据判别,因此新的程序需要和之前的程序在同样的区域进行定义。但是文件分配的顺序变了就影响到判断数据的地址,无法与之前的程序兼容了。

我用的是比较老的ccs3.3,dsp为28335,有个问题是:
在多个文件中都会有变量函数等定义,如何控制这些文件编译的顺序和内存分配的顺序呢?
如图中1所示,main、uart、test都是工程中的源文件,是什么配置导致了是这个顺序?
再有就是图中2所示的retain是什么意思?为什么这个文件有这个注释,其他的没有呢?从什么地方可以配置?

谢谢

rookiecalf:

回复 lee lee2:

如果你说的数据是指代码段的话,可以使用#pragma CODE_SECTION明确指定相关函数到固定的存储地址

赞(0)
未经允许不得转载:TI中文支持网 » 如何配置ccs编译文件及分配内存空间的顺序?
分享到: 更多 (0)