AnsweredAssumed Answered

MQX lite and bootlaoder

Question asked by Daniele Cortellazzi on Jul 1, 2015
Latest reply on Jul 14, 2015 by Daniele Cortellazzi

Hi all,


i have a device with a uTasker Bootlader an MQX lite. I have change the Memory map of the firmware :



  m_interrupts (RX) : ORIGIN = 0x00008080, LENGTH = 0x00000200

  m_cfmprotrom (RX) : ORIGIN = 0x00008400, LENGTH = 0x00000010

  m_text      (RX) : ORIGIN = 0x00008410, LENGTH = 0x00037BF0

  m_data      (RW) : ORIGIN = 0x1FFFE200, LENGTH = 0x00007E00



I know that MQX can copy the interrupt to RAM with the setting MQX_ROM_VECTORS set to 0 in user_config.h. This is necessary for a correct functioning because at 0x00 address i have the bootlaoder. Although this setting the system crash as visible in the image when is execute


    PEX_RTOS_INIT();                   /* Initialization of the selected RTOS. Macro is defined by the RTOS component. */


in PE_low_level_init.



PS: the system crash in


void _psp_int_install(void)
    KERNEL_DATA_STRUCT_PTR kernel_data;


        uint_32         i;
        uint_32_ptr     ptr = (pointer)(&__vect_table);

        /* Initialize the hardware interrupt vector table
         * 0: Initial stack pointer
         * 1: Initial program counter
        for (i = 16; i < PSP_MAXIMUM_INTERRUPT_VECTORS; i++) {
            ptr[i] = (uint_32)_int_kernel_isr;


when the ptr[i] = (uint_32)_int_kernel_isr; is executed