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.

TMS320F28075: Boot from CAN - can key be programmed on the fly or is this OTP?

Part Number: TMS320F28075

Hello - I have a customer working with the TMS320F28075 and needs assistance:

We are planning on using the CAN boot-mode in the Piccolo but there is one point that’s not clear to me.  I’ll first describe what I do know:

 

·         If the Z1 and Z2 keys are not programmed,

·         the devices will use GPIO72 and GPIO84 to determine which mode to enter

·         if GPIO72 and GPIO84 are pulled high, the device will boot from flash

·         If either of the keys are programmed with 0x5A

·         then the device will use the GPIOs selected in BMSP0 and BMSP1 to determine which mode to enter

·         if GPIO72 and GPIO84 are pulled high, it will boot from the mode defined by BMODE

·         Z1 is given the priority over Z2

 

 

In our application, we have GPIO72 and GPIO84 pulled up.  We can have BMSP0 and BMSP1 set to the device’s default (GPIO72/84).  BMODE can be set to 0x07 for CAN-A.  And, if we want to boot from CAN, then we can set the key to 0x5A.  Otherwise, to boot from flash it can be any value other than 0x5A.

 

Please confirm this description above.  Also, most importantly, please confirm whether the key can be programmed on the fly and is not a one-time-programmable (OTP) field?  With the BOTCTRL register in the DCSM OTP, it seems that it may be OTP, which that’s the case would mean every power-up would require a CAN boot.

Thanks,
Chris

We are planning on using the CAN boot-mode in the Piccolo but there is one point that’s not clear to me.  I’ll first describe what I do know:
 
•         If the Z1 and Z2 keys are not programmed,
•         the devices will use GPIO72 and GPIO84 to determine which mode to enter
•         if GPIO72 and GPIO84 are pulled high, the device will boot from flash
•         If either of the keys are programmed with 0x5A
•         then the device will use the GPIOs selected in BMSP0 and BMSP1 to determine which mode to enter
•         if GPIO72 and GPIO84 are pulled high, it will boot from the mode defined by BMODE
•         Z1 is given the priority over Z2
 
 
In our application, we have GPIO72 and GPIO84 pulled up.  We can have BMSP0 and BMSP1 set to the device’s default (GPIO72/84).  BMODE can be set to 0x07 for CAN-A.  And, if we want to boot from CAN, then we can set the key to 0x5A.  Otherwise, to boot from flash it can be any value other than 0x5A.
 
Please confirm this description above.  Also, most importantly, please confirm whether the key can be programmed on the fly and is not a one-time-programmable (OTP) field?  With the BOTCTRL register in the DCSM OTP, it seems that it may be OTP, which that’s the case would mean every power-up would require a CAN boot.

  • Chris

    The Z1/Z2 keys are in OTP and can therefore only be set once. So programming the key, pulling up the GPIOs, and having the BMODE set to CAN bootloader will result in booting to CAN bootloader on every reset. If the device environment is so that it is always connected to a CAN bus, then if you send an incorrect bootloader key (nothing to do with the Z1/Z2 keys), it will tell the bootloader to skip CAN boot and go to flash boot. If that doesn't work for them, then they need to set boot mode to boot to flash and put custom CAN bootloader in flash with their own decision logic between bootloader and application.

    Best regards
    Chris