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.

如何实现MSP432的从bootloader到APP的跳转?

如何从boot跳转到app,app 采用的是rtos系统?

  • ((void (*)()) 0x4321)();

    跳转到任意地址的空指针。

  • 这样会不断在bootloader里复位,而不会进入app

     

  • boot MAP

    #define FLASH_BASE              0x00000000

    #define BIM_BASE                0x00000000

    #define BIM_FLASH_SIZE          0x2000

     #define PAGE_SIZE               0x1000

     #define RAM_BASE                0x20000000

     #define RAM_SIZE                0x10000

    #define APP_BASE                0x00002000

     #define APP_FLASH_SIZE          0x00030000

    MEMORY {   

     FLASH (RX) : origin = BIM_BASE, length = BIM_FLASH_SIZE

        SRAM (RWX) : origin = RAM_BASE, length = 0x0000C800//length = 0x00002CFF

     }

     

    SECTIONS {    

     .intvecs:   > BIM_BASE    

     .text   :   > FLASH    

     .const  :   > FLASH    

     .cinit  :   > FLASH    

     .pinit  :   > FLASH   

      .init_array  :   > FLASH

     .flashMailbox : > 0x00200000

    .vtable :   > SRAM   

     .data   :   > SRAM    

     .bss    :   > SRAM   

      .sysmem :   > SRAM    

    .stack  :   > SRAM (HIGH)

     }

     

    app MAP:

    #ifndef APP_BASE #define APP_BASE                0x00002000

    #endif //APP_BASE

    #define FLASH_SIZE              0x40000

    #define PAGE_SIZE               0x1000

    #define RAM_BASE                0x20000000

    #define RAM_SIZE                0x10000

    #define APP_FLASH_MAX_SIZE  0x0003E000

    MEMORY {     

    APP_FLASH       (RX) : origin = APP_BASE, length = 0x0003E000

     INFO       (RX) : origin = 0x00200000, length = 0x00004000

     SRAM_CODE  (RWX): origin = 0x01000000, length = 0x00010000  

    SRAM_DATA  (RW) : origin = 0x20000000, length = 0x00010000

     }

    SECTIONS {

    //    .intvecs:   > APP_BASE    

     .text   :   > APP_FLASH    

     .const  :   > APP_FLASH    

     .cinit  :   > APP_FLASH    

     .pinit  :   > APP_FLASH    

     .init_array  :   > APP_FLASH

     .resetVecs : > APP_BASE//+0x140

        .flashMailbox : > 0x00200000

        .vtable :   > SRAM_DATA    

     .data   :   > SRAM_DATA    

     .bss    :   > SRAM_DATA    

     .sysmem :   > SRAM_DATA    

    .stack  :   > SRAM_DATA (HIGH)

     }

     

     

     

     

  • 问题已经解决

  • 你好,请问你怎么解决的?有相应的BootLoader例程吗?