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.

TMS320F28377D: Secure bootloader

Genius 12760 points
Part Number: TMS320F28377D


I am looking for a secure bootloader on the F28377D and would like you to confirm my understanding of the device as a prelude to further questions. Please can you confirm each of the following statements:

 

 

  1. It is not possible to disable the JTAG port on the F28377D. One can only go as far as securing the securable memories against JTAG accesses. This leaves unsecure memories and peripherals accessible over JTAG.

  2. Unsecuring a secure zone by performing the password match flow also unsecures the memory for JTAG accesses as well as CPU accesses.

  3. It is possible via CCS to connect to a core without tripping the ECSL (we have achieved this by attaching to a core running from secure memory with rude mode enabled) therefore it is possible to access unsecure memory and peripherals even if the core is running from secure memory.

  4. The FLASH library is not stored in ROM.

  5. The FLASH controller will not allow erasures of a Zone 2 block by code running from an unsecured memory.

  6. The FLASH controller will not allow erasures of a Zone 2 block by code running from a Zone 1 memory.

  7. Is it not possible to permanently lock a FLASH block directly, i.e. make it impossible to erase a FLASH block even if commanded to from the correct secure zone.

 

The reason I am interested in these aspects of the device is based around having a bootloader in FLASH that can upgrade the application, is protected against accidental erasure at the hardware level, and securing the chip such that our IP is protected against an attacker accessing the device through the JTAG port. Your response will inform my further design work.

 

Regards, Bernd

  • Hi Bernd,

    1. It is not possible to disable the JTAG port on the F28377D. One can only go as far as securing the securable memories against JTAG accesses. This leaves unsecure memories and peripherals accessible over JTAG.

    This is correct.

    1. Unsecuring a secure zone by performing the password match flow also unsecures the memory for JTAG accesses as well as CPU accesses.

    Correct.

    1. It is possible via CCS to connect to a core without tripping the ECSL (we have achieved this by attaching to a core running from secure memory with rude mode enabled) therefore it is possible to access unsecure memory and peripherals even if the core is running from secure memory.

    Correct.

    1. The FLASH library is not stored in ROM.

    Correct.

    1. The FLASH controller will not allow erasures of a Zone 2 block by code running from an unsecured memory.

    Correct, as long as Zone 2 is secure.

     
    1. The FLASH controller will not allow erasures of a Zone 2 block by code running from a Zone 1 memory.

    Correct, as long as Zone 2 is secure.

    1. Is it not possible to permanently lock a FLASH block directly, i.e. make it impossible to erase a FLASH block even if commanded to from the correct secure zone.

    That is correct. 

    Regards,

    Vivek Singh