Freescale FRDM-KL25Z and Crossworks
In case anyone else struggles to use the 13$ Kinetis development board with Rowley Crossworks:
Upgrade the board's bootloader to version 1.08 using the file BOOTUPDATEAPP.SDA from PEMicro's site and follow the upgrade procedure (press reset button when you plug the board and copy this file to the virtual drive using the copy - paste commands). This only works in Windows because of a bug in earlier versions. Once you have version 1.08 (you can check this from the virtual html file that the bootloader drive presents) you can the put the development board in several useful modes:
1) Get file CMSIS-DAP_OpenSDA.S19 from Keil's site and use the same procedure as above to make the dev board a CMSIS-DAP device. This target is supported by Crossworks and will allow you full programming and debug capabilities. If you are using Linux the create a file /etc/udev/rules.d/49-frdm25z.rules with the following content:
# FRDM-25Z OpenSDA boards in CMSIS-DAP mode
SUBSYSTEMS=="usb", ATTRS{idVendor}=="c251", ATTRS{idProduct}=="f002", MODE:="0666"
to have the device permissions altered when you plug the board.
2) Use MSD-FRDM-KL25Z_Pemicro_v107.SDA also from PEMicro's site and make the board behave as a composite USB device. One is a mass storage device where you can just copy SREC files which are automatically programmed (works in Linux too) and the other is a CDC serial interface connected to the targets USART which can be used to exchange data with the Kinetis target.
3) Use USBDM_OpenSDA.sx from the USBDM_Linux_V4.10.4 to make the board behave as a USBDM target. This is supported by the CodeWarrior IDE and also allows you to use the board as a programmer for the Kinetis family (the original PEMicro firmware is deliberately tied to the target chip ID and cannot be used to program any other chip).
Rowley Crossworks users only need option 1)
-
FYI: There seem to be a few binaries which claim CMSIS support on the mbed FDRM-KL25-z
From Keil's site:
http://www.keil.com/appnotes/docs/apnt_232.asp
And Paul is correct, from the Firmware Welcome page off of mbed:
http://mbed.org/handbook/Firmware-FRDM-KL25Z
However, on my max osx I get:
"No ARM Debug Interface" when trying to connect to a new freedom board. Both of these firmware releases claim to work with Keil, and others have reported that the Keil binary firmware works with Crossworks, I'm guessing maybe it is untested on Crossworks OSX?
Does anyone have this working with CrossWorks OSX, if so can you describe exactly which firmware you are using.
PS: I have other CMSIS stuff working on OSX with CrossWorks, so I believe my setup is ok.
-
Update: I have it working with CrossWorks OSX, and here is what I didn't realize.
- It seems that this demo app from zelea2 contains a lot of required project settings, so after testing this app I realize the issue is that my solution wasn't setup with all the right details. I now realize that I had created a new solution which was more of a generic kenetis project, and lacked the details of the Target
- I must have made a mistake setting up my new solution for the KL25Z, as zelea2's worked. I have the board support package, so I'll try again later.
- Now that this is fixed, I tested both Mbed's CMSIS and Keil's CMSIS firmware, and both actually work on my very small test program.
I'm posting this update, such that others with similar misunderstandings might find it useful.
Marcus
-
What name does Windows Explorer give the FRDM-KL25Z device after CMSIS-DAP-OPENBENCH.S19 has been installed on the FRDM-KL25Z? After I used the specified procedure to install CMSIS-DAP_OPENBENCH.S19 on the FRDM-KL25Z it doesn't show up as a removable drive or as a COM port. Hence I am asking is this normal or does it mean CMSIS-DAP_O)PENBENCH.S19 is not getting installed?
Howard
-
The Freedom page is here:
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&uc=true&lang_cd=en
This is a direct link to the QuckStart package that has OpenSDA applications in it:
http://cache.freescale.com/files/32bit/software/board_support_packages/FRDM-KL25Z_QSP.zip?fpsp=1
You'll want to install CMSIS-DAP_OpenSDA.S19 from that package, not the "BENCH" thing (wherever that came from, I have no idea). You need to enter bootloader mode to change its personality in this way, so read the guide in the above zip file.
-
Hello Paul,
Thank you for your reply.
I made a big mistake in my question and provided the wrong name. Yes it is CMSIS-DAP_OPENSDA.S19 that I have been trying to install. I repeated the process today. Put the FRDM-KL25Z in bootloader mode, dragged CMSIS-DAP_OPENSDA.S19 onto the bootloader folder, unplugged the USB cable and plugged the USB cable back into my computer. The FRDM-KL25Z still does not show up as a removable drive or as COM port. I used this procedure withe the other two files in the OpenSDA Applications folder. With one of the two files the FRDM-KL25Z showed up as a removable drive and with the other file the FRDM-KL25Z showed up as a COM port.
Hence why doesn't Windows recognize the existence of the FRDM-KL25Z after CMSIS-DAP_OPENSDA.S19 is installed.
Howard
-
> The FRDM-KL25Z still does not show up as a removable drive
It won't. CMSIS-DAP is for debugging, there is no mass storage facility there.
> Hence why doesn't Windows recognize the existence of the FRDM-KL25Z after CMSIS-DAP_OPENSDA.S19 is installed.
Ask Freescale if you're having problem -- their processor, their bootloader, their firmware. I know there was some issue, at some point, regarding encryption and some such, that caused problems.
-
Hello Paul
Yes I agree with you. It is not Crossworks responsibility to fix this problem. Here are a few tidbits I found after searching the Web.
After installing CMSIS-DAP_OPENSDA.S19 Windows Device Manager show the addition of a HID Compliant Device and a USB Interface Device.
Crossworks for Arm says Target Not Responding.
This link <http://mcuoneclipse.com/2013/05/17/cmsis-dap-with-iar-and-the-kl25z-freedom-board/> says the board should show up as an OpenSDA CMSIS-DAP device.
If I find a solution I will post it here.
Thank you for your help.
Howard
-
"Target Not Responding" means you have no selected project or no project loaded and it is trying to communicate with CMSIS-DAP to a JTAG device and not in ADIv5 mode.
On the plus side, it does mean that CMSIS-DAP is detected and being used.
So, load up a KL25Z project, make it active, build it, and then you can just run it.
Please sign in to leave a comment.
Comments
11 comments