I am teaching a third-year college computer engineering course in micro controllers. I have just migrated from the 9S12 using Codewarrior to KDS 3.2.0 using the FRDM-K64F and SDK 2.1.
I have 40 or so FRDMK64F kits and in our third lab the kits have started being unable to load programs when we go to debug with CMSIS-DAP. The first lab was to load a sample program The boards are showing up as an mbed flash drive as well as an mbed com port, but thelittle red LED beside the green LED near the SDA connector is dimly on and it won;t load anything.
I have now lost 6 boards due to this problem! Anybody else have this, or a solution?
I have tried reloading the boot block on alinux system and get the same problem. the boot code is version 226.
Any help urgently appreciated!
Nigel Johnson
Nigel
For teaching courses also look at http://www.utasker.com/kinetis/FRDM-K64F.html
It has been used in university classes since it allows testing and debugging K64s (or almost any other Kinetis parts) without the need for HW. It allows real-time operation of many parts, including Ethernet (the simulated board communicates on the network as if it were real). Using VS Community Edition (also free) it allows hugely advanced debugging (unlimited breakpoints, stack analysis, detection of memory leaks etc.) and accurately emulates Flash, peripherals etc, so that interrupt operation and DMA can be studied - problems debugged and solutions verified.
It also emulates SD cards attached via SPI or SDHC peripherals, memory sticks for USB host - it emulates USB device operation and lots of other things too. Students can work anywhere without HW, much faster and more reliably that with limited debuggers.
All code will also build in KDS to be compared with real HW operation. If students want to compare different parts (KE, KEA, KL, etc.) or alternative boards they can simply change the target and they have it too (there are over 50 boards including most NXP tower and Freedom boards, TRK boards, TEENSY, Blaze etc. - also Eric's TinyK20 ;-) so they can work with LCDs, TFT displays etc. all without HW and the risks (like breakage and costs) that come with them.
Students enjoy cool things like http://www.utasker.com/kinetis/BLAZE_K22.html which is rumored to be appearing in the next Fast and Furious movie.
It is completely free (OpenSource) and even supported for educational establishments...Show students how to work better than the rest by not just sticking to limited and slow traditional methods....
Regards
Mark
Hmm, very interesting, Mark. I have looked at your site before (back when I was using the 9S12) and was very impressed for my own experimentation but the course I am teaching is too basic to use it.
(I am planning a ham radio project that needs an RTOS!)
However, I have a problem. I downloaded the binary for your
from here:
µTasker Kinetis FRDM-K64F support
just to do a quick connections test and see it working. The LED flashes, and I can interact with the menus on the console (I do not have RF module) but there is nothing on the LCD display.
When I scope the data bits (I assume PTC7 goes to pin 7 on the LCD, PTC8 to 8 etc) I see normal-looking signals for a few seconds, then I get a 3V baseline with pulses going to 5V
I have a pot from pin 3 to ground and adjust it so the blocks just vanish, but the character positions are not cleared. I am using a 4-line display but that should not matter, I should just get lines 1 and 3, I have done that before.
Where are you in CH? I am planning on coming to Friedrichshafen in the summer and may like to take a trip across the water to CH for a visit. I have never been there!
My email is nigel.johnson@sheridancollege.ca if you want to keep it off the list.
Any ideas/suggestions?
Nigel
The LCD writes a certain amount of initialisation data and text when it starts which means there is activity that one sees. Afterwards it just shifts the display around, and so needs one regular very short commands - The 5V spikes are probably from the LCD when its status is being checked (presumably it is a 5V display so possibly not the best idea to connect directly with the 3V3 K64.
The interface is bit-banged and the LCD's can be quite slow and need some additional delays - possibly the operation is too fast for the display that you use (?).
If you download the OpenSource version you can build the project and adjust anything needed to match your LCD.
The simulator also makes it easier, simulating 1 to 4 line displays of several characters up to 40 character width; both western and cyrillic fonts too.
Regards
Mark
Thanks, Mark. I have a whole day at home tomorrow reserved for this so will try the source then!
Thank you Eric! I remember you from my days at Technological Arts!
One of my students also found this:
Hi Nigel,
that "Recovering FRDM-K64F mbed Board | MCU on Eclipse" is related of the mbed CMSIS-DAP firmware not able to get hold of the K64F microcontroller, and is not related to Windows.
But glad your student has found that one too :-).
Erich
Thanks again Eric. When driving down a new road it is always good to hear form someone who has been there before, and knows where the dangerous bends and potholes are! I don;t suppose you can help with my other post about seeing cycle times, can you?
cheers,
Nigel
Hi Nigel,
you mean https://community.nxp.com/message/870994 ? I saw that, and I just have posted my thoughts on that one there.
Erich
Hi Nigel,
yes, I have this problem in my classes too. The problem is that Windows 10 tries to index/write to the boards. The boards are especially vulnerable if they are coming out of reset/power-up.
I have described it here: Bricking and Recovering OpenSDA Boards in Windows 8 and 10 | MCU on Eclipse
The solution (which mostly works) is to update the bootloader and firmware on the K20 on the board. I have described an approach here too: How to Recover the OpenSDA V2.x Bootloader | MCU on Eclipse
I hope this helps,
Erich
Just a thought, Eric, have you tried getting the students to disable indexing? If so did it help?
Hi Nigel,
what I asked them was both: disabling the indexing && updating the bootloader.
That worked well in most cases (there still seems to be an issue in the bootloader for which I have filed a ticket at mbed).
Erich