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.

Compiler/MSP430F5659: THE ENTRY POINT SYMBOL LOCATION

Part Number: MSP430F5659

Tool/software: TI C/C++ Compiler

I work with Code Composer Studio 6.

My project contains two parts: my boot loader a application, the entry point symbol in application is defined by the following manner:

The lnk_msp430f5659.cmd file has this change:

MEMORY

{

CINIT_00 : origin = 0x8000, length = 0x200

}

SECTION

{

.text:_isr:_c_int00_noexit : > CINIT_00

}

Then the my_project.map file looks like this:

ENTRY POINT SYMBOL: "_c_int00" address 00008000

MEMORY CONFIGURATION

name             origin           length          used             unsused       attr fill

CINIT_00      00008000    00000200    0000001a     000001e6    RWIX

SECTION ALLOCATION MAP

 output                                  attributes/
section   page    origin      length       input sections
--------  ----  ----------  ----------   ----------------

.cinit     0    00009200    00000448    
                  00009200    00000417     (.cinit..data.load) [load image, compression = rle]
                  00009617    00000001     --HOLE-- [fill = 0]
                  00009618    0000000c     (__TI_handler_table)
                  00009624    00000006     (.cinit..TI.bound:InfoFlashSegC.load) [load image, compression = zero_init]
                  0000962a    00000006     (.cinit..bss.load) [load image, compression = zero_init]
                  00009630    00000018     (__TI_cinit_table)

This is a good expected result, right now I have the following problem:

I had write some new code and add the new module to the project, I did not change configuration files, but my ENTRY POINT SYMBOL LOCATION is changed and I don't understand why ?

Now my  my_project.map file looks like this:

ENTRY POINT SYMBOL: "_c_int00" address 0000a434

MEMORY CONFIGURATION

name             origin           length          used             unsused       attr fill

CINIT_00      00008000    00000200    00000000     0000200      RWIX

SECTION ALLOCATION MAP

 output                                  attributes/
section   page    origin      length       input sections
--------  ----  ----------  ----------   ----------------

.cinit     0    00009200    00000464     
                  00009200    00000433     (.cinit..data.load) [load image, compression = rle]
                  00009633    00000001     --HOLE-- [fill = 0]
                  00009634    0000000c     (__TI_handler_table)
                  00009640    00000006     (.cinit..TI.bound:InfoFlashSegC.load) [load image, compression = zero_init]
                  00009646    00000006     (.cinit..bss.load) [load image, compression = zero_init]
                  0000964c    00000018     (__TI_cinit_table)

This code is working, but I have a problem to run my application from the boot loader ENTRY POINT which located in address 0x8000 because the location of the application ENTRY POINT is changed.

1. I want understand what is the cause of this problem ?

2. I need any good practice way to solve it.

**Attention** This is a public forum