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
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!
-----------------------------------------------------------------------------------------------------------------------