工程师们,你们好!
问题:在仅添加串口输出语句下,测试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)
******************************************************************************
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 CONFIGURATION
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
CACHE_L2RAM 11800000 00040000 000003a0 0003fc60 RWIX
CACHE_L1P 11e00000 00008000 00000000 00008000 RWIX
CACHE_L1D 11f00000 00008000 00000000 00008000 RWIX
L3RAM 80000000 00020000 00000000 00020000 RWIX
SDRAM c0000000 08000000 000085b4 07ff7a4c RWIX
SEGMENT ALLOCATION MAP
run origin load origin length init length attrs members
---------- ----------- ---------- ----------- ----- -------
11800000 11800000 000003a0 000003a0 r-x
11800000 11800000 000003a0 000003a0 r-x .kernel
c0000000 c0000000 000037c0 000037c0 r-x
c0000000 c0000000 000037c0 000037c0 r-x .text
c00037c0 c00037c0 00004a88 00000000 rw-
c00037c0 c00037c0 00002a88 00000000 rw- .far
c0006248 c0006248 00002000 00000000 rw- .stack
c0008248 c0008248 000000f8 000000f8 r--
c0008248 c0008248 000000f8 000000f8 r-- .const
c0008340 c0008340 000000cc 00000000 rw-
c0008340 c0008340 000000cc 00000000 rw- .fardata
c000840c c000840c 00000028 00000024 r--
c000840c c000840c 00000024 00000024 r-- .switch
c0008430 c0008430 00000004 00000000 r-- .rodata
c0008438 c0008438 00000100 00000100 r--
c0008438 c0008438 00000100 00000100 r-- .cinit
c0008800 c0008800 00000080 00000080 r-x
c0008800 c0008800 00000080 00000080 r-x .text:_c_int00
SECTION ALLOCATION MAP
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
.kernel 0 11800000 000003a0
11800000 000003a0 dsplib.ae674 : DSPF_sp_fftSPxSP.oe674 (.text:optimized)
.const 0 c0008248 000000f8
c0008248 000000c8 DSPF_sp_fftSPxSP_d.obj (.const:.string)
c0008310 0000001c utils.lib : uartStdio.obj (.const:.string)
c000832c 00000014 DSPF_sp_fftSPxSP_d.obj (.const)
.neardata
* 0 c0008430 00000000 UNINITIALIZED
.rodata 0 c0008430 00000004 UNINITIALIZED
c0008430 00000004 utils.lib : uartStdio.obj (.rodata)
.bss 0 c0008434 00000000 UNINITIALIZED
.text:_c_int00
* 0 c0008800 00000080
c0008800 00000080 rts6740_elf.lib : boot.c.obj (.text:_c_int00)
.stack 0 c0006248 00002000 UNINITIALIZED
c0006248 00000008 rts6740_elf.lib : boot.c.obj (.stack)
c0006250 00001ff8 --HOLE--
.cinit 0 c0008438 00000100
c0008438 000000c5 (.cinit..fardata.load) [load image, compression = rle]
c00084fd 0000000b (.cinit..far.load) [load image, compression = rle]
c0008508 0000000a (.cinit..rodata.load) [load image, compression = rle]
c0008512 00000002 --HOLE-- [fill = 0]
c0008514 00000008 (__TI_handler_table)
c000851c 00000004 --HOLE-- [fill = 0]
c0008520 00000018 (__TI_cinit_table)
xdc.meta 0 c0000000 00000000 COPY SECTION
.init_array
* 0 c0000000 00000000 UNINITIALIZED
.text 0 c0000000 000037c0
c0000000 00000b60 utils.lib : uartStdio.obj (.text)
c0000b60 000007e0 DSPF_sp_fftSPxSP_d.obj (.text)
c0001340 000005e0 rts6740_elf.lib : divd.c.obj (.text:__c6xabi_divd)
c0001920 00000580 drivers.lib : uart.obj (.text)
c0001ea0 000003a0 dsplib_cn.ae674 : DSPF_sp_fftSPxSP_cn.oe674 (.text:natural)
c0002240 00000320 rts6740_elf.lib : cos.c.obj (.text:cos)
c0002560 000002e0 : sin.c.obj (.text:sin)
c0002840 00000280 : divf.c.obj (.text:__c6xabi_divf)
c0002ac0 00000180 platform.lib : uart.obj (.text)
c0002c40 00000140 drivers.lib : psc.obj (.text)
c0002d80 00000100 rts6740_elf.lib : copy_decompress_rle.c.obj (.text:__TI_decompress_rle_core)
c0002e80 000000e0 : exit.c.obj (.text:exit)
c0002f60 000000e0 : memset.c.obj (.text:memset)
c0003040 000000e0 platform.lib : uartConsole.obj (.text)
c0003120 000000c0 rts6740_elf.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit:__TI_auto_init_nobinit_nopinit)
c00031e0 000000c0 : divu.asm.obj (.text:__divu)
c00032a0 000000c0 : modf.c.obj (.text:modf)
c0003360 000000c0 : tls.c.obj (.text:tls:init:__TI_tls_init)
c0003420 000000a0 : round.c.obj (.text:__c6xabi_nround)
c00034c0 000000a0 : remu.asm.obj (.text:__remu)
c0003560 000000a0 : memcpy64.asm.obj (.text:memcpy)
c0003600 00000060 : llshift.c.obj (.text:__c6xabi_llshru)
c0003660 00000040 : frcmpyd_div.c.obj (.text:__TI_frcmpyd_div)
c00036a0 00000040 : args_main.c.obj (.text:_args_main)
c00036e0 00000020 : trunc.c.obj (.text:__c6xabi_trunc)
c0003700 00000020 : startup.c.obj (.text:_system_post_cinit)
c0003720 00000020 : pre_init.c.obj (.text:_system_pre_init)
c0003740 00000020 : exit.c.obj (.text:abort)
c0003760 00000020 : copy_decompress_none.c.obj (.text:decompress:none:__TI_decompress_none)
c0003780 00000020 : copy_decompress_rle.c.obj (.text:decompress:rle24:__TI_decompress_rle24)
c00037a0 00000010 dsplib.ae674 : DSPF_sp_fftSPxSP.oe674 ($Tramp$S$$DSPF_sp_fftSPxSP)
c00037b0 00000010 --HOLE-- [fill = 00000000]
.far 0 c00037c0 00002a88 UNINITIALIZED
c00037c0 00002a88 DSPF_sp_fftSPxSP_d.obj (.far)
.fardata 0 c0008340 000000cc UNINITIALIZED
c0008340 00000040 rts6740_elf.lib : cos.c.obj (.fardata:R$1)
c0008380 00000040 : sin.c.obj (.fardata:R$1)
c00083c0 00000040 DSPF_sp_fftSPxSP_d.obj (.fardata:brev)
c0008400 0000000c rts6740_elf.lib : exit.c.obj (.fardata)
.switch 0 c000840c 00000024
c000840c 00000024 utils.lib : uartStdio.obj (.switch:UARTprintf)
MODULE SUMMARY
Module code ro data rw data
------ ---- ------- -------
.\
DSPF_sp_fftSPxSP_d.obj 2016 220 10952
+--+----------------------------+-------+---------+---------+
Total: 2016 220 10952
..\..\..\..\..\lib\dsplib.ae674
DSPF_sp_fftSPxSP.oe674 944 0 0
+--+----------------------------+-------+---------+---------+
Total: 944 0 0
..\..\..\..\..\lib\dsplib_cn.ae674
DSPF_sp_fftSPxSP_cn.oe674 928 0 0
+--+----------------------------+-------+---------+---------+
Total: 928 0 0
C:\ti\ti-cgt-c6000_8.3.2\lib\rts6740_elf.lib
divd.c.obj 1504 0 0
cos.c.obj 800 0 64
sin.c.obj 736 0 64
divf.c.obj 640 0 0
copy_decompress_rle.c.obj 288 0 0
exit.c.obj 256 0 12
memset.c.obj 224 0 0
autoinit.c.obj 192 0 0
divu.asm.obj 192 0 0
modf.c.obj 192 0 0
tls.c.obj 192 0 0
memcpy64.asm.obj 160 0 0
remu.asm.obj 160 0 0
round.c.obj 160 0 0
boot.c.obj 128 0 0
llshift.c.obj 96 0 0
args_main.c.obj 64 0 0
frcmpyd_div.c.obj 64 0 0
copy_decompress_none.c.obj 32 0 0
pre_init.c.obj 32 0 0
startup.c.obj 32 0 0
trunc.c.obj 32 0 0
+--+----------------------------+-------+---------+---------+
Total: 6176 0 140
D:/Projects/DSP/Documentations and SDK/StarterWare/OMAPL138_StarterWare_1_10_04_01/binary/c674x/cgt_ccs/omapl138/drivers/Debug/drivers.lib
uart.obj 1408 0 0
psc.obj 320 0 0
+--+----------------------------+-------+---------+---------+
Total: 1728 0 0
D:/Projects/DSP/Documentations and SDK/StarterWare/OMAPL138_StarterWare_1_10_04_01/binary/c674x/cgt_ccs/omapl138/lcdkOMAPL138/platform/Debug/platform.lib
uart.obj 384 0 0
uartConsole.obj 224 0 0
+--+----------------------------+-------+---------+---------+
Total: 608 0 0
D:/Projects/DSP/Documentations and SDK/StarterWare/OMAPL138_StarterWare_1_10_04_01/binary/c674x/cgt_ccs/utils/Debug/utils.lib
uartStdio.obj 2912 68 0
+--+----------------------------+-------+---------+---------+
Total: 2912 68 0
Stack: 0 0 8192
Linker Generated: 0 250 0
+--+----------------------------+-------+---------+---------+
Grand Total: 15312 538 19284
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 name trampoline name
callee addr tramp addr call addr call info
-------------- ----------- --------- ----------------
$.text:optimized:dsplib.ae674<DSPF_sp_fftSPxSP.oe674>$0x0 $Tramp$S$$DSPF_sp_fftSPxSP
11800000 c00037a0 c0000ec0 DSPF_sp_fftSPxSP_d.obj (.text)
[1 trampolines]
[1 trampoline calls]
GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name
address name
------- ----
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
address name
------- ----
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
谢谢工程师们!
