This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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)

******************************************************************************
               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

谢谢工程师们!