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.

TMS470MF03107: Help loading CAN boot loader

Part Number: TMS470MF03107
Other Parts Discussed in Thread: UNIFLASH


I'm a mechanical engineer by education and trade so I'm a bit out of my element here but I'm open to all input.  My situation is this; the parts and service of a recently up and coming but now defunct electric motorcycle manufacture has left many of the us early adopters without support.  To keep our bike running we are forced to perform very invasive electronic component repairs when failure occurs.  One of the main modules is built around the TMS470 microcontroller.  In my case I had to replace the controller and I'm now faced with loading the firmware.  In the case of this particular module there is a test access port with both CAN and JTAG access.  

I've done enough research to come to the initial conclusion that I need to load the F0-23 CAN bootloader before I can load my application firmware which is written for CAN loading.  The other possibility is the F0-21 APP CAN bootloader but I believe that's for the TMS570 series controllers. I think I've found the APP but it's in a .xml format and I believe it needs to be a .BIN file.  This would be my first question as I'm unsure of the proper file and format required by CCS/Uniflash for bootloading programming of the TMS470?      

I've downloaded and studied both CCS and Uniflash and I'm struggling to understand what I feel should be a rather simple procedure.  Can someone direct me to a step-by-step (for idiots) describing this process?

I'm using a XDS100v2 USB debug probe designed for the ARM processors.  I believe I've identified the primary JTAG pins required for bootloading the 470 but would like verification.      

Finally, my failed attempts to load the F0-23 .xml file has resulted in a "locked chip".  According to Uniflash the module is "closed".  I'm aware of the quirky nature of this "locked/unlocked" feature of the 470 but it's suppose to time out and unlock "open" by itself, correct?  If not, is there a procedure for externally unlocking the memory besides just power cycling (which doesn't seem to work)?  

Thanks in advance for any help.  Mark.        

  • Hi Mark,

    Sorry for the delay.

    I am afraid that the bootloader implemented by the original manufacturer is custom and I will not be able to help you unless you find a proper image of that bootloader code. Here is an application note about a CAN bootloader from TI that works on that part: However, this may not be the bootloader used by the original manufacturer of the motorcycle.

    Unfortunately the link in that PDF is for an F021 bootloader and this is an F035 device. Here are the source files for that bootloader.


    The file that you would program into the the part using either Code Composer Studio or UniFlash is "TMS470M CAN Bootloader\Debug\TMS470M CAN Bootloader.out". This is an EABI ELF file. 

    Trying to program the device using the XML file and UniFlash or CCS will likely cause the part to lockup with illegal instructions. If you cannot connect to the part before it executes the illegal instructions (which may be impossible), then the part cannot be recovered. You might try asserting the external RESET signal instead of power cycling.

  • It should be noted that the Vendor Agent has made a most resourceful & caring effort.    Bravo.   However - as vendor notes - his response may (not) fully succeed.

    There is another issue - which indeed concerns:

    Mark Christman said:
    we are forced to perform very invasive electronic component repairs when failure occurs. 

    Even if you 'Fix your module' -  Especially if you 'Fix your module' - what prevents (yet another) FAILURE?    And such 'Ongoing Failure' (even beyond your current challenge) may prove an even larger, 'Elephant in the electric motocycle's room!'    Should it 'Not be asked' - "Why struggle to Fix - a module' - which demonstrates such, 'rich history' - of FAILURE?"

    My small Tech Firm has (some) experience w/'EVs and Submersibles' - and (maybe) this can lead to a more viable (i.e. lasting) solution - for you/ohers...

    Detail strays from 'normal forum-speak.'    May I suggest that we 'exit' and (more properly) continue?

    Now - when you registered for this forum there was a 'checkbox' which 'Enabled Conversations' (i.e. allows 'PM') which enables this discussion to continue 'privately' - w/out 'Bending Forum Rules.'   (Never/ever - would I - do that!)     Should you create such a 'PM' - I'll 'Do my best to offer (reasonable) alternatives.     Do note - we are a 'profit seeking venture' - and the ideas we 'put forth' are aimed at a 'Production Volume in/beyond a 'few hundred' - which (may) justify our time invested in such Tech Investigation...

    BTW - your post (first one - btw)  is extremely well thought & implemented - and the amount of 'EE you've (already) absorbed' - seriously impresses.   (we are 'jammed' work-wise - that 'impression' you've created - proves the dominant reason for my arrival!)

  • Bob, I had to replace the device but was able to load the TMS470-CAN-Bootloader.out file.  I still can't load my firmware yet but that maybe due to another problem.  I found this file while looking for the PF035 app.  Can you tell me what it's used for?  Thanks, Mark.

  • That is a binary file that contains the algorithms used by UniFlash.