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.

LMFLASHPROGRAMMER: Burn to a specific address in memory

Part Number: LMFLASHPROGRAMMER


Hi Team,

Our customer is using LM Flash Programmer to burn the firmware thru ethernet. According to our customer,

I see that the option to burn to a specific address in memory is not enabled when burning through ethernet

Is there such an option, to burn firmware thru ethernet to a specific address(offset)?

LM flasher programer - build 1613

I have searched the forum but I can't find similar inquiry.

Regards,

Danilo

  • Hi,

      If you are referring to the address field below, then you cannot specify the address. You must build your application to your desired starting address, e.g. 0x4000. 

    In your flash-based bootloader you also need to specify the starting address for the application in bl_config.h file to be 0x4000. See below snippet. This is how the bootloader knows where to program the application image to. If you are using the ROM-based bootloader, your application must start at 0x0. 

    //*****************************************************************************
    //
    // The starting address of the application. This must be a multiple of 1024
    // bytes (making it aligned to a page boundary). A vector table is expected at
    // this location, and the perceived validity of the vector table (stack located
    // in SRAM, reset vector located in flash) is used as an indication of the
    // validity of the application image.
    //
    // The flash image of the boot loader must not be larger than this value.
    //
    // Depends on: None
    // Exclusive of: None
    // Requires: None
    //
    //*****************************************************************************
    #define APP_START_ADDRESS 0x00004000

    //*****************************************************************************
    //
    // The address at which the application locates its exception vector table.
    // This must be a multiple of 1024 bytes (making it aligned to a page
    // boundary). Typically, an application will start with its vector table and
    // this value should be set to APP_START_ADDRESS. This option is provided to
    // cater for applications which run from external memory which may not be
    // accessible by the NVIC (the vector table offset register is only 30 bits
    // long).
    //
    // Depends on: None
    // Exclusive of: None
    // Requires: None
    //
    //*****************************************************************************
    #define VTABLE_START_ADDRESS 0x00004000