工程师们,你们好!
问题:在仅添加串口输出语句下,测试DSPF_sp_fftSPxSP_674_LE_ELF工程时,程序卡在了以下语句,没有继续往下执行。
DSPF_sp_fftSPxSP( N, &ptr_x_i[0], &ptr_w[0], ptr_y_i, brev, rad, 0, N);
具体情况:
(1)一开始编译不成功,以上语句也没有高亮,按F3也无法追踪到对应头文件中。把_d.c文件中对上述函数的声明注释掉后,即高亮,可追溯,编译成功;
(2)工程includes目录下有一个路径为灰色,不知是否有关,对应参数如下
(3)生成的map文件中,应该有引入对应的执行语句,详情见附件的119行;
c00037a0 00000010 dsplib.ae674 : DSPF_sp_fftSPxSP.oe674 ($Tramp$S$$DSPF_sp_fftSPxSP)
7080.DSPF_sp_fftSPxSP_674_LE_ELF.txt
******************************************************************************TMS320C6x Linker PC v8.3.2 ****************************************************************************** >> Linked Mon Dec 7 15:13:17 2020 OUTPUT FILE NAME:<DSPF_sp_fftSPxSP_674_LE_ELF.out> ENTRY POINT SYMBOL: "_c_int00" address: c0008800 MEMORY CONFIGURATIONnameoriginlengthusedunusedattrfill ---------------------- -------- --------- -------- -------- ---- --------CACHE_L2RAM1180000000040000 000003a0 0003fc60 RWIXCACHE_L1P11e0000000008000 00000000 00008000 RWIXCACHE_L1D11f0000000008000 00000000 00008000 RWIXL3RAM8000000000020000 00000000 00020000 RWIXSDRAMc000000008000000 000085b4 07ff7a4c RWIX SEGMENT ALLOCATION MAP run origin load originlengthinit length attrs members ---------- ----------- ---------- ----------- ----- ------- 1180000011800000000003a0000003a0r-x1180000011800000000003a0000003a0r-x .kernel c0000000c0000000000037c0000037c0r-xc0000000c0000000000037c0000037c0r-x .text c00037c0c00037c000004a8800000000rw-c00037c0c00037c000002a8800000000rw- .farc0006248c00062480000200000000000rw- .stack c0008248c0008248000000f8000000f8r--c0008248c0008248000000f8000000f8r-- .const c0008340c0008340000000cc00000000rw-c0008340c0008340000000cc00000000rw- .fardata c000840cc000840c0000002800000024r--c000840cc000840c0000002400000024r-- .switchc0008430c00084300000000400000000r-- .rodata c0008438c00084380000010000000100r--c0008438c00084380000010000000100r-- .cinit c0008800c00088000000008000000080r-xc0008800c00088000000008000000080r-x .text:_c_int00 SECTION ALLOCATION MAPoutputattributes/ sectionpageoriginlengthinput sections -------- ---- ---------- -------------------------- .kernel011800000000003a011800000000003a0dsplib.ae674 : DSPF_sp_fftSPxSP.oe674 (.text:optimized) .const0c0008248000000f8c0008248000000c8DSPF_sp_fftSPxSP_d.obj (.const:.string)c00083100000001cutils.lib : uartStdio.obj (.const:.string)c000832c00000014DSPF_sp_fftSPxSP_d.obj (.const) .neardata *0c000843000000000UNINITIALIZED .rodata0c000843000000004UNINITIALIZEDc000843000000004utils.lib : uartStdio.obj (.rodata) .bss0c000843400000000UNINITIALIZED .text:_c_int00 *0c000880000000080c000880000000080rts6740_elf.lib : boot.c.obj (.text:_c_int00) .stack0c000624800002000UNINITIALIZEDc000624800000008rts6740_elf.lib : boot.c.obj (.stack)c000625000001ff8--HOLE-- .cinit0c000843800000100c0008438000000c5(.cinit..fardata.load) [load image, compression = rle]c00084fd0000000b(.cinit..far.load) [load image, compression = rle]c00085080000000a(.cinit..rodata.load) [load image, compression = rle]c000851200000002--HOLE-- [fill = 0]c000851400000008(__TI_handler_table)c000851c00000004--HOLE-- [fill = 0]c000852000000018(__TI_cinit_table) xdc.meta0c000000000000000COPY SECTION .init_array *0c000000000000000UNINITIALIZED .text0c0000000000037c0c000000000000b60utils.lib : uartStdio.obj (.text)c0000b60000007e0DSPF_sp_fftSPxSP_d.obj (.text)c0001340000005e0rts6740_elf.lib : divd.c.obj (.text:__c6xabi_divd)c000192000000580drivers.lib : uart.obj (.text)c0001ea0000003a0dsplib_cn.ae674 : DSPF_sp_fftSPxSP_cn.oe674 (.text:natural)c000224000000320rts6740_elf.lib : cos.c.obj (.text:cos)c0002560000002e0: sin.c.obj (.text:sin)c000284000000280: divf.c.obj (.text:__c6xabi_divf)c0002ac000000180platform.lib : uart.obj (.text)c0002c4000000140drivers.lib : psc.obj (.text)c0002d8000000100rts6740_elf.lib : copy_decompress_rle.c.obj (.text:__TI_decompress_rle_core)c0002e80000000e0: exit.c.obj (.text:exit)c0002f60000000e0: memset.c.obj (.text:memset)c0003040000000e0platform.lib : uartConsole.obj (.text)c0003120000000c0rts6740_elf.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit:__TI_auto_init_nobinit_nopinit)c00031e0000000c0: divu.asm.obj (.text:__divu)c00032a0000000c0: modf.c.obj (.text:modf)c0003360000000c0: tls.c.obj (.text:tls:init:__TI_tls_init)c0003420000000a0: round.c.obj (.text:__c6xabi_nround)c00034c0000000a0: remu.asm.obj (.text:__remu)c0003560000000a0: memcpy64.asm.obj (.text:memcpy)c000360000000060: llshift.c.obj (.text:__c6xabi_llshru)c000366000000040: frcmpyd_div.c.obj (.text:__TI_frcmpyd_div)c00036a000000040: args_main.c.obj (.text:_args_main)c00036e000000020: trunc.c.obj (.text:__c6xabi_trunc)c000370000000020: startup.c.obj (.text:_system_post_cinit)c000372000000020: pre_init.c.obj (.text:_system_pre_init)c000374000000020: exit.c.obj (.text:abort)c000376000000020: copy_decompress_none.c.obj (.text:decompress:none:__TI_decompress_none)c000378000000020: copy_decompress_rle.c.obj (.text:decompress:rle24:__TI_decompress_rle24)c00037a000000010dsplib.ae674 : DSPF_sp_fftSPxSP.oe674 ($Tramp$S$$DSPF_sp_fftSPxSP)c00037b000000010--HOLE-- [fill = 00000000] .far0c00037c000002a88UNINITIALIZEDc00037c000002a88DSPF_sp_fftSPxSP_d.obj (.far) .fardata0c0008340000000ccUNINITIALIZEDc000834000000040rts6740_elf.lib : cos.c.obj (.fardata:R$1)c000838000000040: sin.c.obj (.fardata:R$1)c00083c000000040DSPF_sp_fftSPxSP_d.obj (.fardata:brev)c00084000000000crts6740_elf.lib : exit.c.obj (.fardata) .switch0c000840c00000024c000840c00000024utils.lib : uartStdio.obj (.switch:UARTprintf) MODULE SUMMARYModulecodero datarw data------------------------.\DSPF_sp_fftSPxSP_d.obj201622010952+--+----------------------------+-------+---------+---------+Total:201622010952..\..\..\..\..\lib\dsplib.ae674DSPF_sp_fftSPxSP.oe67494400+--+----------------------------+-------+---------+---------+Total:94400..\..\..\..\..\lib\dsplib_cn.ae674DSPF_sp_fftSPxSP_cn.oe67492800+--+----------------------------+-------+---------+---------+Total:92800C:\ti\ti-cgt-c6000_8.3.2\lib\rts6740_elf.libdivd.c.obj150400cos.c.obj800064sin.c.obj736064divf.c.obj64000copy_decompress_rle.c.obj28800exit.c.obj256012memset.c.obj22400autoinit.c.obj19200divu.asm.obj19200modf.c.obj19200tls.c.obj19200memcpy64.asm.obj16000remu.asm.obj16000round.c.obj16000boot.c.obj12800llshift.c.obj9600args_main.c.obj6400frcmpyd_div.c.obj6400copy_decompress_none.c.obj3200pre_init.c.obj3200startup.c.obj3200trunc.c.obj3200+--+----------------------------+-------+---------+---------+Total:61760140D:/Projects/DSP/Documentations and SDK/StarterWare/OMAPL138_StarterWare_1_10_04_01/binary/c674x/cgt_ccs/omapl138/drivers/Debug/drivers.libuart.obj140800psc.obj32000+--+----------------------------+-------+---------+---------+Total:172800D:/Projects/DSP/Documentations and SDK/StarterWare/OMAPL138_StarterWare_1_10_04_01/binary/c674x/cgt_ccs/omapl138/lcdkOMAPL138/platform/Debug/platform.libuart.obj38400uartConsole.obj22400+--+----------------------------+-------+---------+---------+Total:60800D:/Projects/DSP/Documentations and SDK/StarterWare/OMAPL138_StarterWare_1_10_04_01/binary/c674x/cgt_ccs/utils/Debug/utils.libuartStdio.obj2912680+--+----------------------------+-------+---------+---------+Total:2912680Stack:008192Linker Generated:02500+--+----------------------------+-------+---------+---------+Grand Total:1531253819284 LINKER GENERATED COPY TABLES __TI_cinit_table @ c0008520 records: 3, size/record: 8, table size: 24 .fardata: load addr=c0008438, load size=000000c5 bytes, run addr=c0008340, run size=000000cc bytes, compression=rle .far: load addr=c00084fd, load size=0000000b bytes, run addr=c00037c0, run size=00002a88 bytes, compression=rle .rodata: load addr=c0008508, load size=0000000a bytes, run addr=c0008430, run size=00000004 bytes, compression=rle LINKER GENERATED HANDLER TABLE __TI_handler_table @ c0008514 records: 2, size/record: 4, table size: 8 index: 0, handler: __TI_decompress_rle24 index: 1, handler: __TI_decompress_none FAR CALL TRAMPOLINES callee nametrampoline namecallee addr tramp addrcall addr call info -------------- ----------- --------- ---------------- $.text:optimized:dsplib.ae674<DSPF_sp_fftSPxSP.oe674>$0x0 $Tramp$S$$DSPF_sp_fftSPxSP11800000c00037a0c0000ec0DSPF_sp_fftSPxSP_d.obj (.text) [1 trampolines] [1 trampoline calls] GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name addressname ----------- c0003740 C$$EXIT 11800000 DSPF_sp_fftSPxSP c0001ea0 DSPF_sp_fftSPxSP_cn c0002c40 PSCModuleControl c0001d84 UARTBreakCtl c0001c74 UARTCharGet c0001c48 UARTCharGetNonBlocking c0001cb0 UARTCharPut c0001c08 UARTCharPutNonBlocking c0001bb8 UARTCharsAvail c00019b4 UARTConfigGetExpClk c0001920 UARTConfigSetExpClk c0003100 UARTConsoleGetc c00030a0 UARTConsoleInit c00030d8 UARTConsolePutc c0001a8c UARTDMADisable c0001a6c UARTDMAEnable c0001b34 UARTDisable c0001b18 UARTEnable c0001b74 UARTFIFODisable c0001b60 UARTFIFOEnable c0001a48 UARTFIFOLevelSet c00003b4 UARTGetHexNum c00002f4 UARTGetNum c0000664 UARTGetc c00000a4 UARTGets c0001d30 UARTIntDisable c0001d08 UARTIntEnable c0001d58 UARTIntStatus c0001e10 UARTModemControlClear c0001e44 UARTModemControlGet c0001db8 UARTModemControlSet c0001e64 UARTModemStatusGet c0001af4 UARTParityModeGet c0001aac UARTParityModeSet c0002ac0 UARTPinMuxSetup c0000204 UARTPutHexNum c0000140 UARTPutNum c000064c UARTPutc c000000c UARTPuts c0001be8 UARTRxErrorGet c0001b8c UARTSpaceAvail c0000000 UARTStdioInit c00006d4 UARTprintf c0000670 UARTwrite c0008520 __TI_CINIT_Base c0008538 __TI_CINIT_Limit c0008514 __TI_Handler_Table_Base c000851c __TI_Handler_Table_Limit c0008248 __TI_STACK_END 00002000 __TI_STACK_SIZE c0008430 __TI_STATIC_BASE UNDEFED__TI_TLS_INIT_Base UNDEFED__TI_TLS_INIT_Limit c0003120 __TI_auto_init_nobinit_nopinit c0008400 __TI_cleanup_ptr c0003760 __TI_decompress_none c0003780 __TI_decompress_rle24 c0008404 __TI_dtors_ptr c0008408 __TI_enable_exit_profile_output c0003660 __TI_frcmpyd_div ffffffff __TI_pprof_out_hndl ffffffff __TI_prof_data_size ffffffff __TI_prof_data_start c0003360 __TI_tls_init ffffffff __binit__ c0001340 __c6xabi_divd c0002840 __c6xabi_divf c00031e0 __c6xabi_divu c0003600 __c6xabi_llshru c0003420 __c6xabi_nround c00034c0 __c6xabi_remu c0003420 __c6xabi_roundl c00036e0 __c6xabi_trunc c00036e0 __c6xabi_truncl ffffffff __c_args__ c00031e0 __divu c00034c0 __remu c00036a0 _args_main 00000200 _argsize c0008800 _c_int00 000003a0 _kernel_size c0006248 _stack c0003700 _system_post_cinit c0003720 _system_pre_init c0003740 abort ffffffff binit c00083c0 brev 000000f8 const_size c0008248 const_start c0002240 cos c0002240 cosl c0002e80 exit c00037c0 form_cycle c0000b60 main c0003560 memcpy c0002f60 memset c00032a0 modf c00032a0 modfl c0008334 ptr_w c0008330 ptr_x_cn c000832c ptr_x_i c000833c ptr_y_cn c0008338 ptr_y_i c0002560 sin c0002560 sinl c00010f4 tw_gen c00048c8 w c0004048 x_cn c00037c8 x_i c00059c8 y_cn c0005148 y_i GLOBAL SYMBOLS: SORTED BY Symbol Address addressname ----------- 000000f8 const_size 00000200 _argsize 000003a0 _kernel_size 00002000 __TI_STACK_SIZE 11800000 DSPF_sp_fftSPxSP c0000000 UARTStdioInit c000000c UARTPuts c00000a4 UARTGets c0000140 UARTPutNum c0000204 UARTPutHexNum c00002f4 UARTGetNum c00003b4 UARTGetHexNum c000064c UARTPutc c0000664 UARTGetc c0000670 UARTwrite c00006d4 UARTprintf c0000b60 main c00010f4 tw_gen c0001340 __c6xabi_divd c0001920 UARTConfigSetExpClk c00019b4 UARTConfigGetExpClk c0001a48 UARTFIFOLevelSet c0001a6c UARTDMAEnable c0001a8c UARTDMADisable c0001aac UARTParityModeSet c0001af4 UARTParityModeGet c0001b18 UARTEnable c0001b34 UARTDisable c0001b60 UARTFIFOEnable c0001b74 UARTFIFODisable c0001b8c UARTSpaceAvail c0001bb8 UARTCharsAvail c0001be8 UARTRxErrorGet c0001c08 UARTCharPutNonBlocking c0001c48 UARTCharGetNonBlocking c0001c74 UARTCharGet c0001cb0 UARTCharPut c0001d08 UARTIntEnable c0001d30 UARTIntDisable c0001d58 UARTIntStatus c0001d84 UARTBreakCtl c0001db8 UARTModemControlSet c0001e10 UARTModemControlClear c0001e44 UARTModemControlGet c0001e64 UARTModemStatusGet c0001ea0 DSPF_sp_fftSPxSP_cn c0002240 cos c0002240 cosl c0002560 sin c0002560 sinl c0002840 __c6xabi_divf c0002ac0 UARTPinMuxSetup c0002c40 PSCModuleControl c0002e80 exit c0002f60 memset c00030a0 UARTConsoleInit c00030d8 UARTConsolePutc c0003100 UARTConsoleGetc c0003120 __TI_auto_init_nobinit_nopinit c00031e0 __c6xabi_divu c00031e0 __divu c00032a0 modf c00032a0 modfl c0003360 __TI_tls_init c0003420 __c6xabi_nround c0003420 __c6xabi_roundl c00034c0 __c6xabi_remu c00034c0 __remu c0003560 memcpy c0003600 __c6xabi_llshru c0003660 __TI_frcmpyd_div c00036a0 _args_main c00036e0 __c6xabi_trunc c00036e0 __c6xabi_truncl c0003700 _system_post_cinit c0003720 _system_pre_init c0003740 C$$EXIT c0003740 abort c0003760 __TI_decompress_none c0003780 __TI_decompress_rle24 c00037c0 form_cycle c00037c8 x_i c0004048 x_cn c00048c8 w c0005148 y_i c00059c8 y_cn c0006248 _stack c0008248 __TI_STACK_END c0008248 const_start c000832c ptr_x_i c0008330 ptr_x_cn c0008334 ptr_w c0008338 ptr_y_i c000833c ptr_y_cn c00083c0 brev c0008400 __TI_cleanup_ptr c0008404 __TI_dtors_ptr c0008408 __TI_enable_exit_profile_output c0008430 __TI_STATIC_BASE c0008514 __TI_Handler_Table_Base c000851c __TI_Handler_Table_Limit c0008520 __TI_CINIT_Base c0008538 __TI_CINIT_Limit c0008800 _c_int00 ffffffff __TI_pprof_out_hndl ffffffff __TI_prof_data_size ffffffff __TI_prof_data_start ffffffff __binit__ ffffffff __c_args__ ffffffff binit UNDEFED__TI_TLS_INIT_Base UNDEFED__TI_TLS_INIT_Limit [112 symbols]
(4)程序采用starterware提供的bootloader和该fft运行。
库版本:dsplib_c674x_3_4_0_4
谢谢工程师们!
Nancy Wang:
单步进入DSPF_sp_fftSPxSP可以调试吗?
,
user6446474:
你好,Nancy Wang!
还没购买仿真器,无法进行单步调试。
请问我列出具体情况的(1)、(2)点,特别是(2)点,会导致上述问题发生吗?
DSPF_sp_fftSPxSP函数是用汇编写的,我能找到对应asm文件,是否需要引入到工程中?
,
Nancy Wang:
不知道你是怎么调试的,最好是用仿真器调试,如果是缺少头文件话的编译的时候就会有问题。