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.
Replies: 4
Views: 496
Part Number: TMS320C6678
Hi there,
I am trying to get one of these unit tests running from fftlib_3_1_0_0. The examples is in ti/fftlib/src/fft_omp_dp_1d_r2c_d.c. After setting up the project in the usual way for RTSC and adding the required libraries to be linked, I get the following warnings:
"configPkg/linker.cmd", line 131: warning #10068-D: no matching section warning #10247-D: creating output section ".tdata" without a SECTIONS specification warning #10247-D: creating output section ".tbss" without a SECTIONS specification warning #10247-D: creating output section ".mem_ddr" without a SECTIONS specification warning #10247-D: creating output section ".mem_l2" without a SECTIONS specification warning #10247-D: creating output section ".mem_msm" without a SECTIONS specification Finished building target: "fft_example.out"
Because of these warnings and because in the code there are spots where it says "#pragma DATA_SECTION(x_i, ".mem_ddr");", I amended the omp_config.cfg as:
program.sectMap[".mem_ddr"] = new Program.SectionSpec(); // FFT specific stuff program.sectMap[".mem_l2"] = new Program.SectionSpec(); // FFT specific stuff program.sectMap[".mem_msm"] = new Program.SectionSpec(); // FFT specific stuff program.sectMap[".mem_l2"].loadSegment = "L2SRAM"; // FFT specific stuff program.sectMap[".mem_ddr"].loadSegment = "DDR3"; // FFT specific stuff program.sectMap[".mem_msm"].loadSegment = "MSMCSRAM";// FFT specific stuff
When I try to run theprogram on the DSP, it will yield the error for some cores:
[C66xx_1] lib_emt_init() return error! (1)
which after checking the returned value corresponds to: LIB_EMT_ERROR_RMANINIT (-3) /**< Failure. RMAN initialization. */
The map file has some lines where it says UNINITIALIZED like
.mem_l2 0 00800000 00016000 UNINITIALIZED 00800000 00016000 main.obj (.mem_l2)
I do not exactly know what is wrong here. Do you maybe have some omp-config file for these unit tests? Also, what is the difference between defining these sections in a linker command file and in the omp-config file?
Thank you very much for your help.
Examples in the FFTLIB are meant to be built using make not using CCS. The CCS projects are legacy based on MCSDK software which we don`t currently support.
Majority of the examples in the FFTLIB are pre-built so if you go to the folder C:\ti\fftlib_c66x_2_0_0_2\packages\ti\fftlib\src\fft_dp_1d_r2c\k1\fft_dp_1d_r2c_k1_66_LE_ELF\Release
and open the map file, you will see where the code and data sections are meant to be loaded. I have attached the map file for pre-built version here:fft_dp_1d_r2c_k1_66_LE_ELF.map
Also, here is the linker command file (configPkg/linker.cmd) from the pre-built binary for your reference: (rename to .cmd)
7802.linker.txt
Hope this helps.
Regards,
Rahul
--------------------------------------------------------------------------------------------------------------------------------------Please click the This resolved my issue button on this post if the responses on this E2E thread answers your question.--------------------------------------------------------------------------------------------------------------------------------------
In reply to Rahul Prabhu:
Hi Rahul,
Thank you for your quick answer and the attached files. This example does not use OMP as far as I can see. Do you maybe have the same two files for an FFT routine which uses OMP? That would be very helpful.
Thanks a lot.
In reply to Idris Kempf:
I modified one provided by some libarch example. Works with this. Pasted below if someone else needs it.
Best wishes,
Idris
SECTIONS { .fclocalfar : { "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/edmamgr/lib/debug/edmamgr.ae66" (.fardata) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/ecpy/lib/debug/ecpy.ae66" (.fardata) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/ires/edma3chan/lib/debug/edma3Chan.ae66" (.fardata) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/edma3/lib/debug/edma3.ae66" (.fardata) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/rman/lib/debug/rman.ae66" (.fardata) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/ires/nullresource/lib/debug/nullres.ae66" (.fardata) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/global/lib/debug/fcsettings.ae66" (.fardata) "/home/idris/ti/edma3_lld_2_12_05_30C/packages/ti/sdo/edma3/rm/lib/c6678-evm/66/debug/edma3_lld_rm.ae66" (.fardata) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/edmamgr/lib/debug/edmamgr.ae66" (.far) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/ires/edma3chan/lib/debug/edma3Chan.ae66" (.far) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/edma3/lib/debug/edma3.ae66" (.far) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/rman/lib/debug/rman.ae66" (.far) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/ires/nullresource/lib/debug/nullres.ae66" (.far) "/home/idris/ti/framework_components_3_40_02_07/packages/ti/sdo/fc/global/lib/debug/fcsettings.ae66" (.far) "/home/idris/ti/edma3_lld_2_12_05_30C/packages/ti/sdo/edma3/rm/lib/c6678-evm/66/debug/edma3_lld_rm.ae66" (.far) } > L2SRAM // DDR3 FAILS .fclocalfar: load >> L2SRAM }