USBDM - Version 4.6 (JB16/JS16/JMxx Hardware Versions)

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

USBDM - Version 4.6 (JB16/JS16/JMxx Hardware Versions)

12,659 Views
pgo
Senior Contributor V

Dear All,

 

USBDM has been updated to V4.6.  This version adds support for Kinetis devices but please be aware that this has had minimal testing due to lack of devices to test with :smileyhappy:.

 

Please post any queries on this version in this thread,

 

Information available at:  http://usbdm.sourceforge.net/

 

bye

 

Notes

Please note that these design are different from the Freescale OSBDM-JM60 design which was proceeding independently while I was doing the above designs

 

  • V4.6 (June 2011) -
    • Support for Kinetis Targets in Codewarrior V10.1 (Eclipse, USBDM/CF only)
    • Added Kinetis programmer (and CFVx but only two devices!)
    • Improvements to USB error checking (JMxx/JS16 only)
    • TCL scripting
  • V4.5 (February 2011) -
    • Support for Codesourcery Lite - Coldfire Vx
    • Support for Coldfire Flasher (CFFlasher) Coldfire V2,3,4 only
    • Support for Codewarrior Eclipse 10.1
    • Flash buffer is now dynamically sized in Flash programmers
    • Added fix for Legacy Codewarrior tools missing TBDML/OSBDM targets
  • V4.4 (January 2011) -
    • Less intrusive auto speed detection for targets without sync
    • Unlocking improved for targets using slow external clocks
    • Codewarrior V10 New Project Wizard now includes USBDM
    • Programming support for HCS12/HCS08 targets with EEPROM
    • Programming support for CFV1 target with multiple Flash (Dual Flash)
    • Use of XML based device files (needed for above two items)
    • Automatic unsecure for Legacy HCS12 targets
  • V4.3 (December 2010) -
    • Bug fixes (DSC Speed)
    • Improved Codewarrior V10 integration
    • Serial interface on JS16 versions (supported in JMxx but no example implementation)
  • V4.0 (September 2010) - Significant changes in some areas - Please read carefully
    • Support for Linux (Eclipse version of Codewarrior only)
      Installation is still somewhat of a challenge!
    • Support for Linux and Windows7 64-bit (Eclipse version of Codewarrior only)
      To support the 64-bit version of Windows it has been necessary to update to using libusb-V1 drivers. For consistency this is also done on Linux. As part of this process the VID/PID for the hardware (BDM) has been changed. This will allow the co-existence of Freescale's OSBDM-JM60 hardware while using a new driver for USBDM. Formerly both these BDMs used the same VID/PID and changes to the driver would not be possible.
    • Programming utilities for RS08, HCS08 and CFV1 are now (officially) included.
    • Support for MC56F800x (digital signal controllers) added. This is only available on USBDM_CF BDMs and the Axiom MC56F8006 Demoboard.
    • Minor bug fixes (installation script)
    • The addition of DSC support has pushed the firmware size to greater than 16K on the USBDM_JMxx-CF version. This means that MC9S08JM32/60 chip must be used.
    • Changed to wxWidgets for common GUI code on Windows and Linux
  • V4.6 (June 2011) -
    • Support for Kinetis Targets in Codewarrior V10.1 (Eclipse, USBDM/CF only)
    • Improvements to USB error checking (JMxx/JS16 only)
    • TCL scripting
  • V4.5 (February 2011) -
    • Support for Codesourcery Lite - Coldfire Vx
    • Support for Coldfire Flasher (CFFlasher) Coldfire V2,3,4 only
    • Support for Codewarrior Eclipse 10.1
    • Flash buffer is now dynamically sized in Flash programmers
    • Added fix for Legacy Codewarrior tools missing TBDML/OSBDM targets
  • V4.4 (January 2011) -
    • Less intrusive auto speed detection for targets without sync
    • Unlocking improved for targets using slow external clocks
    • Codewarrior V10 New Project Wizard now includes USBDM
    • Programming support for HCS12/HCS08 targets with EEPROM
    • Programming support for CFV1 target with multiple Flash (Dual Flash)
    • Use of XML based device files (needed for above two items)
    • Automatic unsecure for Legacy HCS12 targets
  • V4.3 (December 2010) -
    • Bug fixes (DSC Speed)
    • Improved Codewarrior V10 integration
    • Serial interface on JS16 versions (supported in JMxx but no example implementation)
  • V4.0 (September 2010) - Significant changes in some areas - Please read carefully
    • Support for Linux (Eclipse version of Codewarrior only)
      Installation is still somewhat of a challenge!
    • Support for Linux and Windows7 64-bit (Eclipse version of Codewarrior only)
      To support the 64-bit version of Windows it has been necessary to update to using libusb-V1 drivers. For consistency this is also done on Linux. As part of this process the VID/PID for the hardware (BDM) has been changed. This will allow the co-existence of Freescale's OSBDM-JM60 hardware while using a new driver for USBDM. Formerly both these BDMs used the same VID/PID and changes to the driver would not be possible.
    • Programming utilities for RS08, HCS08 and CFV1 are now (officially) included.
    • Support for MC56F800x (digital signal controllers) added. This is only available on USBDM_CF BDMs and the Axiom MC56F8006 Demoboard.
    • Minor bug fixes (installation script)
    • The addition of DSC support has pushed the firmware size to greater than 16K on the USBDM_JMxx-CF version. This means that MC9S08JM32/60 chip must be used.
    • Changed to wxWidgets for common GUI code on Windows and Linux

Tags (2)
0 Kudos
112 Replies

1,884 Views
thm59
Contributor II

Hello, Pgo

 

I do'nt have seen any change by remplacing the libusb dll with the new version one (on my Win 7 AMD computer, CFV1_programmer with the 4.5 version is OK, and the 4.6 version fails ).

 

 

For wath concerns the new firmware (4.6b), I programmed it with the JS16 GUI Bootloader (BLMS grounded during  power-on) and with a P&E multilink.

Unfortunately, after being reprogrammed, the USBDM is recognized by the comptuter as "JS16 device" and not as USBDM. (I have the simplest JS16 version of USBDM -  I have tried on my XP and on my Win7 computer with 2 differents USBDM).

Best regards and thanks for your work

 

Thierry

0 Kudos

1,884 Views
pgo
Senior Contributor V

 

Dear Thierry,

 

I downloaded and tried programming the Posted USBDM_JS16CWJ_V4.abs.s19 file using the Freescale JS16 Bootloader.  I believe this would be the file you are using. 

 

I found the Freescale Bootloader unreliable on some machines especially if using a USB hub.  It would give a programming error at a particular address. 

 

Can you confirm that you get (only) the following messages for the LoadMass Erase followed by Program sequence?

 

File Selected: [C:\Peter\Development\USBDM\USBDM_JMxx_Distribution_V4.6\1. Installation\USBDM_Flash_Images\USBDM_Flash_Images_4_6b\USBDM_JS16CWJ_V4.abs.s19]
Erasing ... 0x0    Done
Programming ... 0xFFFA    Done
Doing CRC ... CRC Checksum Error    Error while doing CRC

 The CRC Checksum error is to be expected.  In particular could you note the adress of the last block programmed (0xFFFA in the above example).

 

Thanks for the time spent debugging.

 

bye

0 Kudos

1,884 Views
joncas
Contributor II

 

Dear PGO,

 

I am trying to test your USBDM_JM60_CF with Codewarrior 7.2.2 — is that still possible?

I see that in the install script batch file, you check for “tblcf.dll” which is not present in the version 4.6 dll directory, so the script skips the section for Codewarrior 7.2

 

Does version 4.6 still work with Codewarrior 7.2, and where could I find the missing

tblcf_gdi.dll

tblcf.cfg

tblcf.dll

?

 

Many thanks!

Robert

0 Kudos

1,884 Views
pgo
Senior Contributor V

Dear joncas,

 

That is an error in the installation script.  tblcf.dll is no longer used.  It has been replaced with usbdm-cfvx-gdi-legacy.dll.

 

I had intended including a copy of tblcf.dll for capatibility but it was missed.  You can modify the installation script accordingly or manually install the preferred files.

 

Another thing to be fixed in V4.7 I guess :smileyhappy:

 

bye

0 Kudos

1,884 Views
joncas
Contributor II

Hello PGO,

 

I was about to build a new prototype to test on Kinetis processors -- since you mentioned there were changes in version 4.7, would it be possible to get a sneek preview of your version 4.7 schematic and would it be of any help if I build and test a pcb?

 

Many thanks!

Robert

0 Kudos

1,884 Views
pgo
Senior Contributor V

Dear Joncas,

 

I've uploladed some documentation for the V4.7 if you want to look at changes.  Not much significant apar from an different PCB layout for the "deluxe" version.

 

 Hopefully other files will follow in a few days after I fix some installer bugs.

 

bye

0 Kudos

1,884 Views
Macias
Contributor I

Dear pgo,

 

I've a same problem with your new version 4.7 of usbdm firmware and tools software. I'm working on windows 7 64bit edition and I'm using codeworrior 6.3 and 7.2 under Windows XP mode in Windows 7. Usbdm device id shared to winxp via usb virtualization technology and it works fine with previous version of USBDM pack (4.6). But now under windws 7 for ex. cf_programmer tool view my usbdm device, but when I attach it to my windows xp mode this same software does not detect my usbdm device. I check device istallation in device manager and every thinks looks good. Also I try to connect with usbdm with new firmware (4.7) via old (4.6) software, and it works fine. Finally I don't know why the new version of your software don't detect my device.

 

Thanks!

 

Regards,

Maciek

0 Kudos

1,884 Views
pgo
Senior Contributor V

Dear Maciek,

 

Sorry I missed your post.

 

I've run Codewarrior for Microcontrollers V6.3 OK without using any virtualization 'stuff' under windows-7-64bit.  The installation method has been posted earlier in this thread.  I would suggest that this would be a easier approach.

 

In particular I think the problems you are seeing are due to changes in the libusb version being used.  As a test please try the following:

  • Run the stand-alone programmer and confirm that they have the same problem
  • Copy the libusb-1.0.dll from your V4.6 installaton to the USBDM folder.
  • Retry the stand-alone programmer.

Please advise if the above works.

 

If the above does work try re-installing the libusb driver files using zadig.  This is provided in the USBDM installtion.

 

bye

 

 

 

0 Kudos

1,884 Views
Mickey
Contributor III

USBDM_4_7_0b_Win.msi

 

Report a problem:

USBDM_JMxxCLC_V4.sx

This file does not meet the actual burning address.

Should be started from 0x3C00.

 

Lead to not run bootloader.

 

Flash Programmer to burn shows great progress. :smileyhappy:

 

In addition, when using MCF51AC series, select the environment in CW10 RESET button nothing happens.

 

Regards.

0 Kudos

1,884 Views
pgo
Senior Contributor V

Dear Mickey,

 

One of the (unintended) changes was a movement from 16K to 32K flash images. The version 4 bootloaders should cope with any size image.  It is possible that earlier bootloaders have a bug in this respect.  Can you tell me what version bootloader is in the BDM or if its actually a JM16 chip?

 

I will post reduced files shortly as there was no real reason for the change apart from reducing the number of different linker files and juggling the amount of RAM available.

 

However, note that the combined versions require larger RAM & ROM.

 

bye

0 Kudos

1,884 Views
Mickey
Contributor III

hi pgo

 

I use MC9S08JM16CLC LQFP32 package, the V4.6b, can have work.

0 Kudos

1,884 Views
Mickey
Contributor III

hi pgo

 

now "USBDM_4_7_0c_Win.msi" work fine.

 

Many thanks.

0 Kudos

1,884 Views
joncas
Contributor II

Dear PGO,

 

thank you for all your answers !

 

Now the Coldfire V2 works both in CW10.1 and CW 7.2

 

Next I wanted to use the DSC in CW 8.3 on a MC56F8013 target.

 

I configured the remote debugging connection as you explained in the usage pages, and selected  usbdm-dsc-gdi-legacy-debug.dll (the non-debug version had the same error)

 

When the  debugger is launched the USBDM configuration dialog comes up, but when one okays the dialog, it fails saying "Illegal BDM command"

 

In the usbdm_DSC_gdi.log it says it's loading settings from "USBDM__HCS08.cfg", could that be the cause? The two log files are attached, in case you have a moment to look at them...

 

Many thanks!

Robert

0 Kudos

1,884 Views
joncas
Contributor II

P.S.: If I can't get the USBDM to work with Codewarrior 7.2, do I have to fill in correct data in the "cfvx_devices.xml"  for the CFVx_Flashprogrammer.exe to work with a Coldfire V2 target?

 

I wanted to flash a MC52254 which is not in the cfvx_devices.xml.

 

I can find the memory values in the "MCF52254.mem" file in the Codewarrior installation, but I don't know the sdid value ...

 

Many thanks again!

0 Kudos

1,884 Views
pgo
Senior Contributor V

Dear Joncas,

 

Re: Modifying Coldfire XML files.

 

You can use a SDID of 0x0000 which will match any device.

 

bye

0 Kudos

1,884 Views
Mickey
Contributor III

I think the problem is this command.

 

EPComplete,       // Used for command protocol - new command available

0 Kudos

1,884 Views
joncas
Contributor II

Hello Raining,

 

if by VMware you mean running this on a Macintosh in a virtual environment, I had the same problem using XP inside Parallels Desktop. My guess is, that the emulation messes up the USB timing. 

I tried VirtualBox, but it had the same problem.

In Parallels, I can get it to work one shot at a time, meaning I have to unplug and replug the USBDM every time the connection gets lost.

In practise, once per debug session: launch the debugger without the USBDM plugged, when the USBDM dialog comes up and the device is not detected, plug it in, then rescan, it finds the device and succeeds to run, but when you close the debugger, this has to be repeated on the next launch.

I found that reverting to the old version 3.2 this problem doesn't occur, so it must be due to the new usb lib being used in version 4.

0 Kudos

1,884 Views
ggorlik
Contributor I

First of all I'd like to thank you for the great work on USBDM.

 

I managed to get USBDM 4.5 working on an ubuntu 8.04  (32-bit) by remanimg a few of the dlls.

The same 4.5 failed to install on a debian stable 64-bit.

 

I was not able to install V4.6 in either of the system mentioned above.

Both ubuntu 32-bit and debian 64-bit are missing several libraries (or have an incompatible version),

I believe most of the problem can be easily solved by recompiling the software on the target machine.

 

I downloaded the source distribution but I cannot figure out how to build it.

Do you have any documentation?

 

thanks

0 Kudos

1,884 Views
pgo
Senior Contributor V

Dear Gorlick,

 

The source code for the libraries etc are an export of the projects from Eclipse.  It's not set up for a stand-alone make mainly because I have no idea how to do it.

 

You should be able to import them into an Eclipse installation to re-create the projects.  The build targets and settings are part of the Eclipse projects.

 

bye

0 Kudos

1,884 Views
ggorlik
Contributor I

thanks for your reply.

I tried to import the project using the archive importer and a few other ways without success.

Regardless of how I try to do the import I can't find a way to create a native build (i.e. not a microcontroller)
I am sure it's my fault (I really don't understand how eclipse projects work).

 

Are you using CW eclipse or a different flavor?

Could you give me a few more hints?

 

thanks again,

GG

 

0 Kudos

1,884 Views
pgo
Senior Contributor V

Dear gorlick,

 

Wot Jim said!

 

Sorry I was unclear.  The Libraries etc are built using a standard Eclipse CDT (C development)  version of Eclipse downloaded from http://www.eclipse.org/cdt/.

 

You may also need:

 

bye

 

0 Kudos