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.

TMS320F28069: Control jumps to ITRAP

Part Number: TMS320F28069

Hi All,

I am trying to upload a kernel in RAM section of the microcontroller using CAN boot ROM. I have generated the .txt file as accepted by CAN boot rom. I am able to receive the message as two bytes on CAN msg 0x01 but on return EntryPoint from CAN boot rom, the control enters the TRAP and the microcontroller gets reset instead of jumping to kernel part

When i tried to debug the CAN boot rom code it shows entrypoint as 0x0000C45D which is the section for RAML4.

AA 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5D C4 02 00 00 00 00 00 40 00 59 C5.

Can anyone suggest why is the control going to TRAP and how can i check due to which instruction is the control going to trap section.

Regards,

Chandrakant Pal

  • Hello

    Have you looked at the memory locations you expect to find your application? Are they correct?
    It will go to itrap if the CPU runs an invalid instruction (typically OPCODE 0xFFFF). It sounds like your program is either getting programmed in wrong location or isn't programmed correctly.

    Best regards
    Chris
  • Hi Chris,

    Thank you for your reply
    I am able to solve the issue. But i dont know whether why the microcontroller was getting reset. I made the following changes.

    I have written a code to jump to CAN boot rom address in application.And from the application I am able to jump to CAN boot rom address and receive the CAN flash kernel file from PC. But when in CAN boot rom after receiving the kernel when it tries to jump in kernel entry point the controler was getting reset.
    After going through the linker file of application and kernel , i noticed that RAML4 in application was used for .ebss section and in CAN flash kernel RAML4 was being used for .text section.
    I just changed the .text section of kernel to RAML8 which is not used in application and tried to check, the microcontroller was not getting reset and from CAN boot rom the control is jumping to kernel and from kernel i am able to again load the application.

    Can common RAM usage in application and kernel be the issue of microcontroller getting reset?
    I am not able to conclude the reason

    Regards,
    Chandrakant Pal
  • Hello

    Yes, it is possible. Maybe through the stack or something a global variables from ebss was trying to get read. There is prefetching that can happen as well and if memory is now 0xFFFF, it could cause an itrap.

    Best regards
    Chris