USBDM - Version 4.8 (JS16/JMxx Hardware Versions)

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

USBDM - Version 4.8 (JS16/JMxx Hardware Versions)

5,376 Views
pgo
Senior Contributor V

Dear All,

 

USBDM has been updated to V4.8. 

 

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.
  • This version has been a bit rushed as I was anxious to fix some significant problems in V4.7.  The programmers have had a thorough testing with new test cases against all devices listed as tested in the help files.  The other functionality has only had basic testing e.g. the various Codewarrior tools have had a basic test with one device in each supported family.

 

V4 Revision History

  • V4.8 (December 2011) -
    • General update of how the programming algorithms are controlled.
      They are much more configurable by the external XML and TCL files. This allows for some customisation of the memory map on HCS12 devices or custom startup operations.
    • Added Coldfire+ devices & algorithms.
    • Erase options extended (on some targets).
    • Re-testing of all devices (see programmer help file) with complete memory images including paging were used.
    • Bug fixes on HCS08 programming. Unsure were these were introduced but (hopefully) now squashed.
    • Paging of Flash and EEPROM has been updated for HCS12 and HCS08 devices.
    • The memory image descriptions are now more detailed and are more carefully enforced when programming. Attempting to program non-existent memory is now reported before programming is attempted. This should result in more meaningful error messages.
    • msi install updated for Codewarrior 10.2
    • Testing with Codewarrior 10.2 Beta
  • V4.7 (October 2011) -
    • Improved support for devices in low power modes (Eclipse).
    • Improved support for secured devices (Eclipse).
    • BDM interface speed control implemented for CFVx devices
    • Windows Installer
    • Updates for Eclipse Kinetis device name changes
    • BDM firmware (including bootloader) will now auto-detect 4, 8 or 12 MHz crystals. (JS16/JMxx)
    • Added progress dialogues for programmers.
    • Programmer erase options are more consistent.
    • Bug fixes
      • Devices incorrectly identified as secured
      • Failure to connect to device in low power modes
      • Corrections to CFVx connection sequences
      • Corrections to USB CDC Driver installation
      • Bootloader reliability improved
      • Corrections to USB CDC driver installation file.
  • 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
27 Replies

2,511 Views
jiyiboloann
Contributor I

Dear PGO

    I have used your USBDM_CF_JMxxCLD_V3 to program the Kinetis device. But I found that the USBDM can not supply power to target,the phenomenon is that the USBDM seemed to reset itself automatictly when it tried to supply power to target,it could program only if  I supply an extra power to the target.  

   To check my hypothesis,without the extra power,I measured the pin of JM60 which connected to MIC2026,the voltage was always low! It means that there's no signal to open the module of Target Vdd Supply.

   I am so curious about this  ,could you kindly give me some explanation please?

Sincerely

Admirer

   

0 Kudos

2,511 Views
joncas
Contributor II

Hello Newbee,

 

maybe there is a problem with your hardware on the usbdm board or on the target (if it has too high a current consumption), because I just completed a new layout, and the power supply to Kinetis targets works fine (you can see the photo at www.flashgenie.net )

 

best regards,

Robert

0 Kudos

2,511 Views
pgo
Senior Contributor V

Dear Newbie,

 

Is the BDM actually resetting?  If so then the USB connection would be lost.  Is this occurring?

By this I mean – If you use the stand-alone programmer what error do you get.  If it complains about target power then it’s not resetting.  If it complains about USB communication then a reset may be occurring.

 

Possible reasons:

#1 – Actual reset with loss of BDM communication.  The bypass capacitor on the power switch is too small or routing is causing switching currents to be seen by the JM60.  This current is usually limited by the series polyfuse though I’m not sure if it is fast acting enough.  It is also affected by the size of the bypass/supply capacitors on the target.  It is also possible that the USB port on the PC is being temporarily overloaded by the surge.   The power switch is also meant to limit surges so it would be surprising.

 

Solutions? Increase capacitor across power switch.  Increase capacitors across MCU.

 

#2 – BDM complains about no target power.  As a safety measure the BDM measures the target voltage a short time after turning the power on.  This is meant to detect overloads at switch on.  If it finds that the power hasn’t risen it turns it off again.  It is possible that the delay is too short.  This is also greatly affected by the target bypass capacitors. Another possibility is there is a fault with the connection for measuring the voltage which would have the same result.

 

Solutions? I could make this time longer or changeable.

 

I would appreciate if you could clarify which of the above is occurring.

 

bye

0 Kudos

2,511 Views
joncas
Contributor II

Dear PGO,

 

I am trying to recompile USBDM_JMxxCLD_V4 with the serial port enabled, but the resulting flash image has some flag set wrong and comes out for the usbdm-twr-kinetis instead.

 

I saw that you had posted the corrected flashimage in an update for that reason, but could you explain what needs to be done to correct the flag(s) in the project settings to be able to compile this with the serial port enabled?

(I have to confess that I have a lot of trouble getting the hang of CW 10, so haven't been able to figure this out!)

 

Many thanks!

Robert

0 Kudos

2,511 Views
pgo
Senior Contributor V

Dear Joncas,

 

I will be releasing V4.9 shortly and will upload the corrected files.  This would be a better place to start.

 

The correction was defining a #define symbol in the build settings undex C compiler  which controls the build.  Similar to:

 

-DTARGET_HARDWARE=H_USBDM_JMxxCLD

 

The permitted values are defined in the configure.h.

 

I can't remember which one was incorrect.

 

bye

0 Kudos

2,511 Views
ggorlik
Contributor I

Dear pgo,

thanks for the great work on USBDM.

Is there any chance to get a linux package for V4.8?

 

thanks!

0 Kudos

2,511 Views
pgo
Senior Contributor V

Dear gorlik,

 

I had some problems with the Eclipse Linux plugin for V4.8 and then got distracted by some other problems.  I will have a look after I release V4.9.

 

bye

0 Kudos

2,511 Views
ggorlik
Contributor I

Dear pgo,

thanks for your reply. I look forward for a 4.9 linux release.

Also, if there is anything I can do to help (i.e. testing) let me know.

 

thanks again for the great work.

0 Kudos

2,515 Views
brunolalb
Contributor I

Hi,

I made my own USBDM version, that will be used only for programming DSC MC56F800x. But as I needed external power to my board, I thought it would be nice to have this power provided by the USBDM. So, I used USBDM CF JS16CWJ v1.2 without all the Coldfire and BDM connectors and circuits and added TVS protections to the USB and JTAG connector (as in USBDM CF JMxxCLD v3.1) and a power source selectable between 3V3 or 5V through a pin header connector.

The problem is that I can't program anything. Initially, I used CodeWarrior Special Edition v8.3 to program the LED LAB program for MC56F8006DEMO, but CW hangs while trying to connect to USBDM and only works when I unplug it from USB.

So I tried the 56800E Flash Programmer and the same thing happened: the program hangs until I disconnect from USB and when I plug it back, windows don't manage to communicate with USBDM.

 

How can I know what problem is this? Is there some log the problem is described?

 

I'm currently using Windows 7 x64 and USBDM 4.8.

 

Regards,

 Bruno

0 Kudos

2,515 Views
pgo
Senior Contributor V

Dear Brunolalb,

 

I'm sorry but I can't suggest anything from your description.

 

If you want to create a log file setup as for the original description but use the following DLL:

 

usbdm-dsc-gdi-legacy-debug.dll

 

This will produce a log file in the %APPDATA%/usbdm directory.

 

bye

 

0 Kudos

2,515 Views
puke7381
Contributor I

Dear PGO,

     I haved installed USBDM-Version 4.8,

     But I use Bootloader for update the firmware of the FlashImage file USBDM_JMxxCLD_V4.sx , it's error.

    "Image file does not appear to be for this Hareware."

     Why? 

    

 

  

0 Kudos

2,515 Views
pgo
Senior Contributor V

 

OPPS!

 

The firmware file(s) must have the wrong names.  The one you are loading is intended for a Kinetis board.  I'll check and re-upload the files separately to sourceforge when I work out what's gone wrong.

 

In the mean time you can use the V4.7 firmware.  There is no significant changes.

 

Sorry for the confusion.

 

bye

0 Kudos

2,515 Views
Mayer
Contributor I

Hi pgo,

 

I trying to use the USBDM with CodeWarrior - ColdFire V7.1 

Try to add it to CodeWarrior  Flash Programmer

 

In the manual (V4.7)

http://usbdm.sourceforge.net/USBDM_V4.8/USBDM_CF_JMxx/html/configuring_c_f_vx_page.html

 

Wrote that how to add USBDM to CodeWarrior as new connection (USBDM_Coldfire) and need the file -

usbdm-cfvx-gdi-legacy.dll

 

I can't find this file

 

Am I missing something ?

 

Error screens attached

 

Regards,

 

Mayer

 

 

 

0 Kudos

2,515 Views
pgo
Senior Contributor V

Dear Mayer,

The first message indicates it can't find the wxWidgets DLL and you have indicated that you can't find the usbdm-cfvx-gdi-legacy.dll so I'm a bit confused.

 

You refer to V4.7 in your posting.  USBDM 4.7 has been replaced by V4.8 and I can only (conveniently) do tests with the current version so the only advice I can give will relate to V4.8.  If you haven't updated please do so as follows:

 

  • Run the USBDM V4.8 installer and forward to the Custom Setup page.
  • Expand USBDM Codewarrior Interfaces
  • Enable the Coldfire V7.2 installation
  • Use the button at the bottom of the screen to Browse to the Coldfire V7.1 installation directory.

The installation should install all the required files for Coldfire V7.1 and you should be able to set up the interface as in the instructions you have mentioned,

 

You can try this with V4.7 if you really want.

 

bye

 

0 Kudos

2,515 Views
Mayer
Contributor I

Dear Pgo,


Thanks for your help


Now I succeed to Erase + Program + Debug  my Internal Flash memory - MCU - MCF52259

(Just for your reference - also succeed to program MC9S12A32)

 

Now I have another board based on MCU MCF5329 that have no Internal flash memory

We working with external Flash memory - 16MB   Flash Memory  js28f128p30b85 -- Intel

 

What I need to do to make USBDM to Erase + Program + Debug  MCF5329 MCU

Through the Codewarrior Flash programmer or Through your application ColdFire V2,3,4 Programmer

 

What is the whole proccess to Program and debug an External Flash memory ?

Which files\algorithms I need or I can use PEmicro files ?

 

All Best,

 

Mayer

 

 

0 Kudos

2,515 Views
pgo
Senior Contributor V

Dear Mayer,

 

The USBDM programmers only support programming internal flash and a limited range of types of flash at that.  There is no reason why they couldn't be extended to do so but I don't have the time.

 

To program external flash it would be necessary to create the following:

  • TCL scripts to initialise the device including external interfaces etc.
  • A custom program to download to the target to do the actual programming.
  • Modify the XML to incorporate the above.

The software is not compatible with the P&E files. There would be issues in making it so since it's distributed a GPL and P&E would rightly object!

 

It should however be possible to program devices use the Codewarrior software - Either V7.2 or V10.1 using the programming support built-in.  I have no idea if they support the Flash you have indicated.

 

bye

 

 

 

 

 

0 Kudos

2,515 Views
Mickey
Contributor III

dear pgo

    today, I use "USBDM_CF_JMxxCLD v4.8" programming another "USBDM_JMxxCLC dongle", some problems, USB and cann't be properly identified, and even cause the USB crash.

 

    I use JM16 chip, in order to solve this problem, I also use CYCLONE PRO, the same as programming program, but it's no problem, any suggestions? some address in the program contect is not the same.

0 Kudos

2,515 Views
Mickey
Contributor III

dear pgo

    I use the functioning properly of the"USBDM_JMxxCLC v4.8" to programming"USBDM_JS16 dongle", the same problem, USB is always identified as "JS16".

0 Kudos

2,515 Views
USBDM_CF_JMxxv4
Contributor I

Let me question, the HW USBDM_CF_JM60 version 4.6 is identicall with version 4.8.So can I flash new driver to the HW v.44.6?

Then can sb advise me how to flash  driver "USBDM_CF_JMxxCLD_V4.abs.s19" to target device. After running flash programer in CW v10.1 I obtained the message

fl::target -lc "pokus"
fl::target -b 0xb0 0xfd0
fl::target -v off -l off -ie on -i "" -p

Error: missing value for option -p

and flashing is aborted, I tried to find where is setting  "p" located, but unsuucessfully. Thanks beforehand for any advice.

0 Kudos

2,515 Views
pgo
Senior Contributor V

 

Please refer to the topic:

Update of BDM Firmware and changing serial number.

in the instructions here:

 

http://usbdm.sourceforge.net/USBDM_V4.8/USBDM_CF_JMxx/html/installation_page.html

 

bye

0 Kudos