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: Booting to flash after OTP_BMODE has been changed

Part Number: TMS320F28069
Other Parts Discussed in Thread: C2000WARE,

Hello,

I am using a custom prototype board containing TMS320F28069. I have changed the values of the OTP_KEY and OTP_BMODE to boot my device from the CAN Bus, in a previous project. Is it now possible for me to boot to it's flash memory in some way?

Thanks

  • Hi Rahal,

    Are you wanting to program the device's Flash over CAN and then boot from some Flash entry point? Or something else?

    Best,

    Kevin

  • Hi,

    No, I no longer wish to use CAN to program the device. I want to program the device's flash with the CCS debugger (which I have already done) and run the device in standalone mode afterwards (i.e boot to flash memory).

    The problem I have is, that since the OTP_KEY and OTP_BMODE have been written, the device will no longer boot to flash in standalone mode. Is there a workaround to this?

    Thanks!

  • Hi Rahal,

    OK, understand your question now. Are you not wanting to change the OTP_KEY and OTP_BMODE values further (believe you can only reduce the values however, i.e. program bits to zero)?

    Let me check if there's a way this can be done and get back to you.

    Best,

    Kevin

  • Hi Rahal,

    Do you need to return to using CAN boot mode later? Or are you only wanting to test with Flash boot from now on?

    I believe you can program OTP_BMODE to an 'Other' value less than 0x0007 (i.e. 0x0003 for example) for Flash boot. However you will not be able to change it back to 0x0007 (bits can only be programmed to 0's).

    Best,

    Kevin

  • Hi Kevin,

    I'm also working a project like this.

    How to enter into CAN BOOT and exit from CAN BOOT mode if we are not using the OTP method. For now we  planing to wtitten one application branching test code form there we are driectly branching to CAN boot jump address in the flash. Is this method is correct? After this point we are loading the CAN kernal and Application. then I want to run the application programmed to FLASH.

    Another issue with OTP is every power on control goes to CAN_BOOT and it wait there infinitely(without timeout to exit) for CAN message to receive externally but it is not possible at every power ON to send the CAN message to exit from CAN_BOOT and go to flash boot

    How to soleve this? 

    Please provide a detailed answer for this.

    Thank you!

  • How to enter into CAN BOOT and exit from CAN BOOT mode if we are not using the OTP method. For now we  planing to wtitten one application branching test code form there we are driectly branching to CAN boot jump address in the flash. Is this method is correct? After this point we are loading the CAN kernal and Application. then I want to run the application programmed to FLASH.

    You can call back into the ROM, or you can implement your own CAN loader in the Flash, or the user OTP. 

    The source code from the boot ROM is available in C2000Ware.  You can use it for reference in building your own. 

    C:\ti\c2000\C2000Ware_4_02_00_00\libraries\boot_rom\f2806x

    Regards

    Lori

  • Hi Lori,

               Is there a function to call the CAN boot loader from the running program in the FLASH?

               I'm a beginner to this MCU. So, I don't have an idea to build my own CAN boot loader.

               Could you please help me in this.

    Thank You!

  •            I'm a beginner to this MCU. So, I don't have an idea to build my own CAN boot loader.

    I suggest this reference application report on creating a serial flash loader/kernel.

    The source code from the boot ROM is available in C2000Ware.  You can use it for reference in building your own. 

    • C:\ti\c2000\C2000Ware_4_02_00_00\libraries\boot_rom\f2806x
           Is there a function to call the CAN boot loader from the running program in the FLASH?

    The .map file (or .xml file) provided with the ROM source will show the address of each ROM function.  Once you have the address of the function, you can use a function pointer to access it from your application.

    Regards

    Lori

  • Lori,

           Is it possible to do the firmware update process explained in the given below link on TMS320F28069M MCU?

    https://www.ti.com/lit/pdf/spracn1 

  • Kasun,

    The method as described directly applies to TMS320F28004x. You should be able to apply it to older devices legacy devices with some modifications. The concept is the same.

    Regards

    Lori