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.

BOOTLOADER jump to application is not working

Other Parts Discussed in Thread: MSP430F67451

Controller:MSP430f67451

Flash :128k

Flash organization :

 

|----------------------------------------------|   Start : 0x C000                         FLASH

|                                                              |             

|     BOOT   CODE                               |  length :  3F80

|              15Kb                                      |                             

|                                                              |

|-----------------------------------------------|  End: 0x FF80

 

|----------------------------------------------|   Start : 0x 10000                      FLASH2

|                                                              |             

|     APP   CODE                                  |                                                                             

|                                                              |

|              113 K                                     | Length: 0x 1C000

|                                                              |

|                                                              |

|                                                              |

|-----------------------------------------------|  End: 0x 2BFFF                                                 TOTAL FLASH :128Kb

I have made two workspace for BOOTCODE and APP CODE .   BootCode with code area FLASH( c000) and AppCode with code area FLASH2(.10000).

CMD file: of application code ::

  .text       : {}>> FLASH2        /* CODE                              */
    .text:_isr  : {} > FLASH2                /* ISR CODE SPACE                    */
    .cinit      : {} > FLASH2                /* INITIALIZATION TABLES             */
    .const      : {} > FLASH2       /* CONSTANT DATA                     */
    .cio        : {} > RAM                  /* C I/O BUFFER                      */

    .pinit      : {} > FLASH2                /* C++ CONSTRUCTOR TABLES            */
    .init_array : {} > FLASH2                /* C++ CONSTRUCTOR TABLES            */
    .mspabi.exidx : {} > FLASH2              /* C++ CONSTRUCTOR TABLES            */
    .mspabi.extab : {} > FLASH2              /* C++ CONSTRUCTOR TABLES            */

while firmware upgrade I am writing into flash from  0x10000 to 0x2bfff.

After complete writing of the application code jump to 0x10000 done but the application code is not working after jump to 0x10000

  • Hi N#432,

    I assume that you have verified the integrity of the application area after updating it.

    CCS allows you to debug without downloading. Have you tried single-stepping through the code to check where the code fails?
    Is it jumping to >0x10000 at all? If not, check if your pointers are 16-bit or 20-bit. Check the memory models in the Compiler's UG (www.ti.com/.../slau132)

    Are you using interrupts in the application example? Are you redirecting them properly?

    Regards,
    Luis R
  • Hi Luis , Thanks for your reply.
    When I tried assembly step in at the Jump, PC is having the correct address.

    From Bootloader I am writing the application code into FLASH(0x10000 - 0x2BFFF)
    Interrupt vector and reset vector I am not writing again for app code (LED BLINK code no interrupts).
  • Hi N#432,

    Do you have any additional details?
    It's difficult to guess what is happening.

    Once the device jumps to the application, when does it get lost? Do you have any screenshots?


    Luis R