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.

TMS320F28P650DK: MCAN Bootloader Timeout Specification

Part Number: TMS320F28P650DK
Other Parts Discussed in Thread: C2000WARE

Hi,

I am wondering what the timeout of the MCAN ROM bootloader is? Tech notes seem to indicate the RAM Bootloader is based off the ROM bootloader, the RAM bootloader states a timeout of first message to be 2 seconds, and timeout of consequent messages to be 11ms (commented in the code).

 

During testing I have sent data at 4ms interval, and the bootloading process fails. I have also tested using the SEND_TEST mode (which I believe to have an unlimited timeout and sends two test messages) and I can use this reliably.

 

I have modified the RAM application code (non SEND_TEST mode) to drive an output HIGH before the readMsg function and LOW after (after it times out). I seemed to measure slightly less than the specified 2 seconds, and significantly less than the stated 11ms, I measured approximately 2ms. I believe i can meet the first message timeout criteria but struggle to meet the lower consequent message timeout.

Can you please confirm:-

  • The timeout of the first and consequent messages on the F28P65x?
  • Is a 100ms delay needed between each message as stated in SPRUJH3 (Page41) - Getting Started with Bootloading on C2000 Microcontrollers? 100ms timeout does not seem to be included in the Host PC Peak example 
  • The only difference between SEND_TEST and normal mode is the removal of the timeout and it sends two test messages

Thanks in advance,

 

Andrew

  • Hi Andrew,

    I recommend checking out the MCAN ROM bootloader source code in C2000Ware: "C2000Ware_26_00_00_00\libraries\boot_rom\f28P65x\rev0\rom_sources\cpu1\F28P65x_ROM\bootROM\source\bootloader_mcan.c"

    This should help address the majority of your questions:

    Is a 100ms delay needed between each message as stated in SPRUJH3 (Page41) - Getting Started with Bootloading on C2000 Microcontrollers? 100ms timeout does not seem to be included in the Host PC Peak example 

    The 100ms sleep time is defined in C2000Ware_26_00_00_00\utilities\flash_programmers\can_flash_programmer\can_flash_programmer\include\f021_DownloadImage.h

    I'm as familiar with the MCAN flash kernel implementation (those who wrote it are no longer at TI), but the kernel has different timing requirements than the ROM bootloader since the ROM bootloader can only program RAM. Flash programming (completed by the flash kernel) will take longer, hence the added delay.

    The only difference between SEND_TEST and normal mode is the removal of the timeout and it sends two test messages

    Yes, that is correct. 

    Best,
    Matt