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.

TDA2P-ACD: FFT on EVE

Part Number: TDA2P-ACD

Hello,

I want to test a 512 FFT on EVE core. So I use the function called vcop_fft_512_16i_32o from the eve_sw_01_19_00_00/kernels/radarlib/vcop_fft_npt_16ix32o library.

But when I debug it, the function does not completetly run. The core hangs at the beginning of the function called vcop_fft_512_32inter_stage_2_vloops, here: __vcop_param(&pblock[0]).

In this case I can't restart the processor. But if I suspend the connection, I get the following message:

ARP32_EVE_1: Trouble Halting Target CPU: (Error -2062 @ 0x0) Unable to halt device. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.0.27.9) 

Can someone help me?

Thank you and best regards,

Jens

  • Hi Jens,

    We recommend that you use the FFT applet in apps/fft for testing the FFT function as it combines the FFT kernel with EDMA to implement the entire processing flow. The kernel is located in eve_sw_01_19_00_00/kernels/radarlib/vcop_fft_npt_16ix32o . I assume you are trying to run the the test program located in the sub-folder test/. This test program demonstrates and tests the kernel only and it doesn't have EDMA to handle the data I/O so the performance is sub-optimal.

    However it  should still execute correctly. I assume you built the vcop_fft_npt_16ix32o_kernelC.out succesfully and are trying to run in on the target ? Or did you write your own main() function that calls vcop_fft_512_16i_32o ?

    Please make sure you have followed all the setup step documented in eve_sw_01_19_00_00/docs/eve_sw_getting_started.pdf .

    regards,

    Victor 

  • Hi Victor,

    yes, you are right. I wrote my own main() that calls vcop_fft_512_16i_32o, the built was successful and I'm trying to run it on the target.
    I followed the setup step documented in the pdf. But I'm using a newer version of Code Composer Studio (8.3.0).

    I tried the following:

    1.) Build the FFT applet in apps/fft according to the description in the pdf
    The build stops with this error: /usr/bin/sh: C:tiARP32_tools: command not found
    All the slashes are removed from the environment variables. I don't know why. I set the environment variables once with slash and once with back-slash.
    Both did not work.

    2.) I tried to build the FFT applet with my own makefile. But I have some problems with the linking. Here is the error:
    error: program will not fit into available memory. placement with alignment fails for section ".text" size 0xf64c page 0.
    Available memory ranges: EXTMEM size: 0x22000 unused: 0x69e0 max hole: 0x69e0
    I don't understand this error. Maybe you can help.

    3.) I loaded the out-file in apps/fft/test/elf_out in the target. This file works, but I cannot debug the software. Each time I set a breakpoint, it will automatically disable.

    Best regards,

    Jens

  • Hi Jens,

    1) Are you building on Linux ? The EWE sw shoud build smoothly on WIndows. Did you edit the file makerules_eve.mk and edit the line 69 to change the slashes ?

    2) Did you use a different linker command file that the original linker.cmd file ? The original one sets the EXTMEM size to 0x50000 so you shouldn't get this error.

    3) This out file was compiled in release configuration, that's why you cannot step through the code.

    regards,

    Victor

  • Hi Jens,

    For 3), can you confirm that you are able to run the code even through you cannot step through the code ? This will discard any setup issues that could explain why you were not able to run your version of vcop_fft_512_16i_32o. I think the issue may come from some errors in your main() program.

    regards,

    Victor
  • Actually Linux build should work as well. Make sure you are using '/' as delimiters in the path. You need to update the makefile and makerules_eve.mk files.

    regards,


    Victor 

  • Hi Victor,

    thank you for your replies.

    1) I'm building on Windows. I didn't edit the makerules_eve.mk and the line 69. So, should I edit this file?

    2) Yes, it was a different linker command file. Sorry for that. In your first reply you mentioned that I should use the FFT lib that combines FFT kernel with EDMA for best performance. I took a look in the apps/fft/test/src/fft_tb.c and found the functions vcop_fft_npt_mixed_radix_cn respectively vcop_fft_npt_32inter_mixed_radix_cn. Can you confirm that these functions combine FFT kernel with EDMA? Or which function should I use?

    Best regards,

    Jens

  • Hi Jens,

    1) You shouldn't need to update these files if you have set the environment variables mentioned in the eve_sw_getting_started.pdf . What kind of errors you were getting ?
    2) The functions vcop_fft_npt_mixed_radix_cn and vcop_fft_npt_32inter_mixed_radix_cn are C-implementations used as golden C reference for validation. They don't use EDMA. The actual applet FFT on EVE uses xdais function calls: FFT_TI_VISION_FXNS.ialg.algAlloc(), FT_TI_VISION_FXNS.ialg.algInit(), handle->ivision->algControl((), handle->ivision->algProcess(), handle->ivision->ialg.algFree() . We
    follow an object oriented programming paradigm when an algorithm is implemented through a class with different function members. So there isn't a single function but multiple functions.

    regards,

    Victor
  • Hello Jens,

    Did you manage to build and execute the FFT app ? Do you need any more assistance with the issue or can we close the ticket ?

    regards,

    Victor