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.

TMS320F28374S: No source available for "_system_post_cinit() "

Part Number: TMS320F28374S
Other Parts Discussed in Thread: C2000WARE

Tool/software:

When compiling the same code, there is no problem with compiler version 20.6.5, but when using 22.6.1, it will report "No source available for" _System_post_cinit() at D: \ LTWJob3_60kw \ LLC \ SourceCode \ EVDP-UA603W0001_LLC_S001Txx \ EVDP-UA603W0001_LLC_S001T16-Demo \ EVDP-UA603W0001_LLC_S001T16-Demo. out: {3} 0x3fe493 {4} ". What is the reason?

CCS version 12.6.1

  • Hi Liu,

    Are you able to reach the main() function after connecting and loading the new .out with the 22.6.1 compiler version?

    Are you running Flash or RAM build configuration?

    Did you update your C2000WARE between the code bases?

    Best,

    Ryan Ma

  • Hi,Ryan:

        The main function can run, but this problem occurs when the main function starts running with an interrupt after it finishes running. However, we currently do not know which interrupt caused this issue.

        Running Flash build configuration.

       Did you update your C2000WARE between the code bases?--->Sorry, I didn't understand the meaning of your sentence

  • Hi Liu,

    Can you disable interrupts one by one, until you find the interrupt causing the issue?

    Have you updated your C2000WARE for when you changed compiler versions?

    Can you diff the disassembly between both projects with the two different compiler versions?

    Best,

    Ryan Ma

  • Hi,Ryan:

          The current problem has been located at the position shown in the following figure:

    1)ID0xE8 is a handle for the Switch case

    2)If there is only the memset() function in else, the code cannot run;

    3)After masking memset(), the code can run;

    4)Replace the memset() function with a direct assignment of 0, and the code can also run;

    5)Why does the memset() function affect the running of the entire code? I don't quite understand.


    6)After SN1, SN2 are also required, and the same memset() method is used for sampling. Only the memset() function of SN1 is masked, and the code can run. If it is a problem with the memset function, why do SN2 functions not affect the code's running?

    Have you updated your C2000WARE for when you changed compiler versions?--->No updates

    Can you diff the disassembly between both projects with the two different compiler versions?-》

    Comparing the assembly languages of two compilers, they are basically consistent

  • Hi,Ryan:

        Add it up: C2000WARE

  • Hi,Ryan:

         Looking forward to your reply, thank you

  • Hi Liu,

    5)Why does the memset() function affect the running of the entire code? I don't quite understand.

    When the memset function causes the issue, can you step into the dissembly view and go line by line until it reaches the 0x3fe493 address?

    Do you have the correct RTS library included in your project?

    Best,

    Ryan Ma