的Blackfin GCC-工具链连接错误未定义参考`Ret_Add”
继discution:的Blackfin GCC-工具链连接错误未定义参考`Ret_Add”
我转换FFT算法中为VDSP编译裸机应用核B上运行,并且具有uclinux的运行核心答:我有一个链接错误,我不明白它来自哪里:
调用:'/opt/uClinux/bfin-elf/bin/../bfin-elf/bin/ld.real' '-v''-o''test_ad1836_driver''-T''coreb_test_ad1836_driver.lds''--just-symbol''../../icc_core/icc''queue.o''ezkit_561.o''heap_2 .o''port.o''tasks.o''test_ad1836_driver.o''list.o''croutine .o''user_isr.o''bfin_isr.o''app_c.o''context_sl_asm.o''cycle_count.o''CFFT_Rad4_NS_NBRev.o''--Ttext''0x3c00000''-L''/ opt/uClinux/bfin-elf/bfin-elf/lib''-L''/ opt/uClinux/bfin-elf/bfin-elf/lib''-lc' GNU ld version 2.17 cycle_count.o:功能Compute_Cycle_Count': /home/william/Development_new/Music_Recognition/code/uCLinux/uclinux-dist/user/blkfin-apps/icc_utils/example/DSP_imp/CFFT_Rad4_NS_NBRev/corea/cycle_count.asm:22: undefined reference to
Ret_Add' /home/william/Development_new/Music_Recognition/code/uCLinux/uclinux-dist/user/blkfin-apps/icc_utils/example/DSP_imp/CFFT_Rad4_NS_NBRev/corea/cycle_count.asm:23:undefined reference to Ret_Add' /home/william/Development_new/Music_Recognition/code/uCLinux/uclinux-dist/user/blkfin-apps/icc_utils/example/DSP_imp/CFFT_Rad4_NS_NBRev/corea/cycle_count.asm:27: undefined reference to
Save_R7' /home/william /Development_new/Music_Recognition/code/uCLinux/uclinux-dist/user/blkfin-apps/icc_utils/example/DSP_imp/CFFT_Rad4_NS_NBRev/corea/cycle_count.asm:28:undefined reference to Save_R7' /home/william/Development_new/Music_Recognition/code/uCLinux/uclinux-dist/user/blkfin-apps/icc_utils/example/DSP_imp/CFFT_Rad4_NS_NBRev/corea/cycle_count.asm:44: undefined reference to
Save_R7' /home/william/Development_new/Music_Recognition /代码/ uCLinux的/ uclinux的 - 距离/用户/ blkfin-应用/ icc_ut ils/example/DSP_imp/CFFT_Rad4_NS_NBRev/corea/cycle_count.asm:45:undefined reference to Save_R7' /home/william/Development_new/Music_Recognition/code/uCLinux/uclinux-dist/user/blkfin-apps/icc_utils/example/DSP_imp/CFFT_Rad4_NS_NBRev/corea/cycle_count.asm:48: undefined reference to
Ret_Add' /home/william/Development_new/Music_Recognition/code/uCLinux/uclinux-dist/user/blkfin-apps/icc_utils/example/DSP_imp/CFFT_Rad4_NS_NBRev /科雷亚/ cycle_count.asm:49:未定义参考`Ret_Add”
代码如下:
.section伪l1.data;
.align 4;
.var _Ret_Add = 0;
.var _Save_R7 = 0;
.section l1.text;
.global _Compute_Cycle_Count;
.align 8;
_Compute_Cycle_Count: P0.L = _Ret_Add;
P0.H = _Ret_Add;
R3 = RETS;
[P0] = R3;
P0.L = _Save_R7;
P0.H = _Save_R7;
[P0] = R7;
........
感谢
威廉
你没有_Ret_Add和_Save_R7的声明在代码由GNU汇编理解。你应该端口从VDSP汇编到GNU ASM:
_Ret_Add: .int 0;
也许如果你愿意把它向后兼容:
.if defined (__GNUC__)
_Ret_Add:
.int 0;
.else
.var _Ret_Add =0;
.endif
看看this。
太棒了!它使sens –
伟大!有道理。感谢pmod。代码现在编译。对于问题演示,我认为我给了所有信息:上下文,编译器输出和相关的代码。我虽然理解这种方式更清楚。让我知道一个更好,更有吸引力的方式来问这种类型的问题,所以我改善了。再次感谢 –
我很高兴我能提供帮助。您可以清理问题以删除不相关的长路径名 – pmod
呃......你真的相信这个问题是提出来的,它会激发人们阅读它? –