TI C2800的DSP:故障排除C ++和汇编代码之间的接头的问题
题
我在组件的功能sincos_Q15_asm()
,在文件sincos_p5sh.asm与指令如下:
.sect ".text"
.global _sincos_Q15_asm
.sym _sincos_Q15_asm,_sincos_Q15_asm, 36, 2, 0
.func 1
在功能工作正常,当我本身测试(组装只),但是当我尝试链接到它,我得到一个链接错误:
undefined first referenced
symbol in file
--------- ----------------
sincos_Q15_asm(int, int *) build\pwm3phase.obj
error: unresolved symbols remain
这是非常令人费解给我,因为我,包括我的链接器命令组装文件build\blocks\sincos_p5sh.obj
,我已经使用这个OBJ文件的绝对列表abs2000
和它说,有一个象征_sincos_Q15_asm
。 (下划线前缀是如何工作的组装)
任何建议,我应该下一个解决?
解决方案
D'哦!我计算出来 - 我正在使用C ++,忘了包括用于我的功能extern "C"
声明:
extern "C" {
extern void sincos_Q15_asm(int16_t theta, int16_t* cs);
}
不隶属于 StackOverflow