Hello,
We have a Firmware that uses MQX RTOS on an iMXRT1024CAG4A when we jump to the address of the firmware a busfault (IMPRECISERR(2)) and a Hardfault (FORCED (0)) gets triggered
I found out that this happens exactly at this line:
kernel_data->KD_POOL = (MEMPOOL_STRUCT_PTR)_mem_create_pool(start, (_mem_size)kernel_data->INIT.END_OF_KERNEL_MEMORY - (_mem_size)start);we are sure that the jump to the firmware happened because when we prevent the previous line from executing (using while(1) before the line for exemple) we don't get the faults.
the way I flash the board is I flash with the release image of the firmware then I start a debug session with the debug image of the boodloader.
faults screenshot:
Firmware linker file:
Also when I put the firmware at the start of the flash and run it directly without our bootloader it works without the faults, keep in mind that we tested the bootloader with other applications and it works.
thanks.