Hi all,
I had a working construct of a bootloader at zero and application at offset 0x20000 in flash.
Everything worked as expected until I found I need to start Sys/BIOS within the bootloader. Since in every example it is stated that BIOS_start() does not return, I moved the NVIC relocation code to my one thread that I start. This does not work, I expected this already.
How can I determine which Interrupts run, or is there a hook I can use to jump when all threads finished?
I already tried this
Hwi_disable();
HWREG(NVIC_DIS0) = 0xFFFFFFFF;
HWREG(NVIC_DIS1) = 0xFFFFFFFF;
HWREG(NVIC_DIS2) = 0xFFFFFFFF;
HWREG(NVIC_DIS3) = 0xFFFFFFFF;
HWREG(NVIC_DIS4) = 0xFFFFFFFF;
HWREG(NVIC_UNPEND0) = 0xFFFFFFFF;
HWREG(NVIC_UNPEND1) = 0xFFFFFFFF;
HWREG(NVIC_UNPEND2) = 0xFFFFFFFF;
HWREG(NVIC_UNPEND3) = 0xFFFFFFFF;
HWREG(NVIC_UNPEND4) = 0xFFFFFFFF;
HWREG(NVIC_VTABLE) = 0x00020000;
__asm(" ldr r1, [r0]\n" " mov sp, r1");
__asm(" ldr r0, [r0, #4]\n" " bx r0\n");
but this did also not work...
Uhh, I forgot to mention I use the TM4C129ENCPDT.
Thank you for your help,
Günter.