TI中文支持网
TI专业的中文技术问题搜集分享网站

dsplib中FFT例程问题

工程师们,你们好!

问题:在仅添加串口输出语句下,测试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:

不知道你是怎么调试的,最好是用仿真器调试,如果是缺少头文件话的编译的时候就会有问题。

赞(0)
未经允许不得转载:TI中文支持网 » dsplib中FFT例程问题
分享到: 更多 (0)