NXP Kinetis bootloader not jumping to user application

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NXP Kinetis bootloader not jumping to user application

287 Views
arunkannan
Contributor III

I have flashed NXP Kinetis Bootloader v2.0.0 to MKL16Z128VFT4 and able to send commands and receive response.

Wrote a sample LED program and flashed using write-memory command at 0x9000 to test whether it jumps to user application and also set the same at bootloader_config.h

#define BL_APP_VECTOR_TABLE_ADDRESS 0x9000
 
But the bootloader is not jumping to application after reset.
 
Should I disconnect UART connection to host and try or is there anything else I need to set in code to jump to user application
0 Kudos
4 Replies

242 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello @arunkannan 

What about the start address of your user application image?

The bootloader for kL16, strongly recommend you:

https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-Bootloader-to-Update-Multiple-Devices-...  

This is a simplified version.

 

BR

Alice

0 Kudos

237 Views
arunkannan
Contributor III
It is jumping to application in debug mode but in normal mode it is not jumping.

Help with below code.

if (timeoutTicks)
{
// Note that we assume that the tick counter won't overflow and wrap back to 0.
// The timeout value is only up to 65536 milliseconds, and the tick count starts
// at zero when when inited the microseconds driver just a few moments ago.
uint64_t elapsedTicks = microseconds_get_ticks() - lastTicks;

// Check if the elapsed time is longer than the timeout.
if (elapsedTicks >= timeoutTicks)
{
#if BL_FEATURE_POWERDOWN
if (shortTimeout)
{
#endif
// In the case of the typical peripheral timeout, jump to the user application.
jump_to_application(applicationAddress, stackPointer);
0 Kudos

169 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello @arunkannan 

Sorry I'm not understand the " normal mode".

First you should confirm application works well. Then remap it to 0x9000, build to generate image. Program the image to 0x9000.  Debug bootloader to check whether can jump to 0x9000. 

Again,  strongly recommend you:https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-Bootloader-to-Update-Multiple-Devices-...  

 

BR

Alice

0 Kudos

179 Views
arunkannan
Contributor III
@Alice_Yang
any update
0 Kudos