New P&E OpenSDA Firmware v114

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

New PnE OpenSDA Firmware

New PnE OpenSDA Firmware

From the release notes:

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:

  1. USB CDC (Serial-Over-USB)
  2. MSD (Mass Storage Device) bootloader to load S19 files
  3. 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:

Device Ready to use

Device Ready to use

There are two things to do:

  1. update the booloader itself to V1.11 (NOTE that this cannot be done with Windows 8: you need Windows 7!!!!)
  2. 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:

Updated Boolader and Firmware

Updated Boolader and Firmware


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 🙂

43 thoughts on “New P&E OpenSDA Firmware v114

  1. Pingback: OpenSDA on the Freedom KL25Z Board | MCU on Eclipse

  2. Pingback: FRDM Board Bootloader fails with Windows 8.1 Preview | MCU on Eclipse

  3. 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.


    • 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.


      • 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. 😦


      • I finally got time to look at this again and managed to use a Win7 VM (courtesy of Microsoft’s 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?


        • 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.


    • 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.


  4. 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. 🙂


    • 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.


      • 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 🙂


  5. 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.


  6. Pingback: Review: New FRDM-KL26Z Board | MCU on Eclipse

  7. Pingback: The Freescale OpenSDA Trap: “No Device Available”, or something like that…. | MCU on Eclipse

  8. 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.


    • 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.


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


    • 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.


  10. Pingback: Using the FRDM-K64F with CodeWarrior | MCU on Eclipse

  11. Pingback: Binary Files for the mbed Bootloader with Eclipse and GNU ARM Eclipse Plugins | MCU on Eclipse

  12. Pingback: Segger J-Link Firmware for OpenSDAv2 | MCU on Eclipse

  13. 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.


  14. Pingback: Preserving Memory Ranges with Eclipse and P&E GDB Server | MCU on Eclipse

  15. Pingback: Illustrated Step-by-Step Instructions: Updating the Freescale Freedom Board Firmware | MCU on Eclipse

  16. 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:

    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,



    • 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?


  17. Pingback: Command Line Programming and Debugging with GDB | MCU on Eclipse

  18. 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.


  19. 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


    • 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?


  20. Pingback: Tutorial: Blinky with the FRDM-KL27Z and Kinetis SDK v2 | MCU on Eclipse

  21. Pingback: Bricking and Recovering OpenSDA Boards in Windows 8 and 10 | MCU on Eclipse

  22. Pingback: Adding a Delay to the ARM DAPLink Bootloader | MCU on Eclipse

  23. Pingback: Remote Debugging with USB based JTAG/SWD Debug Probes | MCU on Eclipse

What do you think?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.