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.

TMS320F280049C: Firmware update by CAN boot

Guru 13885 points

Part Number: TMS320F280049C
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

Hi,

I want to configure CAN boot on TMS320F280049C.

But, since the hardware design has already been completed, it is not possible to set the boot by hardware (GPIO24 / 32).

Is it possible to set CAN boot only by changing the software? I would like to know if CAN booting can be performed without changing the hardware of the current mounting board.

Thanks,

Koki

  • Hi Koki,

    There are two things to consider:

    1.) GPIO24/32 are the bootmode select pins.  If these pins are not accessible in your design, you can configure this using the dcsm tool in the examples folder and choose CAN boot mode (0x2).  See examples in TRM section 4.3.2 Configuring Alternate Boot Mode Options

    2.) There are a few options in bootrom to support CANRX/TX GPIO functions.  See below table:

    Make sure that these pin options are available in your design.

    Regards,

    Joseph

  • Hi, Joseph

    Thank you for your answer.

    In case of (1), is it correct to understand that CAN BOOT can be performed regardless of the state of hardware (GPIO)? Also, please briefly tell me the procedure of CAN Boot using dcsm.

    you can configure this using the dcsm tool in the examples folder and choose CAN boot mode (0x2).

    What code does your example folder refer to?

    https://dev.ti.com/tirex/explore/node?node=AH8nsHtYljExcIKloRmP9g__gYkahfz__LATEST

    Thanks,

    Koki

  • Hi Koki,

    It will be under C2000Ware/F28004X/F280049C/Driverlib/Examples/Driverlib/dcsm_security_tool.  Once you import the project, open dcsm_security_tool.syscfg.  This will open the sysconfig GUI.  You will find a drop down menu for BOOTDEF0 but you have to choose Number of Boot Pins as '0' then from here, choose the corresponding CAN mode where you will have the limited choices for the supported GPIO channels (hopefully they are available in your current HW).  

    Once you compile, the code output and linkers will become available in Generated Source directory.  You can copy these files in your new project, or just invoke SYSCONFIG in your existing F28004X project and generate DCSM configuration from there.

    Regards,

    Joseph

  • Hi, Joseph

    You can copy these files in your new project, or just invoke SYSCONFIG in your existing F28004X project and generate DCSM configuration from there.

    With the above settings, the CAN boot flow will always occur when the MCU starts up, right?

    ■When executing application code from Flash
     → Jump to Flash with KeyValue ≠ 0x08AA

    When executing CAN BOOT
     → Execute CAN BOOT with KeyValue = 0x08AA

    As mentioned above, is it correct to understand that I can update the firmware via CAN communication without any hardware changes?

    * There was a description in TRM that the boot function flow of CAN and SCI is the same.

    Thanks,

    Koki

  • Hi Koki,

    With the above settings, the CAN boot flow will always occur when the MCU starts up, right?

    Yes, that is correct.

    I'm not too familiar with the boot flow.  Let me refer you to an expert.

    Best regards,

    Joseph

  • yes, the boot flow for SCI and CAN are similar.