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: F28377D Loading application into Flash memory and booting from internal flash

Part Number: TMS320F28377D

HI ,

I have an issue with my board booting from flash.

I have developed my application code on tms320f28377d, and see my code working well in emulation mode.

I have changed my boot pins from default pins to GPIO148 and GPIO149 ( boot control register value : 0x94 95 ff 5a - verified it in memory if the value is correct in location 0x7801e ) using blinky_dcsm example and pulled them up to boot my CPU1 in GET/wait  mode.

Anybody, what else should I do to make my application boot from internal flash.

Do I need to add any specific files in my project other than F2837xD_CodeStartBranch.asm

kindly help me out ASAP.

Regards,

Roshan tej thota

  • Hello

    You need to make sure your code_start as defined in F2837xD_CodeStartBranch.asm is linked to the flash entry point as defined in the TRM. With BOOTCTRL boot mode configured as 0xFF as you did, it will only boot to flash when the debugger isn't connected.

    Best regards
    Chris
  • HI Chris,

    I have taken care in removing my debugger before trying to see if the code is booting from the flash.

    I ve used the same F2837xD_CodeStartBranch.asm file that is provided in the example.
    It says that code_start will be pointing to the RTS library and I ve linked this library to my project.
    and I guess the flash starting point in the address would be same i.e.0x00080000. Correct me, IF I am wrong.

    do I need to edit the flash linker command file. 2837xD_FLASH_lnk_cpu1.cmd

    regards,
    Roshan

  • Roshan

    That linker should be fine as long as codestart is being placed at 0x80000.

    You say GPIO148 and GPIO149 are configured but 0x94 and 0x95 translate to GPIO147 and GPIO148 . Values are GPIO0 = 0x1, GPIO1 = 0x2, and so on (Value = GPIO# + 1). Due to this, you are likely not in Get Mode.

    Best regards
    Chris
  • Thanks for the help chris.

    I ve been worried about my coding, irrespective this silly mistake.

    The code is loading from the flash.

    regards,
    roshan tej