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

汇编代码库文件的封装和生成

DSP6678,开发环境CCS5.5。

TI工程师您好,

请问下,我有个.asm文件的汇编代码,想和.c,.h文件一起,封装成一个lib库。但是新的工程中,调用库文件编译后,发现.map文件中无汇编代码中定义的段,请问该怎么处理。如何正确的生成呢lib、ae66、或者le66等文件呢?

期待您的答复,谢谢!

Nancy Wang:

map文件通常是根据cmd文件生成的。您说的在汇编代码中定义的段是否在cmd中分配到指定的内存?

user6177772:

回复 Nancy Wang:

您好,感谢您的回复。
有指定的内存的,分配到msmsram中的。
在生成lib文件的时候,我把cmd文件以及asm文件和c文件.h文件放在了一起。cmd文件指定了asm中特定段的位置,编译完成生成lib文件后,将该库文件加入另一个工程。编译后无报错,但是map文件中无asm对应的段。是我的操作有问题吗还是?
未封装成lib库的源工程map中有生成对应段。
期待您的回复,谢谢!

user6177772:

回复 Nancy Wang:

您好,已经在cmd中分配了汇编中的段,请问应该怎么操作呢?

Nancy Wang:

回复 user6177772:

不能在新的工程中重新分配内存吗?

user6177772:

回复 Nancy Wang:

谢谢您的回复!
我尝试了只在static lib工程中分配内存,只在新的工程中分配内存,两工程均分配了,这三种方法,在map文件中均无对应的段分配。请问这个怎么解决呢?
期待您的答复,谢谢!

user6177772:

回复 user6177772:

另外,请问这个库文件和SYSBIOS内核是否有关?

Nancy Wang:

回复 user6177772:

1、请将asm文件和cmd文件中相关内容贴出来看一下。
2、没有关系,只是将工程生成静态库

user6177772:

回复 Nancy Wang:

您好,感谢您的回复。

asm文件就是实现将flash程序搬移到LL2和MSMCRAM,定义了一个.boot_sect段。

.title "flash boot"

.option D,T

.length 102

.width 140

.ref _c_int00

COPYTABLE .equ 0x70000400

.sect ".boot_sect"

.global _boot

_boot:

后面为

"搬移的汇编"

cmd文件仅仅定义了

SECTIONS

{

      .boot_sect:load >MSMCRAM

}

这个asm和cmd文件已经在未封装的工程中成功使用。可以实现搬移启动的功能。

期待您的解答。谢谢!

Nancy Wang:

回复 user6177772:

试试看选出你需要某些文件并将它们编译成lib,将.asm文件直接添加到新的工程里面,再分配内存。只是不清楚这样是否符合你的需求。
software-dl.ti.com/…/ccs_project-management.html

user6177772:

回复 Nancy Wang:

谢谢您的回复。
直接添加进新的工程的话,可以在map文件中找到相关段的分配。但是我这边需要把这个asm封装下,请问CCS能否封装汇编代码呢?是否有相关手册和操作方法。
期待您的回复,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 汇编代码库文件的封装和生成
分享到: 更多 (0)