Hello,
This is my second day using the Hercules MCU and the TI MCU ecosystem in general and I am running into an issue.
I am trying to recreate the Out of Box Demo project included with the RM57 Launchpad from scratch and I have most of it working except the SL_SelfTest_Flash function. When I run the program and press the button to activate that function, the MCU stops blinking the LEDs and won't respond to any input. In the code below (which runs during main() in a while(1) loop), the gioSetBit runs, but the Flash self test never completes.
if (SHORT_PRESS == USER1) { gioSetBit(LED1_GPIOPORT,LED1_GPIOPIN,gioGetBit(LED1_GPIOPORT,LED1_GPIOPIN) ^ 0x00000001); SL_SelfTest_Flash(FLASH_ECC_TEST_MODE_1BIT, TRUE, &failInfoFlash); USER1 = NONE; }
Stepping through the assembly, the program flows like this:
196 SL_SelfTest_Flash(FLASH_ECC_TEST_MODE_2BIT, TRUE, &failInfoFlash);
0000837c: E30A00A4 movw r0, #0xa0a4
00008380: E3A01001 mov r1, #1
00008384: E28D2002 add r2, sp, #2
00008388: EB0002EB bl $Tramp$AA$L$PI$$SL_SelfTest_Flash
Then jumps to:
$Tramp$AA$L$PI$$SL_SelfTest_Flash():
00008f3c: E51FF004 ldr pc, [pc, #-4]
At which point it jumps to:
prefetchEntry:
0000000c: EAFFFFFE b prefetchEntry
and gets stuck there. I haven't seen anything particularly wrong with the interrupt handlers, registers or any other code, but since I am unfamiliar with this MCU I could be missing something. I would also like to note that if I let the program run, activate the flash test, wait, then pause it, it always stops at the prefetch entry. I have tried using and referencing the sample project at: https://processors.wiki.ti.com/index.php/LAUNCHXL2_RM57L:_Project_1 but that has not helped. I am attaching a copy of the project in its' current state.
Any help is appreciated,
~Kyle5428.GIO.zip