Good news for everyone having Windows 8.1: P&E has released Dec 11th 2013 a new FRDM board firmware which solves the bootloader issue found with Windows 8.1. The new firmware can download from https://www.pemicro.com/opensda/.
From the release notes:
Changes: MSD - DEBUG version 1.14 - Added combined MSD, DEBUG and CDC virtual serial support in a single APP. Switching between MSD and DEBUG apps is no longer necessary - Added Windows 8.1 support.
So the new firmware does not only fixes a Windows 8.1 issue, it features now a combined USB device implementation with 3 different device classes:
- USB CDC (Serial-Over-USB)
- MSD (Mass Storage Device) bootloader to load S19 files
- OpenSDA Debug application
❗ You need to unpack/unzip the files from the archive. Updating the board/bootloader with a file inside the zip archive does *not* work.
With this, it is not needed any more to switch between MSD bootlader and Debug application mode 🙂 Programming the new firmware will automatically update the system:
There are two things to do:
- update the booloader itself to V1.11 (NOTE that this cannot be done with Windows 8: you need Windows 7!!!!)
- program the SDA application with firmware V1.14 (Debug and MSD app)
After that, the board then enumerates as MSD device, and the SDA_INFO.HTML shows that it has both the MSD and Debug app:
Summary
Finally there is no need to switch between MSD and Debug OpenSDA application, all together with USB CDC support. And for all the Windows 8.1 users, they now can use the bootloader to switch the OpenSDA firmware. Although with that new combined USB class, this is much less needed anyway. Overall, a very good update for me. Happy Bootloading 🙂
Pingback: OpenSDA on the Freedom KL25Z Board | MCU on Eclipse
Pingback: FRDM Board Bootloader fails with Windows 8.1 Preview | MCU on Eclipse
Tried it on a KL46 series, was using my windows 8.1 dev box – it didn’t work. I’m a bit too busy at the moment to sort out my server 2012 box that I used last time to modify the apps. I’d be interested to hear if you used a win 8.1 system to install the bootloader app or had to go with an older version for the bootloader, which then let you use win 8.1. to install the new debug/serial/msd app.
LikeLike
I updated it on a Win7 machine first. I would find first a ‘virgin’ board to see if it would work from an 8.1 environment too. But I think you would need to upgrade it from an 8.0 or earlier version before you can use it on 8.1.
LikeLike
I think I did the test on the clean board for you and the results are it doesn’t work. I’ll try on a KL26 as well just to be sure, but it makes sense that if the problem lies with the bootloader therefore you have to get the fixed bootloader on the board before it will work thus you need a different version of windows to do that. Shame PEMicro didn’t specify this though. Its probably just an unlucky time to start looking at Freescale boards but my first impressions are ones of poor documentation and half baked solutions. 😦
LikeLike
I finally got time to look at this again and managed to use a Win7 VM (courtesy of Microsoft’s modern.ie website) and the Boot to VHD feature (something new to play with for me). Everything is now working as it should be. Happy again!
I noticed in your hardware information screen grab that you are still on bootloader 1.09, I thought the problem was that the bootloader wouldn’t add the apps in WIndows 8.1. Does that mean if you ever come to update your app to a debug only but then try to switch back to the all-singing all-dancing MSD-DEBUG 1.14, you will have to use a Win7 box again?
LikeLike
That screenshot was after I have just updated the SDA debug+MSD application. That allowed me to debug and load S19 files on Win 8.1. I have updated the bootloader now and updated the screenshot too.
The bootloader needs to be updated if I want to re-program the firmware. Previsouly this was needed in order to switch between debug and S19 loading. Now with the combined firmware this is not necessary any more. But again: once I want to reprogram the firmware with 8.1, I need the 1.11 firmware loaded, and the 1.14 application loaded.
LikeLike
I does not work, my boards still always come up as BOOTLOADER, even without reset button…
LikeLike
Hi Alex,
that means that programming the .sda file did not work.
Can you try it with another (Windows 7) machine? Common failure point are Windows explorer extensions or virus scanners. Disable your virus scanner and copy the .sda file with the DOS shell/command prompt.
LikeLike
Hi Erich,
first of all, thanks for your posts and tutorials, they are very helpful (at least for someone like me, who is begginer and has to self-educate somehow 😀 ).
New firmware works great, but after loading s19 file to my K20D50M, openSDA status LED is indicating an error (2 seconds off followed by 8 rapid on/off blinks) and nothing else happens. It works well with older firmware (MSD-only). I don’t actually need MSD Flash Programmer, I’m just curious why it doesn’t work.
Btw, I would like to ask what would happen if I put something (e.g. zip file) to MSD – either in flash programmer or bootloader mode (I would try it, I just don’t want to break something 😀 ). Would MSD serve as storage device or would this file be erased? 😀
Thank you in advance for your answer and I would like to add (I believe I’m speaking for everybody now) that you’re doing an amazing job here and I’m really grateful for everything you’ve done. 🙂
LikeLike
Thanks for your feedback, appreciated 🙂
About your OpenSDA issue with K20D50M: could it be that you are not loading an S19 file? The new firmware only allows S19 files, while the old one allowed bin or hex files too. Otherwise, could it be that your S19 file has an illegal memory range? Then it could fail too. If you have a good S19, make sure you do copy it with the DOS shell as I have seen it not working with the Windows Explorer sometimes. Or disable any virus scanner. Of you have a good S19 file, you might pass it to P&E as then it could be a bug with OpenSDA.
About your second question: while OpenSDA emulates an MSD, it is *not* a real MSD. You can copy any file, but the bootloader will report an error (like your K20D50M does). But it does *not* store the file. The bootloader reads the file operations from your host, and then reads the file system block information to program the file. So if you copy say a text file to the MSD, it will be not present physically on the device.
I hope this helps.
LikeLike
Thanks for your quick answer, I forgot to mention, that I’ve already tried all your tips in your “FRDM Board not responding? Check your Virus Scanner!” post and none of that helped. Also I was trying to load demo s19 file, which worked with MSD_v109 firmware correctly.
Luckily, it doesn’t matter, because I don’t need to play around with s19 files :-D.
Oh, and I’m sorry for that second question, but I need to understand something before I can use it at “100%” and “….application emulates virtual FAT16…” wasn’t quite satisfying for me 😀
Thanks again and have a nice day 🙂
LikeLike
Did P&E ever fix their OpenSDA to work with Mac OS X? I found it very frustrating to have to find an antique Windows machine at work, just to upload a program (no Windows at home). I switched to using the MBED downloader instead, which works well, unless you accidentally hold down the reset button when plugging in the USB cable—then you’re back to the non-functional P&E program.
LikeLike
I believe they have fixed this. But as I do not have a Mac, I cannot really tell.
LikeLike
Pingback: Review: New FRDM-KL26Z Board | MCU on Eclipse
Pingback: The Freescale OpenSDA Trap: “No Device Available”, or something like that…. | MCU on Eclipse
I’m sorry but I’m not getting update my freedom to operate in win8.1. I believe we must be doing something wrong.
1 – downloaded the file Pemicro_OpenSDA_Debug_MSD_Update_Apps_2013_12_11
2 – I started my freedom in bootloader mode, on a win7 machine.
3 – save the file BOOTUPDATEAPP_Pemicro_v111.SDA
4 – then turn off the freedom and restart in bootloader mode again in win7
5 – I recorded the file MSD-DEBUG-FRDM-KL25Z_Pemicro_v114.SDA
6 – turned off the freedom and on again without pressing the reset button.
These were the steps I did, I could not make it work.
Could you help me.
Thank you.
LikeLike
Your steps look good. Just make sure that in step 5 and 5 you have no explorer extension installed. If you are in doubt, copy the file with the DOS shell. After step 6 your board should come up with FRDM-KL25Z drive name. Open the SDA_INFO.HTM on it with your web browser.
It should show:
MicroBoot Kernel Version is: 1.01
Bootloader Version is: 1.11
Installed Application: PEMicro FRDM-KL25Z Mass Storage/Debug App
Application Version is: 1.14
If not, then you have made something wrong.
LikeLike
So which one of al those files should i copy to my bootloader drive?
debug app
bootloader app
or the msd debug kl25xxx
maybe stupid question but im new at this, and i got my kl25z to work, but i want to keep learning about this stuff.
thanks! i hope you answer, and very nice website!
LikeLike
Hi Steven,
for the FRDM-KL25Z, copy the MSD-DEBUG-FRDM-KL25Z_Pemicro_v114.SDA file.
The ‘MSD-DEBUG’ indicates that it is MSD and DEBUB (combined MSD bootloader plus Debug firmware). ‘FRDM-KL25Z’ indicates the board.
LikeLike
Pingback: Using the FRDM-K64F with CodeWarrior | MCU on Eclipse
Pingback: Binary Files for the mbed Bootloader with Eclipse and GNU ARM Eclipse Plugins | MCU on Eclipse
Pingback: Segger J-Link Firmware for OpenSDAv2 | MCU on Eclipse
Hi Erich
I just received a FRDM-K20D50 and just updated OpenSDA to the latest version. I’m having the same probelm as “Ľuboš Spaček” above. I cannot upload any compiled file (srec, s19) to the board. What happened was that when a file is droped into FRDM-K20D50, the LED (D3) lighted up blue and the openSDA indicating LED flickering on and off. I tried this on Windows 7 and Ubuntu 14.04, nothing worked.
Board Name is: FRDM-K20D50M
MicroBoot Kernel Version is: 1.03
Bootloader Version is: 1.11
Installed Application: PEMicro FRDM-K20D50M Mass Storage/Debug App
Application Version is: 1.14
Any helps is really appreciated. Thanks.
LikeLike
Your board firmware looks ok (I have the same firmware). But I see the same issue on my side (blinking green LED indicating an error, plus the blue RGB LED on). Something is going wrong here…
LikeLike
Thanks for checking it out. A bit of Google led me to this post in Freescale forum. Someone else is also having this problem.
LikeLike
Hi,
yes, I have contacted P&E, and they confirmed the problem and they are looking into it.
LikeLike
Thanks again.
LikeLike
Hi Erich,
Just wantto let you know that there’s a new Firmware v115 released for K20D50M updated on May 22nd. I tested this version, and my board is working again.
Cheers
LikeLike
thanks for the heads up, I missed that new firmware release. Downloading it right now …
LikeLike
Pingback: Preserving Memory Ranges with Eclipse and P&E GDB Server | MCU on Eclipse
Pingback: Illustrated Step-by-Step Instructions: Updating the Freescale Freedom Board Firmware | MCU on Eclipse
Hi Erich,
I’m having a problem downloading a project to the FRDM-KL25Z with the Mass Storage/Debug App.
The board state is:
Board Name is: FRDM-KL25Z
MicroBoot Kernel Version is: 1.05
Bootloader Version is: 1.11
Installed Application: PEMicro FRDM-KL25Z Mass Storage/Debug App
Application Version is: 1.14
I’m generating the S-Record file with the .srec extension as you describe here: https://mcuoneclipse.com/2012/09/13/s-record-generation-with-gcc-for-armkinetis/
I’ve been able to download other projects this way successfully, but with this project there’s an error. When I run the project from CodeWarrior it works well, but if I send the .srec file to the board the openSDA status LED indicates an error and the LASTSTAT.txt shows “Error 12302”. I looked up the meaning of the error on the web but I couldn’t find information about it.
Do you know what the error mean or which could be the problem?
Thank you,
Camilo.
LikeLike
Hi Camilo,
I don’t know what this error code is/means. You might send that S19 file to P&E so they could have a look? Would be good if there is anything special with that file, maybe security/flash settings?
LikeLike
Pingback: Command Line Programming and Debugging with GDB | MCU on Eclipse
I was having a ton of trouble updating the firmware in my device. Turns out you need to extract the downloaded folder on your hard drive in order for the device to accept them. If you are getting a rapidly blinking green light when you copy the files onto the bootloader, the device is not reading them correctly. Unzip the files first. Then copy to your bootloader.
LikeLike
Yes, you need to unzip the files first, you cannot move them from the archive to the device/bootloader. See https://mcuoneclipse.com/2014/11/01/illustrated-step-by-step-instructions-updating-the-freescale-freedom-board-firmware/
LikeLike
Hi Erich,
For my KL46Z board, I needed a windows xp machine to update the bootloader app. Don’t know why it did not worked in windows7. Just wanted to let you know I was able to bring back the board to happy state.
Thanks for your blog
LikeLike
Not sure, but it could be that your Windows machine has some special firewalls or virus scanners installed. They could interfere and read/write to the bootloader drive of the board, confusing it so it does not work?
LikeLike
Pingback: Tutorial: Blinky with the FRDM-KL27Z and Kinetis SDK v2 | MCU on Eclipse
Pingback: Bricking and Recovering OpenSDA Boards in Windows 8 and 10 | MCU on Eclipse
Pingback: Adding a Delay to the ARM DAPLink Bootloader | MCU on Eclipse
Pingback: Remote Debugging with USB based JTAG/SWD Debug Probes | MCU on Eclipse