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.

TMS320F28388D: Flash Based CAN Bootloader

Part Number: TMS320F28388D

Tool/software:

Hi TI experts, I read the application note "CAN Flash Programming of C2000 Microcontrollers"

Everytime changing the boot config pins manually and load the bootloader over CAN before the load application over CAN thats looks more cumbersome in real world 

1) Is it possible to write bootloader the flash over JTAG and use it without loading everytime?

Assume that ,If the CAN bootloader resides some flash region and application program didn't overlap them.

2) I want to learn that if CAN bootloader can able to get data over CAN Bus to write application flash area and jump the that place to run application program? Is it possible?

I'll use DCANA interface and in the future i'll implement XCP in that interface.

Is there a any solution like that by TI?

Best regards.

  • Hello,

    1. Yes, this is possible. The linker cmd file can be modified to have the flash kernel reside in flash memory instead of RAM. There are some changes that you will have to make, such as running the Flash API in RAM and making sure that the application and the kernel do not overlap in flash. After this has been implemented successfully, you can have the device boot to flash every time and the kernel will run without having to load it again after every reset.

    2. Yes, this is done in the existing flash kernel examples. The data is received over the CAN bus and after the application is successfully programmed to flash, the device will branch to the application and begin executing. There is no example for a CAN flash kernel on F2838x, but there are examples for F28003x, F280015x, and F28P65x. The exact locations can be found in section 7.1 of the the application note you read.

    Kind regards,

    Skyler

  • Hello Skyler, 

    If i burn the CAN bootloader into flash, is there a any way to run it that indepentdent from position of the boot config pins.? 

    I also want to know, SPRSP14E page 241 section says that MCAN didn't support Debug over CAN. Therefore , the implementing XCP jsut applicable for DCAN interface , isn't it? 

  • Attila,

    1. Generally no, once the CAN bootloader is flashed, the boot config pins must be set to boot from flash in order to run it. If you can connect to the device through CCS, you could run it from emulation boot mode, in which the boot config pins are ignored as long as a valid boot mode is configured through CCS. What is the reason for wanting to boot independent of the configuration pins?

    2. Will you be using MCAN or DCAN for this implementation?

    Regards,

    Alex

  • Hello Skyler and Alex, 

    1) In our situation, after we flash the bootloader in the Flash Section of F28386D we'll put our board within battery pack and  load application program over the CAN Bus, we cannot physcially access the board except CAN H/L, V+ and GND. Therefore i need to develop solution that didn't requires the dynamically changing of the boot config pins.

    2) I'll use DCAN because peripheral booting support from DCAN interface. I new to TI MCUs.Before put the efford, i need to clearly understand somethings What kind of restriction prevent us to use MCAN to Debug over CAN?(Is it physicall or lack of SW Driver Support) 

  • Attila,

    I'm looking into this more for you and should have an answer sometime tomorrow.

    Regards,

    Alex

  • Attila,

    There are no MCAN software drivers present on the device, so DCAN must be used.

    Regards,

    Alex

  • Attila,

    I haven't heard from you in a couple weeks so I am going to assume all your questions have been answered and will mark the thread as closed.

    Best,

    Alex