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.

CCS/TMS320F28377S: C2000 32-bit Microcontrollers Forum

Part Number: TMS320F28377S
Other Parts Discussed in Thread: UNIFLASH, , C2000WARE, CONTROLSUITE

Tool/software: Code Composer Studio

Hi everyone.

I am developing DCSM function using TMS320F28377S with CCS 7.2 and UniFlash.

CCS 7.2 and UniFlash supports method for security setting, programming password (CSMKEY 0~3) and GRABSECTR.

For mass production, I don't want use CCS 7.2 or UniFlash. Instead, I want to integrate security setting in kernel.

The kernel supports updating  firmware from PC via UART protocol.

How can I add kernel routine to set secure, programming CSMKEY and GRABSETR ?

Best Regards.

  • hi YoungHwan Kim ,

    Please refer to the C2000Ware example on F2837xS_sci_flash_kernel.
    www.ti.com/.../C2000Ware

    c2000ware\device_support\f2837xs\examples\cpu1\F2837xS_sci_flash_kernel

    We have a SCI flash kernel which is used to update the flash via SCI and handles the security related settings as well.

    Please refer to this Application Report:
    www.ti.com/.../sprabv4b.pdf

    Regards.
  • Hi Meghana.
    I appreciate your reply.
    I have read your mail and the application report. It shows that how to program secured device via serial UART interface. I want to get solution to set security using serial interface, without JTAG.
    Best Regards.
  • hi YoungHwan Kim,

    Even if a zone is not protected with a password, the CSM will lock at reset.

    Thus, a dummy read operation must still be performed on these zones to unlock. The Boot ROM code does this dummy read for convenience.

    The expectation of the appnote is a CSM locked device which only needs to unsecure the device and perform actions.

    The securing of the device would have to be done after booting from SCI at the end of the boot rom sequence.

    The similar approach of loading data to flash would have to be expanded to the OTP to change to password and lock the device.

    Currently, we don't have a solution to set security using serial interface.

    You could use the framework in the appnote.

    Regards.

  • Hi Meghana.

    It is to difficult for our manufacture to set security using UniFlash or CCS. Using UniFlash or CCS is useful only for developer.

    I found some example code in controlSUITE to set security using serial interface. I called flash API function, fapi_issueProgrammingCommand. Its procedure are like following with non-secured device.
    - I programmed firmware using serial interface.
    - I checked that downloaded firmware works well.
    - I programmed security using API function to set security like following steps.
    ; set 0x2AAAAAAA to address 0x78226, Z2-GRANSECT
    ; set 128 bit password to address 0x78228 ~ 0x7822e, Z2-CSMPSWD 0~3
    - I checked that security works well using On-Chip Flash of CCS
    - After that downloaded firmware does NOT work in following situations
    ; power OFF and power ON
    ; CCS debugger sends "CPU Reset" command using JTAG
    ; CCS debugger start debugging with "Load Symbol Only" option using JTAG
    - When downloaded firmware does NOT work, CPU register, PC is in 0x3FFxxx, master Boot ROM.
    - However when I start debugging "Load Program" options using JTAG, the loaded firmware works well.
    - When downloaded firmware does work, CPU register, PC is in 0x80000, mapped address of firmware.

    I want to get solution from you seriously.
    Best Regards.
  • hi YoungHwan Kim ,

    When we do a Load symbols it only provides a symbolic link for debug.

    You would need to "restart" the device to run to main .This will help get out of boot ROM into code space.

    Restart will force the PC to the "entry point" of the application and will bypass executing the boot ROM code.

    You could find this useful

    Regards.