Hi. I'm using the very nice LPC54628 dev board (OM13098) for development of an LVGL application.
I see problems with warm reset (ie. either pressing "Target reset" or calling NVIC_SystemReset())
After a reset, execution sometimes gets stuck in ROM boot code at address 0x30012C2 (forever loop).
How to repeat:
1.Import the lvgl demo example using MCUXpresso (I use version 11.4.0 with SDK version 2.10.0).
2.Replace the source line containg "lv_demo_widgets()" with the following code:
#if 0
/* LVGL example */
lv_demo_widgets();
#else
/* LVGL simple test */
lv_obj_t *screen = lv_obj_create(NULL, NULL);
lv_obj_set_style_local_bg_color(screen, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
lv_obj_t *label = lv_label_create(screen, NULL);
lv_label_set_text(label, "hello, world");
lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, 0);
lv_scr_load(screen);
#endif
3.Build, load and detach the debug connection (to let it run whithout the debugger)
4.The LCD panel should become dark and show the message "hello, world"
5.Now press "Target Reset" button until reset fails (indicated with a white screen)
6.Reattach the debugger, press stop and the break address will be "0x30012c2".
Single stepping shows that the execution is stuck in a forever loop inside the Boot ROM.
Further reset attemts will fail. A power cycle is the only way to recover.
The problem seems similar to another issue reported in the NXP Community forum.
See "LPC54628 sometimes hangs in ROM boot loader after software reset".
-Is this a known issue?
-I have board rev "E", does the ISP pins on my board need pullup resistors?
Please advice.
Kind Regards,
Anders Erlandsson