Hello @Diego_charle,
thank you for your response. I'm trying to provide a means to update the MCU's firmware during runtime. My idea is based on jumping back to the ROM bootloader in serial download mode using the ROM API (RM ch. 9.12) and waiting for an external host to write the NXP Flashloader binary into the device's RAM (sdphost). After that I plan to let the very same host use blhost to update the application.bin located in Flash memory.
I've already managed to perform an update of the application by forcing the device to boot in serial download mode (inlcuding the usage of sdphost+blhost) by setting the BootMode pins. Unfortunately, this will no longer be an option after having the final system shipped to our customer because there will be no access to these pins no more.
But when trying to make a jump to the ROM Bootloader in serial download mode from my application (ROM API), the Bootloader restarts my application without delay. (This is what I meant by "I still couldn't manage to force it to stay in serial download mode?")
I already tried to modify a very simple example project (led_blinky) to make sure there's no problem with the device configuration of my project. But even that didn't work.
As I wrote in my last update, I also activated the WDOG (RM ch. 9.9) and expected the ROM Bootloader to wait at least until the default WDOG timeout period of 64s is elapsed before jumping back to the app. But this had no effect either. There is no delay before the application code is executed again and therefore the Bootloader does not respond to any sdphost commands.
What am I missing? Am I doing something wrong in the code snippet that I posted? Or are there any particular hardware considerations to met?
Thank you very much for your support!