FRDM-KL25Z - cannot connect from CodeWarrior (resolved)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FRDM-KL25Z - cannot connect from CodeWarrior (resolved)

12,067 Views
Smiffytech
Contributor III

Using CodeWarrior 10.3b, trying to play with Erich Styger's examples.

 

I have attempted this on both Windows XP Home and Windows 7 Home Premium.  Both of these are virtual machines, running under VirtualBox - I do not have a physical Windows machine (this is a Linux shop) on which to try this, but can advise that my XP VM plays quite happily with CodeWarrior 10.2 and the PE Micro USB Multilink for HCS08. (I have also used other weird and wonderful USB devices with this configuration, without any issues.)

 

Here is what I have done, with a clean and up-to-date Windows 7 installation:

 

  • Connect Freedom Board - no hubs used, direct connection. This shows up in the VirtualBox USB device manager as "PE Microsystems Inc. PEMicro/Freescale CDC Serial Port [0800]." Just in case I had done anything daft like plug the cable into the wrong socket, I tried the other, which came up as "Freescale USB UART."
  • Enable USB device - Windows detects and an AutoPlay dialogue comes up, showing USB storage. I am able to view the files on the device.
  • Launch CodeWarrior, with project from before.
  • Run -> Debug - the VirtualBox USB manager thingy shows definite activity.
  • P&E Connection Assistant dialogue comes up:
    • OpenSDA - USB Port
    • (No Device Available)
    • Retry doesn't get me any further.
    • Abort
    • "Error launching freedom1_FLASH_OpenSDA, ARM GDI Protocol Adapter: Can't connect. The Debugger can not connect to the P&E device"
  • Run -> Debug Configurations
  • Follow FAQ #29 link (this actually refers to Multilink/Cyclone, NOT OpenSDA.)
  • (a) Re-enable the USB driver
    • Device Manager -> Jungo - only WinDriver present. "This device is working properly."
    • Driver date 2012-08-27, version 11.1.0.0
  • (b) Re-install the USB driver (done, rebooted, no difference)
  • (c) Test for installation of the USB driver files (done, all OK)

 

Which leaves me still unable to connect to the target board. As I had a pair of boards when I was doing this (I now have four due to an error at Element14, but they let me have the extras for free ) I tried the second board just in case there was a hardware issue. No joy.

 

The USB cable I am using works just fine with my Bus Pirate - and me totally out of ideas.

 

So, pending some revelation that will get me working, I'll just have to go and play with my TI Stellaris Launchpad, if I want any fun with ARM

 

Message was edited by: Matthew Smith See end of thread for fix (missing firmware.)

 

Message was edited by: Matthew Smith  I have now appended the dmesg output for a device before and after having the firmware updated/added, for reference.

Original Attachment has been moved to: frdm_dmesg.txt.zip

Labels (1)
10 Replies

1,447 Views
JimDon
Senior Contributor III

I would like to say that even as a somewhat seasoned Freescale user, it was not immediately obvious that the Debug SDA (DEBUG-APP_Pemicro_v102.SDA) application had to be burned using the "reset to bootloader" (hold the reset button and cycle power) and drag and dropped before the SWD function would work. In fact I don't think it was explicitly stated anywhere.

I did not have any issues with drivers, it was just this one bit of non obvious knowledge.

0 Kudos

1,447 Views
BlackNight
NXP Employee
NXP Employee

I have seen cases where for whatever reasons the USB drivers were not properly installed.

I have documented the steps to manually install the drivers here:

Fixing the USB Drivers | MCU on Eclipse

It is important to follow the steps an to drive Windows to the right drivers place (and not allow Windows to 'find it').

I have not used this with virtual machines, but it helped definitely with native Windows machines.

Hope this helps,

Erich

1,447 Views
Smiffytech
Contributor III

That was worth a try, but I am still unable to install the OpenSDA debug driver. Going through the Add New Hardware process only allows Windriver to be installed - selecting the deb0089_opensda_debug_driver.inf doesn't have the desired effect. This is using both what comes with CodeWarrior, and the latest drivers from PEM.

In the PEM drivers directory, I have found an installation log for the deb0089_opensda_debug_driver.inf which has an entry:

Device node (hwid:USB\VID_1357&PID_0089&Mi_02): does not exist and is not configured. Pre-installing.

Now, that's interesting. The mass storage device and the CDC serial port are showing up as USB device VID 1357, PID 0707. If I close the VMs entirely, and plug the board in so that only Linux can see it, I get this from dmesg:

[419616.289713] usb 4-1.5: new full-speed USB device number 20 using ehci_hcd

[419616.383561] usb 4-1.5: New USB device found, idVendor=1357, idProduct=0707

[419616.383563] usb 4-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[419616.383565] usb 4-1.5: Product: PEMicro/Freescale - CDC Serial Port

[419616.383566] usb 4-1.5: Manufacturer: P&E Microcomputer Systems Inc.

[419616.383967] cdc_acm 4-1.5:1.0: This device cannot do calls on its own. It is not a modem.

[419616.383982] cdc_acm 4-1.5:1.0: ttyACM0: USB ACM device

[419616.384761] scsi18 : usb-storage 4-1.5:1.2

[419617.379177] scsi 18:0:0:0: Direct-Access     FSL      FSL/PEMICRO MSD  0001 PQ: 0 ANSI: 4

...which is seeing the same two components on  1357:0707. But NOTHING about the 1357:0089 that the OpenSDA debug driver is looking for. Is it possible that this is not enumerating because it's missing from the firmware? The Linux kernel should see anything that is present, even if it doesn't know what to do with it.

0 Kudos

1,447 Views
Smiffytech
Contributor III

I am flabbergasted. There was nothing wrong with the software installation, nothing wrong with the drivers - the OpenSDA debug firmware was missing from the board.

Anyone else was this problem, get Firmware Apps from P&E Microcomputer Systems unzip the file, follow the instructions in the PDF.

Both my boards had the same problem - copying that file onto them in bootloader mode made them behave QUITE differently when plugged in!

Erich's LED demo project now loaded and running on board.

Think I'll now test the other two boards that turned up - not a very good look, when you ship a shiny new product and neglect to install key firmware!

1,447 Views
BlackNight
NXP Employee
NXP Employee

The OpenSDA base firmware allows you load *.SDA applications (kind of applets, like on an Apple iPhone). The factory default comes with the 'bootloader' applet application which allows you to drag&drop and program a file to the board, without a debugger. And there is the other 'debug app' application which allows you to debug the board.

Only one 'app' can be active/loaded at a time.

See http://mcuoneclipse.wordpress.com/2012/09/20/opensda-on-the-freedom-kl25z-board/

Hope this helps,

Erich

0 Kudos

1,447 Views
Smiffytech
Contributor III

So, by default, it won't work with the regular workflow of CodeWarrior, you have to programme it by drag'n'drop only?

0 Kudos

1,447 Views
BlackNight
NXP Employee
NXP Employee

yes, by default it does not work with any debugger. By default it is shipped with that MSD bootloader. In order to work with a debugger, you need to load the debugger app on the board.

1,447 Views
frankvanhooft
Contributor III

Ohh .. I'll add my thanks Erich. That was not at all clear to me either. I'd been uninstalling and reinstalling drivers for quite some time with no success. For the last week I'd given up cursing it and was just drag&dropping the hex file onto the board.

Between requiring a difficult-to-find beta version of CodeWarrior, having a non-existent marketing partnumber printed on the processor, and this little challenge of connecting (or not!) to the debugger, Freescale sure is throwing up a lot of artificial walls in the path of new users. I'm loving this processor, but it's far from an easy out-of-the-box experience to get started with it. Good thing it's worth it.

0 Kudos

1,447 Views
Smiffytech
Contributor III

Thanks for clarifying that, Erich. It looks like your articles need to be read in a very specific order, starting with one telling you to install the debugger ;-) And there was me blaming P&E Micro again. (Last problem it was their fault - broken driver.)

0 Kudos

1,447 Views
Smiffytech
Contributor III

Thanks Erich, this is quite intriguing. I am seeing the serial port in question under the USB section of Device Manager, but there is no PEMicro OpenSDA Debug Driver.

If I look in the CodeWarrior Drivers\P&E\Drivers directory, there is windriver - nothing else. (And that directory is empty. Only the Segger drivers directories have anything in them.)

So, first thing I will try is to re-install CodeWarrior and see if that directory gets populated correctly. Failing that, I'll try re-running the latest P&E installer, the one linked from their OpenSDA page. (I tried that a few minutes ago, with the board still connected - totally locked up the installer!)

As the driver is missing completely, I assume I will have to go through the Add New Hardware process, rather than the Update Driver process you describe - as there is no driver to update!

Looking very much like a case of broken installers. Will report back.

0 Kudos