USBDM - Version 2 (JS16/JMxx Versions)

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

USBDM - Version 2 (JS16/JMxx Versions)

16,673 Views
pgo
Senior Contributor V

Attached is version 2 of the JS16/JM16/32/60 version of USBDM.

 

This includes the following hardware versions:

 

  • JS16 - A very minimal BDM that supports HCS12, HCS08 and Coldfire V1 devices.  It is easy to construct and may be initially programmed over the  USB.
  • JMxx - A full-featured BDM that supports HCS12, HCS08, RS08 and Coldfire V1 devices.  It also provides a range of additional features such as target power control and detection.  
  • JMxx/CF - As for JMxx but also supporting Coldfire V2, 3, & 4 (Only tested on CFV2!)

 

If you want a simple BDM then I recommend the JS16.  This has all the advantages of the previous JB16 version of OSBDM (ability to be programmed over USB & convenient SOIC package) as well as being USB2 Full speed.  It is also available as a sample from Freescale :smileyhappy:.

 

If you want a full-featured BDM then I recommend the JMxx version.

 

BDM Firmware History
  • V2.0 (September 2009) - Major change - Please read
    • Major revision. The structure of the software has been revised and the operation with various targets made more uniform.
    • Introduction of a new API for using the BDM. Existing APIs (TBDML, OSBDM, TBLCF) are now supported by a separate compatibility layer. This has resulted in a very significant reduction in the complexity of both the BDM firmware and the interface DLLs. The previous arrangement was becoming impossible to maintain.
    • The handling of RS08 devices has been re-written in a more sensible fashion. This involved moving the bulk of the RS08 code from the BDM firmware to the interface DLLs. This should mean that additional devices can be introduced without changing the BDM firmware. Support for additional RS08 devices has been added. The BDM now supports KA1, KA2, KA4, KA8, LA8 and LE4.
    • Because of the above changes, the BDM REQUIRES the use of the provided interface DLLs. The BDM is no longer compatible with the original TBDML or OSBDM dlls.
      The provided DLLs maintain some limited compatibility with earlier versions of TBDML, OSBDM and USBDM but may not support all features or targets
  • V1.5 (June 2009)
    • Improved/corrected connection strategy for external power cycling
    • Minor bug fixed (glitch removal)
    • Improvements to ALT clock handling
    • Changes to USB code to fixed bugs with BDM being recognized on some PCs (Thanks to Macias & Enrico for bug chasing and testing) Tested with USBCV13.exe from USB.ORG - now passes
  • V1.4 (February 2009)
    • Fixed a bug in the USB code (unlikely to occur but worth fixing)
    • Added extra dialogues prompting the user to cycle target power when necessary. Corresponding options added.
    • Added connection retry when target power is absent.
    • Added support for MC51AC256 (a bit of a hack!)
    • Modified HCS macros (to provide considerable size reduction as needed for USBDM_CF in 16K)
    • General clean up of code
  • V1.3 (November 2008)
    • Unified Timer MACROS
    • Re-arrangement of Target Vdd control routines
    • Minor mods & corrected comments in bdm_syncMeasure()
    • Reviewed stack size
    • Increased cable_status.waitX size
  • V1.2 (October 2008)
    • Increased stack size (stack overflow was possible)
    • Utilities (setBoot) updated to match.
    • Other cosmetic changes
  • V1.1 (August 2008)
    • Vista compatibility
  • V1.0 Initial Release

 

 ToDo list

  • Flash programmer for HCS08
Message Edited by pgo on 2009-11-05 12:13 PM
Message Edited by pgo on 2009-11-05 12:14 PM
 
Message Edited by t.dowe on 2009-11-05 12:35 PM
Tags (2)
0 Kudos
39 Replies

2,303 Views
thiag
Contributor I

Hello pgo, can you send  or link for the altium PCB file for the below version

 

http://usbdm.sourceforge.net/USBDM_V4.5/USBDM_CF_JS16/html/index.html.

 

I am making pcb for some other project so i can paste the design with my project and send for single manufacturing.

 

with regards

thiag

0 Kudos

2,303 Views
asin
Contributor I

Hello,I;m a Chinese user,who is just a rookie.I have read a lot about the JS16 description,but I can't find any file that I need to have my JS16 BDM work.So how and where can I find the files?And,what's better,can I find illustrations for the steps to deal with this?Thanks a lot.

0 Kudos

2,303 Views
USBDM_Version2
Contributor I

Dear pgo,

        My mcu and platdom is  MC9S08JM32CLD. Using firmware is USBDM - Version 2 (JS16/JMxx Versions),but  it don't connect with target board. I find the error  is in bdm_enableBDM  function by P&E debugging ,because return value of bdm_enableBDM is error code of BDM_RC_BDM_EN_FAILED. bdm_enableBDM function call bdm_readBDMStatus and writeBDMControl. In the bdm_enableBDM function the call order is bdm_readBDMStatus ,writeBDMControl,bdm_readBDMStatus.Value got is 2 when the first call bdm_readBDMStatus, however Value got is 2 when the second call bdm_readBDMStatus. The condition should be error ,but i don't know why.

 

       I'm sorry for my poor english.

       Hope pgo help me ,thank you !

 

      Look forward to your reply.

0 Kudos

2,305 Views
bfac
NXP Employee
NXP Employee

Hello pgo!

 

A customer wants to use the OSBDM to build a stand-alone programming tool, the idea is very simple:

- the hardware would be very similar (if not identical) to the OSBDM.

- on the firmware side, we would need to change the loading algorithm to read the s19 file from internal memory

- we would need to add the target device firmware (maximum of 16K) inside the JM60, probably as a data table

 

Do you see major issues with this idea?

Have you seem a similar application?

 

Thanks!

Bruno

0 Kudos

2,303 Views
pgo
Senior Contributor V

Dear Bruno,

 

You would have to consider the following points:

  • The software is distributed under the GPL.  You would need to comply with this.
  • The BDM firmware (in the JMxx) does not actually do the programming.  The programming is done by downloading a programming algorithm to the target device which programs itself.  The process is driven by the GDI DLLs.

 It would certainly be doable but a fair amount of work.

 

bye

0 Kudos

2,300 Views
javierelectron
Contributor I

Hi, I build the hardware of the programmer. When I plug into the PC, the PC recognizes the target . I´m ran the program ZADIG to install the USB drivers, and there´s no problems with that.

 

The problem appears when I run the Bootloader GUI to program the initial firmware in the JS16. A message appears "  The JM60 is not Connected or is Not in a Bootloader Mode" , note that I´m tie to ground the pin BLMS , but I can´t program the target. Can you help me ??   Which can be the problem ???

 

Tanks you very much.

 

Javier

0 Kudos

2,300 Views
pgo
Senior Contributor V

Dear Javier,

 

The driver required to program the JS16 is the one provided by Freescale with their GUI bootloader.  The driver you have installed is the one required for the BDM after programming when it appears as a different device.

 

Please use the hardware manager to uninstall the device.  Then unplug and plug in again.  You should then be able to follow the instructions on this page:

 

http://usbdm.sourceforge.net/USBDM_V4.5/USBDM_JS16/html/installation_page.html

 

Good luck!

 

bye

0 Kudos

2,303 Views
javierelectron
Contributor I

Hi again pgo. Thanks for you quickly answer. I knew the web page you showed me. But I have a problem yet.

 

I´m did the uninstalation of the drivers like you said. Then I´m installed again with the drivers provides by the bootloader GUI .

The instalation was successful.

 

And now I open the program "Bootloader JS Family GUI" to install the firmware but appears the same messaje " The JM60 is not connected or is Not in a  Bootloader Mode". Why is this message ??  Help me please.

0 Kudos

2,303 Views
pgo
Senior Contributor V

Dear Javier,

 

Not much to suggest.  I've had no problems with the bootloader.

 

Please check the following:

Does the device now appear correctly in the hardware manager? See attached image

 

If not uninstall and try installing again.  Keep the BLMS pin low just in case the device isn't blank.

 

If the device appears then I can't think of any reason it wouldn't be detected by the bootloader.

 

I can only suggest trying another PC.

 

bye

0 Kudos

2,303 Views
javierelectron
Contributor I

Hi pgo I have other problem. The debug board works perfect I think. But I want to program a microcontroller JS16 so I downloaded the IDE Code Warrior Eclipse v10.0,  because I understand that the Code Warrior v6.3 is don´t works with this debuger.

 

The problem is in the Projet Wizard because I don´t have the choose USBDM. I have only six chooses :

 

P&E Full Chip simulation

P&E USB BDM Multilink

P&E Ciclone Pro serial

P&E Ciclone Pro USB

P&E Ciclone Pro TCP/IP

Open source BDM

 

tell me what I have to do please. Thanks

0 Kudos

2,303 Views
pgo
Senior Contributor V

Dear Javier,

 

Make sure you have run the following batch files in the USBDM installation files (and check for errors):

run"Install Codewarrior Files.cmd" to install the drivers

run "Install Codewarrior Wizards.cmd" to add USBDM to the Codewarrior Eclipse wizards .

 

Providing Codewarrior is installed to the usual location this should add the USBDM item that is missing.

 

If this doesn't work try running :

"c:\Program Files\Freescale\CW MCU v10.0\eclipse\cwide.exe" -clean

from a command line to tell Eclipse to refresh its settings.

 

USBDM supports JS16 on Codewarrior V6.x and V10.x so it should work in either.

 

bye

 

0 Kudos

2,303 Views
javierelectron
Contributor I

Hi pgo. I´m did the things that you saids and it´s work only in Code Warrior v10.0, the USBDM is appears. But in the Code Warrior v6.3 is not.  The two programs are in the instalation folder C:\Programs Files\Freescale........

 

What can I do to have the option USBDM in Code Warrior v6.3 ???  because I prefer that version. I give you a picture showing my options. Thank you very much for youe help, you always help me.

0 Kudos

2,303 Views
pgo
Senior Contributor V

Dear Javiere,

 

The USBDM pretends to be either a TBDML (for HCS12) or a OSBDM (for HCS08 & CFV1) in the Legacy Codewarrior versions.  Choose the interface accordingly.

 

Refer to top of this page:

http://usbdm.sourceforge.net/USBDM_V4.5/USBDM_JS16/html/usage_page.html

 

bye

 

 

0 Kudos

2,303 Views
javierelectron
Contributor I

Dear pgo:

 

When I try to program my target in Code Warrior v6.3, after the USBDM Configuration, a error message appears. I give you a picture. Do you know what it´s can be ????

0 Kudos

2,303 Views
javierelectron
Contributor I

Hi pgo, now the debugger is working good. Thanks very much. T think I won't bother you any more, jaja, bye.

0 Kudos

2,303 Views
pgo
Senior Contributor V

Dear Javier,

 

I'm glad you have got it working.

 

If you find that that Codewarrior gives you a message about the device being secured it is probably worth trying the stand-alone USBDM programmer to check if the device is unsecured and OK.

 

bye

0 Kudos

2,303 Views
thiag
Contributor I

Hello Pgo,

 

Can you tell difference between USBDM_CF_JMxx and USBDM_CF_JS16, interms of the Coldfire connector and BDM connectors and technical performance and since USBDM_CF_JS16 is having the connectors for Coldfire V1 to V4 and BDM

 

why we need to build USBDM_CF_JMxx ??? as USBDM_CF_JS16 having same connectors ??

 

References:

 

http://usbdm.sourceforge.net/USBDM_V4.5/USBDM_CF_JMxx/html/index.html

 

http://usbdm.sourceforge.net/USBDM_V4.5/USBDM_CF_JS16/html/index.html

 

with regards

thiag

 

0 Kudos

2,303 Views
pgo
Senior Contributor V

Dear Thiag,

 

The links you posted clear describe the differences :smileyhappy:

 

CF_JMxx supports RS08,HCS12,HCS08,CFV1  + CFV2,3,4, DSC (and eventually Kinetis)

CF_JS16 supports CFV2,3,4, DSC (and eventually Kinetis) only

 

bye

0 Kudos

2,303 Views
thiag
Contributor I

Hello pgo, can you send  or link for the altium PCB file for the below version

 

http://usbdm.sourceforge.net/USBDM_V4.5/USBDM_CF_JS16/html/index.html.

 

I am making pcb for some other project so i can paste the design with my project and send for single manufacturing.

 

with regards

thiag

0 Kudos

2,303 Views
pgo
Senior Contributor V

Dear Thiag,

 

I believe the PCB source files are provided as part of the uploadf to sourceforge:

 

http://sourceforge.net/projects/usbdm/files/

 

bye

 

0 Kudos