Recovering my Chinese OSBDM

At the University the lectures started, and as well all the bachelor diploma and industry projects. So I am running out of my TWR-MCF52259 boards as they are used by my students. No problem, as I have one remaining board in my shelf. I plugged the board into my machine, but YIKES! Look at this:

Chinese OSBDM?

Chinese OSBDM?

I don’t remember that I have implemented a Chinese version of the OSBDM/OSJTAG firmware? At least not intentionally? My Windows shows properly the P&E USB Multilink and another Tower board. But my TWR-MCF52259 wants to talk in Chinese to me? ;-).
Well, this is strange, but at least the debugger in MCU10.2 properly presents a OSBDM/OSJTAG device.

OSBDM Connection Settings in MCU10.2

OSBDM Connection Settings in MCU10.2

But trying to debug it from my CodeWarrior MCU10.2 fails to connect. If you have read my post on Debugging Rules, then here is a case were Enable logging in above dialog provides more information. Inspecting the log in the Console View shows:

GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : CWDBG, Entry : Connect, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : SPECIFY_NETWORKCARD_ENABLED, Value : 0, R) => DI_OK
INF: Could not contact P&E Hardware Interface. Check Power and Connections.
INF: Could not contact P&E Hardware Interface. Check Power and Connections.
ERR: Connect failed.
GDI: => DI_ERR_FATAL
GDI: The Debugger can not connect to the P&E BDC interface or targetted hardware board.
GDI: DiGdiClose()
GDI: => DI_OK

So the debugger cannot connect to the firmware of the OSBDM on the tower card. Yes, it enumerates correctly as OSBDM device on the USB bus, but the protocol does not work. Either the firmware is corrupted, or it is a very old version on that board. I think it is the later, as I have not touched that board for a very long time. In fact the label “REV X1” on the board indicates me that this one might be my first tower board. So pretty old, not used for a while. And if the firmware is too old, then the debugger cannot automatically update the firmware. Ahrg!

The good news is: There is a OSBDM/OSJTAG firmware update and recovery utility available for download from http://www.pemicro.com/osbdm. This not only installs utilities around OSBDM/OSJTAG, it installs as well the drivers if that would be the problem.

Running the Firmware Information utility (osbdm_fwinfo.exe) shows following:

OSBDM Firmware Information Utility

OSBDM Firmware Information Utility

So it shows indeed a ColdFire V2 firmware, but it unable to detect the firmware revision and type. I remember that the firmware only returns that kind of information after firmware version 19 or so (I don’t remember any more the exact revision). So this is definitely a very old firmware :-(.

Next I’m running the OSBDM/OSJTAG Firmware Update utility (PEFirmwareUpdater.exe):

Multilink/OSBDM Firmware Update and Architecture Selection Utility

Multilink/OSBDM Firmware Update and Architecture Selection Utility

I’ll select the hardware, the device and the architecture with the firmware and press ‘Update Firmware’. But what I get is an error dialog:

Error connecting to the hardware

Error connecting to the hardware

Ok, does not work that way. Because the firmware too old, my installed new drivers are not able to talk to the firmware. What now? I could go back and install old drivers, but that would be a pain. Luckily the tower boards include a connector to flash directly the firmware of the OSBDM S08JM60 device. Inspect your board schematic to find it. But you need to have a Multilink (or any other way to program the S08JM60), otherwise you are dead in the water. And you need to have the BDM header for the S08JM60 soldered, as the Freescale boards I have seen do not have it populated :-(. Another good reason always to have a warmed up soldering iron within your reach.

My old Rev X1 board with BDM header populated and P&E Multilink attached

My old Rev X1 board with BDM header populated and P&E Multilink attached

Having the header populated and the Multilink attached, it is time to launch the OSBDM Firmware Recovery Utility (OSBDMFirmwareRecoveryUtility.exe):

OSBDM Firmware Update Utility

OSBDM Firmware Update Utility

Here you can select the firmware: make sure that you select the right one for your target board. For the ColdFire V2/3/4 there are two available: an embedded one and a non-embedded one. Make sure you select the embedded (osbdm-jm60_cfv234_emb_build30_rev21.s19) one for the ColdFire V2! Pressed ‘Update Firmware’, and that worked fine.

Running again the Firmware Info Utility, and now it shows proper firmware information:

Firmware Information shows the recovered OSBDM firmware

Firmware Information shows the recovered OSBDM firmware

Checking the device manager shows my second OSBDM board properly as well: no Chinese any more 🙂

OSBDM Device Recovered

OSBDM Device Recovered

From now on, CodeWarrior was able to debug my board with OSBDM again. Uffff!!!!

Happy OSBDMing 🙂

Advertisements

2 thoughts on “Recovering my Chinese OSBDM

  1. I had the exact same symptoms but I didn’t have a Multilink to hand. Fortunately, the firmware updater was able to update even the very old firmware when I shorted the bootloader jumper before plugging in the USB port.

    Like

    • Interesting. I have not had any of these boards for a longer time, but it could be that P&E has improved their firmware updater and it seems that it is now able to deal with that situation. Good!

      Like

What do you think?

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

WordPress.com Logo

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

Google photo

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

Twitter picture

You are commenting using your Twitter 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.