I've got an FRDM K64F and it's been working fine for weeks. However, I think I've messed something up as I can't mount the board to the USB any more. When I hook it up, nothing happened. I've tried booting it up in bootloader mode and the USB drive came alive so I downloaded the latest firmware and restarted the device but with the same result after I've restarted it.
There is a red led next to the reset button which I don't think was lit before (see image). Matters got even worse as I accepted the defeat and bought another board...and now I have two K64F with the same issue...
Cheers Mikael
That's what I thought. I've been testing with different bootloaders from OpenSDA and even the once that come with KDS, but the result is pretty much the same:
****************************************************************************************************************************
Open On-Chip Debugger 0.8.0-dev (2015-01-09-16:22)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'cmsis-dap'
Error: unable to open CMSIS-DAP device
Error: unable to init CMSIS-DAP driver
Error: Error selecting 'cmsis-dap' as transport
Runtime Error: C:/Freescale/KDS_v3/openocd/bin/..//scripts/kinetis.cfg:3:
in procedure 'script'
at file "embedded:startup.tcl", line 58
in procedure 'interface' called at file "C:/Freescale/KDS_v3/openocd/bin/..//scripts/kinetis.cfg", line 3
****************************************************************************************************************************
If you'd have a few minutes to spare on a skype meeting - that would be awesome. My skype id is wmmihaa [at] hotmail [com].
Cheers
Mikael
Hi Mikael,
Q1: an 'empty' project will do. The point is to get a project flashed which can run out of reset properly.
Q2: no, the board should be in 'normal' mode so you can debug it
online call: one beer :-)
Erich
I'm going to cry myself to sleep tonight ...
ok... firmware deployed and KDS installed.
Q1: I assume I need to open some sort of project, but which project would that be?
Q2: Should the board be started in bootloader mode?
Using uVision it tells me "Device not found", but in KDS I don't know where to even set the target...
BTW, how much would it cost me to have an online call... :smileywink:
I installed the 02_OpenSDA_FRDM-K64F_REVB.bin on the bootloader, stared it up like normal and fired up Keil uVision5 but it can't find the device. I tried the 02_OpenSDA_FRDM-K64F_REVD binary with the same result.
BTW, is uVision a different IDE or is it just a new name for Kinetis Design Studio?
Hi Mikael,
Keil uVision is a a product from ARM/Keil (proprietary IDE). Kinetis Design Studio (http://www.nxp.com/kds) is a product from NXP (Eclipse based IDE). They are two different things.
Erich
For the second option you need to get the Segger Firmware binary from SEGGER - The Embedded Experts - OpenSDA / OpenSDA V2 and drag&drop it to the Bootloader mode/device. Then you have to use a normal SWD/JTAG debugger (e.g. KDS to re-program/get access to the K64F. As mbed does not include a debugger, you cannot use mbed for this. You need a real tool for this.
Erich
Hi Mikael,
the red LED is indicating the reset of the K64F, so your device is constantly resetting.
I had that in a few cases too. See
https://mcuoneclipse.com/2014/04/19/recovering-frdm-k64f-mbed-board/
and
for possible solutions.
Erich
Thanks Erich,
I found and read your articles before, but I don't have a Segger J-Link :smileysad:
I don't know if it helps, but I think I know what caused the issue(s). I was playing around with a custom bootloader which downloads a new binary and writes it to the flash and reboots the device. The only problem was that the uri to the new binary was wrong and I accidentally flashed the device with the 404 HTML message I got back (yes I know I should have checked the response code...)
Ih Mikael,
if the K20/OpenSDA bootloader is still workign, you do not need a dedicated SWD probe to reflash it.
My experience is that the CMSIS-DAP/mbed firmware has issues to get hold of a 'running wild' K64F: in that case it helps if you either drag&drop that .bin file to recover as explained in one of the article, or if you load the Segger OpenSDA firmware on the board/K20 and then recover the K64F with it.
I hope this helps,
Erich
Reading the articles (again) it seams to be exactly the same issue, but just to make sure I understand you correctly; You wrote "in that case it helps if you either drag&drop that .bin file to recover as explained in one of the article". -Do you mean booting up the board as normal and drop in a HelloWorld binary in the MBED drive? If this is what you mean, I can't do that as I can't access the device after normal boot using USB.
The second option was "if you load the Segger OpenSDA firmware on the board/K20 and then recover the K64F with it." I grabbed the bin file and drag & dropped it to the USB drive after booting on bootloader mode:
But after I've done that the device appears dead and no USB drive comes up after normal boot.