I have a couple of projects where I want to use the ARM mbed platform on the inexpensive FRDM-KL25Z board, which features the Freescale Kinetis KL25Z ARM Cortex-M0+ processor. This requires a firmware update on the board and I have done this previously without trouble while I was still running Windows 7. Now however, I have moved to Windows 10 and this caused a bit of trouble.
This post describes the problems I ran into and how I solved them. In essence, I was forced to use a computer running Windows 7 to do the actual update.
Failed attempt
The firmware upgrade process is described on this page. While there are some hints on that page that the upgrade might not work if the host computer runs Windows 8 or Windows 10, this is not entirely clear, so I tried it anyway. This is what I did and what happened:
- Download the 20140530_k20dx128_kl25z_if_opensda firmware file (a zipped .s19 file) and unzip it.
- Hold down the reset button on the FRDM-KL25Z board while plugging in the USB cable in the right (SDA) USB connector.
- The board now appears as a disk called BOOTLOADER.
- Drag the .s19 file to the BOOTLOADER disk.
- Unplug and replug the FRDM-KL25Z.
- If everything had worked as it should, the board would now have shown up as a disk called MBED. What instead happened was that the computer did not at all react to the board. No disk showed up.
Reading a bit more on the firmware upgrade page and in the discussions at the bottom of the page, it seemed like there was no way forward using only a Windows 10 computer.
Successful attempt
The reason it did not work with Windows 10 seems to be that my FRDM-KL25Z board had too old bootloader firmware. It has to be 1.11 or higher to work on Windows 10 (or Linux and Mac it seems). To check the bootloader version, one can hold down the reset button while plugging in the USB cable into the SDA port. This makes the board show up as a BOOTLOADER disk where there is a file called SDA_INFO.HTM. Double clicking on this file brings up a web page that says among other things what the bootloader version is. In my case it was 1.09.
To remedy this, the following steps are required:
- Get hold of a computer running Windows 7 or Windows XP.
- Hold down the reset button on the FRDM-KL25Z board while plugging in the USB cable in the right (SDA) USB connector.
- The board now appears as a disk called BOOTLOADER.
- Download a new OpenSDA bootloader firmware from PE Micro. This requires some form of registration and giving out an email address, but is otherwise free.
- Unzip the downloaded file.
- Unzip the OpenSDA_Bootloader_Update_App_v111_2013_12_11.zip (or similar) file from inside the big zip file.
- Drag and drop the resulting BOOTUPDATEAPP_Pemicro_v111.SDA (or later version) file to the root directory of the BOOTLOADER disk.
- Unplug and replug the board to initiate the bootloader update. This typically takes just a few seconds.
- Once the update is complete the board will automatically reappear as a disk called BOOTLOADER.
- Double click on the SDA_INFO.HTM file in the root directory of the BOOTLOADER disk to see that the bootloader version now is 1.11 (or higher).
- Drag the 20140530_k20dx128_kl25z_if_opensda.s19 (or whatever the latest version of the mbed firmware is) to the BOOTLOADER disk.
- Unplug and replug the board. It should now show up as a disk called MBED.
After this, the board showed up as a disk called MBED and worked on Windows 10.
To upload and run a .bin-file (the output of the mbed online compiler) to the board one drags the .bin file to the MBED drive and then presses reset on the KL25Z board.
You are a life saver, i was ready to launch the Frdm 25 into space.
thanks Volker
Hi! Thanks a lot for posting this. I’m stuck on the 2nd to last step, since I cannot find the file “20140530_k20dx128_kl25z_if_opensda.s19”. I’m guessing it’s under another name but no other file has a similar name or extension. Could you please help me out! Thanks!
Hi Hector
Did you download and unzip the zip-file I linked to under “Failed attempt”? That is where you get the s19 file.
Per
Thank you for your reply! Yes I did that after I realized you had mentioned it in the failed attempt. Thanks lot!
Hi Per,
Does it happen to you that after like 20 seconds of plugging the board in (after successfully managing to change the board to MBED) it is as if the board is ejected and you get a txt file called “fail” that contains the message TIMEOUT? I still cannot use windows 10 for this board because of this. Thanks!
Hi Hector,
I have not used this kind of board for quite while, but I tried it now and I see exactly the behavior you describe. Weird.
Others seem to have this problem as well. Have you tried reinstalling the drivers as suggested here?
https://developer.mbed.org/questions/68762/FRDM-KL25Z-Windows-10-problem/
Thank you, very good.
New version on my FRDM KL25Z.