KL17 ROM BOOTLOADER not responding

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

KL17 ROM BOOTLOADER not responding

833 Views
thomasmorrison
Contributor I

Hi,

First time for this forum newbie, I couldn't find a satisfactory answer while looking through

the this forum, so I figured I should ask.

Up to this point, I've been using the Kinetis Design Studio & a SEGGER J-Link JTAG interface

to update the application in the Flash. But, for field operations, I need to be able to update the

application using the ROM Bootloader. 

I just started testing this feature, and as the subject line goes, I get ping response using

the blhost or KinetisFlashTool interfaces (note: tools version is 2.0.0). 

More details: 

   1) I have NMI(BOOTCFG0) Line asserted

   2) I turn on power to the KL17...

   3) I get nothing out serial port. 

   4) If I then de-assert NMI line at this point and the user application starts up.

   5) If I try to use blhost.exe to ping, nothing happens?

Questions:

   a) Am I doing something wrong

   b) when I power-up with NMI/(BOOTCFG0)  asserted, should I get any output

   c) What should happen if I de-assert NMI/(BOOTCFG0) after powering up with it on?

   d) What can I do differently?

Tom

0 Kudos
1 Reply

586 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hello Thomas Morrison,

    This question you also post it in the case, and we already communicate about it.

    In this post, I just post the root reason which is caused your problem, which just as the email I have replied you:

Thank you for your updated information.
You can download the code with kinetisflashtool, it means your hardware connection have no problem, that's good.
I know your problem now, because your application code let the chip to boot from the flash directly, not the ROM, even you use the NMI, it still determined by BOOTSRC_SEL, which I already tell you

in the last email.
You said, your FOPT(flash address 0x40c) data is 0X3F, it is 0b0011 1111
You can find bit 7-6 BOOTSRC_SEL=00, boot from flash, bit 1, BOOTPIN_OPT =1, it is Boot source configured by FOPT[7:6] ( BOOTSRC_SEL) bits.
That's why even your press the NMI and RESET, you still can't connect after you download your application code. Because you already defined your chip boot from flash, no matter what happens.
But if you erase the chip, your will make FOPT(flash address 0x40c) data to 0XFF, then the BOOTSRC_SEL=11, boot from ROM.
Now, if you want the chip always boot from the ROM, you need to modify your application code, two ways:
1. FOPT[6-7]=11. BOOT from ROM.
or 2. FOPT[1]=0, Force Boot from ROM if BOOTCFG0 asserted,where BOOTCFG0 is the boot config function which is muxed with NMI pin. RESET pin must be enabled when this option is selected.
Please modify your application code in the address 0X40C.
Then your problem will be solved.

Wish it helps you!

If you still have question, welcome to let me know no matter in the community or the case.


Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos