主题中讨论的其他器件:FFTLIB
工具与软件:
我尝试从 fftlib 文件夹中将 fftlib 测试模块 fftLIB_fft1d_i32fc_c32fc_o32fc 部署到 hello_world FreeRTOS 示例项目中。 我在中将"主"函数重命名
fftlib\test\fft_c7x\FFTLIB_fft1d_i32fc_c32fc_o32fc\FFTLIB_fft1d_i32fc_o32fc_d.c
并在工程的 main.c 文件中调用它(hello_world_am62ax-sk_c75ss0-0_freertos_ti-c7000\main.c)
但在构建时、它会遇到链接器故障问题。 我使用了 helloworld 项目中的原始链接器、并添加了以下部分作为 fftlib 源所需的(fftlib\cmake\linkers\c7504\lnk.cmd)。 请检查附件。
最后、它在以下错误中失败:
#17003-D 从函数"TI_profile_setStackDepth"重定位到符号"__TI_stack_size"溢出;33位重定位地址0xf7f341040太大/test/common/TI_profile.obj、无法在32位带符号的 PC 相关字段(类型="R_C7X_PCR_OFFSET_ADD000000KPC _HI27"(配置文件)中编码
失败的功能:
void TI_profile_setStackDepth (void){
#if !defined (_host_Build)&&!defined (disable_stack_profiling)
int32_t i;
对于(i = 0;i <((uint64_t)&_STACK_SIZE / 4);i++){
if (topStack[i]!= 0xDEADBEEF){ //错误
休息;
}
}
newSP =(i * 4)+(uint64_t) topStack;
STACKSIZ[ACT_kernel]=(oldSP - newSP);
#endif
}
我发现源代码会在一定程度上检查内存段。 我还尝试了禁用 disable_stack_profiling、此设置允许我成功构建代码、但当我运行调试时、系统无法从"main"函数启动。
我的链接器文件:
/cfs-file/__key/communityserver-discussions-components-files/791/linker-_2800_1_2900_.txt
