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.
Compiler/TDA2: DSP2 crashed after __c_init00 , before main() was called
Part Number: TDA2
Tool/software: TI C/C++ Compiler
The cgtc6000 comiler v7.4.2 is used in the latest visionSDK3.05. The v7.4.2 comiler is not enough for our project, the v8.x.x is OK.
In below thread,
Rishabh Garg told me that the visionSDK3.05 will upgrade cgtc6000 comiler to v8.x.x two month ago.
But visionSDK 3.05 still use v7.4.2 when it was released.
So when will visionSDK upgrade cgtc6000 compiler to v8.x.x?
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Rishabh Garg:
In reply to Bao Shang:
When I debug it:
(1) I set a break point at "_c_int00" for DSP2.
(2) I load the DSP2 exectable file "vision_sdk_c66xdsp_2_release.xe66".
The CCS show : Can't find a source file at "/db/ztree/library/trees/xdctargets/xdctargets-l07/src/ti/targets/rts6000/boot.c"
I locate the path as "PROCESSOR_SDK_VISION_03_05_00_00\ti_components\os_tools\bios_6_46_04_53\packages\ti\targets\rts6000"
(3) Then debug step by step to fuction "_auto_init_elf", I just see the program crashed at below code seciotns, and crashed at function "memcpy" :
if (!(&__TI_Handler_Table_Base >= &__TI_Handler_Table_Limit))
table_ptr = (unsigned char**) &__TI_CINIT_Base;
table_limit = (unsigned char**) &__TI_CINIT_Limit;
while (table_ptr < table_limit)
unsigned char* load_addr = *table_ptr++;
unsigned char* run_addr = *table_ptr++;
unsigned char handler_idx = *load_addr++;
handler_fptr handler = (handler_fptr)(&HANDLER_TABLE)[handler_idx];
(*handler)((const unsigned char*)load_addr, run_addr);
Exception at 0x857ad40c
857ad380 000000a0 rts6600_elf.lib : memcpy64.obj (.text:memcpy)857ad420 000000a0 : modf.obj (.text:modf)
(4) Once time , I see the program crashed after execute " table_limit = (unsigned char**) &__TI_CINIT_Limit;", maybe due to the symbol not match.
(5) I attach the AppImage and vision_sdk_c66xdsp_2_release.xe66. You could try on your board, the DDR size is 1G.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.