在使用C6748的时候,希望有一个库的代码段地址是单独分配的,查找了一下C6000 Compiler Version 7.4 Users Guides中的描述,在7.5.4.5章节中有一个实例如下:
.rts > BOOT2
{
-l = rtsXX.lib (.text)
}
按照上如格式,在我自己的工程中定义如下:
SysCfg > SHDSPL2RAM_CFG
{
-l = SysCfg.lib (.text)
}
执行编译,出现“cannot find file SysCfg.lib ”
请问这是什么问题呀?是我的工程配置不对还是使用的有问题?
Mr.a.mike:
这是个什么库?你自己整的?
Mr.a.mike:
如果文件不在你工程目录下,应该在链接选项中添加完整路径或者搜索路径
jun chen12:
回复 Mr.a.mike:
是的,这个库是自己的库文件。
这个库的链接应该没有问题的,因为这个在我没有修改cmd文件之前,这个工程的代码是能够很好的运行的。
最近新增加了一部分的功能代码,所以要把这个库的代码段和数据段存储区IRAM中区,就查找了一下TI的这方面的资料。
现在的问题是,如果我把CMD文件中新增加的这几行去掉,也是没有问题的,不知道这个是不是那个地方的配置存在问题。
jun chen12:
回复 Mr.a.mike:
是的,没有指定时是可以使用的。
按照你说的方法,在 -l 时增加路径我测试了一下,是可行的的,看到的map文件中的地址分配也是成功的,真的太感谢了!
对此我有一个问题,如果我在工程的配置中去配置路径,是否可行?我大概的看了一下配置项,没有找到是在那配置的cmd的关联文件的路径信息。
这个库的代码段的指定OK了,这个库的数据段还是分配如何也统一指定到一个设定地址类?
Mr.a.mike:
回复 jun chen12:
CCS里不管是老版本还是新版,在link选项中都有一个设置查找lib路径的设置,你可以把你库的位置添加到搜索路径中去。
CCS3.x可以在工程右键Build option里的link选择中输入你建的那个库的搜索路径;
CCS4及以上版本,可以右键工程在 Properties\Build\C6000 Linker\下添加一下搜索路径。
如果你希望指定整个库的所有段都在某个指定空间,直接把后面的(.text)去掉即可。
TI中文支持网
