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/MSP432E401Y: Change Application Address from @0000 to @4000 - BSL Scripter

Part Number: MSP432E401Y

Tool/software: Code Composer Studio

Hi,

how to change application code to start at addres @4000 ?

Because on the BLS Scripter i am having an issue about the address : 

[ERROR_MESSAGE]Invalid address!

And if a manually change the default address @0000 to @4000 the BSL Scripter can flash the MSP432E401.

Here is my application .txt output format setting:

Here is my application .txt code:

And here is the example txt application from BSL Scripter:

Another question, do i have to fash the bootloader first than the application right?

If the start address from the application lets say is @4000, will it affect the boatloader which should be at address @0000 ?

Best regards,

Michael

  • Hi,

    We will look into it and get back to you ASAP. Please bear with us.

    Thanks,

    PM

  • On the "MSP432e401y.cmd" file i could change the APP_BASE Address to 0x00004000:

    *****************************************************************************/
    /* Suppress warnings and errors:                                            */
    /* #10199-D CRC table operator (crc_table_for_<>) ignored:
        CRC table operator cannot be associated with empty output section       */
    --diag_suppress=10199
    
    --retain=interruptVectors
    
    #define APP_BASE 0x00004000
    
    MEMORY
    {
        FLASH (RX) : origin = APP_BASE, length = 0x000FC000
        SRAM (RWX) : origin = 0x20000000, length = 0x00040000
    }
    
    /* The following command line options are set as part of the CCS project.    */
    /* If you are building using the command line, or for some reason want to    */
    /* define them here, you can uncomment and modify these lines as needed.     */
    /* If you are using CCS for building, it is probably better to make any such */
    /* modifications in your CCS project and leave this file alone.              */
    /*                                                                           */
    /* --heap_size=0                                                             */
    /* --stack_size=256                                                          */
    /* --library=rtsv7M4_T_le_eabi.lib                                           */
    
    /* Section allocation in memory */
    
    SECTIONS
    {
        .intvecs:   > APP_BASE
        .text   :   > FLASH
        .const  :   > FLASH
        .cinit  :   > FLASH
        .pinit  :   > FLASH
        .init_array : > FLASH
    
        .vtable :   > 0x20000000
        .data   :   > SRAM
        .bss    :   > SRAM
        .sysmem :   > SRAM
        .stack  :   > SRAM
    }
    
    __STACK_TOP = __stack + 512;

    This changes the main address on flash but i the debugger doenst put a breakpoint in main().

    I cannot start the program code and in the disassembly it stays here:

    This is what the debugger verbose output:

    CORTEX_M4_0: GEL Output:
    Memory Map Initialization Complete
    CORTEX_M4_0: Flash Programmer: Verbose output enabled
    CORTEX_M4_0: Flash Programmer: DLL Version 3.3.0.1
    CORTEX_M4_0: Flash Programmer: Found illegal reset vector address
    CORTEX_M4_0: Writing Flash @ Address 0x00004000 of Length 0x00001068
    CORTEX_M4_0: Flash Programmer: Device init finished
    CORTEX_M4_0: Flash Programmer: Programming flash memory
    CORTEX_M4_0: Flash Programmer: Write speed 34.5 kB/sec
    CORTEX_M4_0: Flash Programmer: Exit flash programming

    Any idea? Do i have to change anything else?

  • Ok i made it to work now.

    On project propreties i set the debug flash settings as followed:

**Attention** This is a public forum