AnsweredAssumed Answered

Bootloader: problems with starting MQX app

Question asked by Dmitriy Magazeev on May 7, 2014
Latest reply on May 26, 2014 by Dmitriy Magazeev

Hello!

I want to update my mcu software with serial port. So i created a bootloader using processor expert for uploading S19 records to flash. For testing a bootloader i created a test program with processor expert. The bootloader with the test programm works fine, but now i have problem with starting my main MQX application. I prepared the MQX project, but my main application doesn't start:

1) set vector table of main application to be placed in RAM in user_config.h and builded BSP and PSP libraries:

#define MQX_ROM_VECTORS                           0

2) created new linker file:

shifted the adresses:

bootloader(RX): ORIGIN = 0x00000000, LENGTH = 0x00003000
boot_flags(RW): ORIGIN = 0x00003000, LENGTH = 0x00001000

vectorrom   (RX): ORIGIN = 0x00004000, LENGTH = 0x00000410

/*cfmprotrom  (R): ORIGIN = 0x00004400, LENGTH = 0x00000020*/

rom (RX): ORIGIN = 0x00004420, LENGTH = 0x0004BBE0  /* Code + Const data */

my_rom (RW): ORIGIN = 0x00050000, LENGTH = 0x00030000  /* my data */

ram (RW): ORIGIN = 0x1FFF0000, LENGTH = 0x00020000  /* SRAM - RW data */

  

/* kernel space starts after RAM variables (Location of MQX Kernel data + MQX heap) */

end_of_kd   (RW): ORIGIN = 0x2000FFF0, LENGTH = 0x00000000

  

/* Boot stack reused by MQX Kernel data */

bstack      (RW): ORIGIN = 0x2000FA00, LENGTH = 0x00000200  /* Boot stack */

  end_bstack  (RW): ORIGIN = 0x2000FC00, LENGTH = 0x00000000  /* Boot stack end address requires 4B alignment */

commented:

    /*.cfmprotect :

    {

        KEEP(*(.cfmconfig))

        . = ALIGN (0x8);

    } > cfmprotrom*/

 

So i don't understand what i missed. Can anybody help me?

Outcomes