USBDM - Version 4-Beta (JB16/JS16/JMxx Hardware Versions)

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

USBDM - Version 4-Beta (JB16/JS16/JMxx Hardware Versions)

14,063 Views
pgo
Senior Contributor V

Dear All,

 

The latest version of the hardware/software & firmware for the above is available at this location.

 

http://opax.swin.edu.au/~3340694/USBDM/USBDM/html/

 

 

History

  • V4.0 (September 2010) - Significant changes in some areas - Please read carefully
  • 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
  • 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

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

 

Linux files will be uploaded in the next few days.

Its a BETA because there have been lots of changes in how it operates so probably some undiscovered bugs.

 

Enjoy.

 

bye

Tags (2)
0 Kudos
110 Replies

2,061 Views
vluban
Contributor I

Dear pgo,

 

I'm trying to first flash freshly assembled simplest JS16 USBDM. I did a full erase via Bootloader GUI, then programming, it seems to be a success according to your documentation, but then device boots back into JS bootloader mode.

 

Now, looking into documentation I see in the installation manual (actually seen it right away):

 

"Note that this programming is only needed once. You may notice that the programmer gives a error message similar to
Doing CRC ...
CRC Checksum Error
Error while doing CRC
.
This indicates that the Flash image does not have a valid CRC. USBDM does not use the CRC feature available in the JS16 and hence this error message is to be expected and may be ignored. "

 

Yes, JS Bootloader complains about checksum as expected. But now there's passage in the JS reference manual:

 

"When BLMS pin and BKGD/MS are high during power-on-reset (POR), a CHECKSUM BYPASS
flash location is examined. If it is equal to 0xFF, a flash CRC is calculated for the flash array and
compared with a FLASHCRC 16-bit word. If the result does not match, then the bootloader mode
is entered." - section 4.5.2.1

 

So, is not it that very checksum JS bootloader is complaining? If that is true, then freshly programmed JS16 chip will boot again into bootloader and never into user code, right?

 

Regards,

     Vitaly.

 

0 Kudos

2,061 Views
pgo
Senior Contributor V

Dear vluban,

 

The CHECKSUM BYPASS flash location is programmed to 0x00 in the JS16 image provided.  You can verify this by examining the S19 file:

 

S104FFBA0042 => location 0xFFBA <= 0x00

This means that the clause you quoted does not apply.

 

There must be some other reason why it is booting into this mode.  I have programmed a few blank chips using the gui bootloader without any problems.

 

You can also refer to the flow chart 4.5.4.4 Flow Chart to further clarify boot operation.

 

bye

0 Kudos

2,061 Views
vluban
Contributor I

Dear pgo,

 

Then I'm kind of at loss. I've assembled second unit, same behavior. I've checked all power voltages, Vusb, crysral frequency, everything seems to be fine... BKGD is at +5, BLMS shows 0.5V, apparently driving led low (btw, is it normal when LED is constantly lit?) More over, JS Bootloader recognizes the device and works with it... What's the heck this could be, any ideas what else to check?

 

Regards,

   Vitaly.

 

0 Kudos

2,061 Views
vluban
Contributor I

I've even lifted the BLMS pin from PCB to check just in case that PCB might have not quite short of this pin to ground, no luck, it still boots into JS Bootloader :smileysad:

 

 

0 Kudos

2,061 Views
vluban
Contributor I

Heck, inserted it into another usb port, now it says: "Freescale JM60 Bootloader". Well, I still have 10M resistor in parallel to that crystal, time to change it to 1M...

 

0 Kudos

2,061 Views
vluban
Contributor I

Got it to work. Resistor was a culprit...

 

0 Kudos

2,061 Views
vluban
Contributor I

Thanks PGO! Next time when you see something like that, it might be that resistor :smileywink:

 

0 Kudos

2,061 Views
pgo
Senior Contributor V

Dear vluban,

 

The earlier V3.2 design indicated a 10M resistor for the crystal.  This has been updated in the current designs:

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

 

I'm sorry if this was the cause of your problem.

 

bye

 

0 Kudos

2,061 Views
vluban
Contributor I

Dear pgo,

 

Thanks and no problem, I've noticed that change, albeit it says "do not replace resistor if it works" :smileyhappy:

 

Thing is, I did this board almost a year ago but had no time to assemble it until now.

 

Thanks again!

 

0 Kudos

2,061 Views
wrljet
Contributor II

Crystals vary a lot, also.  Which affects that resistor.

 

0 Kudos

2,061 Views
chaoyi
Contributor I

hi pgo:

 thanks a lot for your great job on usbdm.

 I have already used it in my development. It works nice.thanks again.

 these days I am working on Kinetis MCUs - K60N512. and I used the OSBDM(OSJTAG).

 and I want to know is there any plan to support Kinetis by USBDM  in the future?

0 Kudos

2,061 Views
pgo
Senior Contributor V

Dear chaoyi,

 

I intend looking at this in the near future.  The ARM debug interface is well documented but is rather complicated.  In one mode it is based on JTAG so initially I intend seeing if it is possible to implement an interface on the USBDM versions that support JTAG (The CFVx versons).

 

It may be possible to do a SWD interface on the simpler BDMs but this may require modification to the circuit to change the reset output to support 3-state operation (currently it operates as open-drain).

 

In any case it's on hold until I get a Kinetis (or other ARM) chip.

 

bye

0 Kudos

2,061 Views
jbsnyder
Contributor I

Hi -

 

What about just for flashing support on Kinetis?  I'm currently looking for some sort of tool outside of the IDEs that provides a mechanism for flashing.  Looking at the OSBDM API it doesn't look like it would be terribly complicated to write something that would simply read in a fully-preprocessed bin file and write it into flash.  Would it really be as simple as bringing up the device halting it and laying down the firmware starting at the correct address?

 

I'm not hugely familiar with USBDM, since my previous experience is mainly with other ARM platforms rather than with other Freescale devices, but it appears that what this is is a custom firmware for the hardware debug interface, with software tools that provide debugging interfaces and flash tools?  I'm mainly a Mac & Linux user, and I'd be quite interested in seeing your tools usable and available on one or both of those platforms.  I'm not sure how much work is involved or how I can be of help, however.  At this point, I'd mainly just like a flashing tool that doesn't require installing a full IDE since I tend to use a command-line build environment and not Windows :smileyhappy:

0 Kudos

2,061 Views
pgo
Senior Contributor V

Dear jbsnyder,

 

The next version of USBDM will include a stand-along programmer for (some of) the Kinetis CPUs.  This will be similar to the existing programmers provided for the other targets and support GUI and command-line use.

 

bye

0 Kudos

2,061 Views
puke7381
Contributor I
Dear Pgo How the application "HCS12_FlashProgrammer.exe" support the mcu MC9S12HZ128?
0 Kudos

2,061 Views
pgo
Senior Contributor V

Dear puke7381,

 

I don't have many HCS12 devices to test with so the HCS12 programmer is limited in the devices it supports.

 

You can edit the device file provided with the programmer to add new devices providing their Flash is similar to the existing supported devices but I can offer no guarantees.

 

The file to edit would be:

HCS12 Devices.cfg

or in the latest release

hcs12_devices.xml

 

The files look a bit scary but the required information is quite small - Basically family (HCS12), name, RAM area,  EEPROM area, Flash area and partIDs.  The following is based on a quick look at the data sheet:

 

<device family="HCS12" name="MC9S12HZ128">
   <clock type="External" />
   <memory type="ram">
      <memoryRange end="0x3FFF" start="0x2800" />
   </memory>
   <memory registerAddress="0x0110" type="eeprom">
      <memoryRange end="0x07FF" start="0x0400" />
   </memory>
   <memory registerAddress="0x0100" type="flash">
      <memoryRange end="0xFFFF" start="0x4000" />
   </memory>
   <sdid value="0x1402" />
   <sdid value="0x1403" />
   <note>Untested</note>
</device>

 

 

 

bye

0 Kudos

2,061 Views
jOJo73
Contributor I

Hi pgo

 

Thank you for your answer. I had a look to V4.3 and I found the sources files for CodeWarrior V10. Again, thank you very much for your great job.

 

Regards,

Joël

0 Kudos

2,061 Views
jOJo73
Contributor I

Hi

 

I'm interested by USBDM JS16 version for HCS08 devices. I found the PCB and the schematic on http://usbdm.sourceforge.net/. I also found the S19 file in http://sourceforge.net/projects/usbdm/files/ to program the JS16 microcontroller.

 

Maybe I'm wrong, but I thought the project was open source, but I do not found the source files used to generate the S19 file for the JS16 microcontroller.... Is the source code available ? If yes, where ?

 

Thanks for your help and for your job !

 

Regards,

Joël

0 Kudos

2,061 Views
pgo
Senior Contributor V

Dear Joël,

 

I haven't uploaded the Firmware files for V4.4.  They are very little changed from those in V4.3 available on sourceforge.

 

I probably won't upload them again until V4.5.

 

I had intended setting up GIT but it has presented some difficulties so it's on hold for the moment.

 

bye

0 Kudos

2,061 Views
Mickey
Contributor III

Dear All

  If you do not want to DIY USBDM, can go to the link below to buy, size, and prices are currently low.

Bye~

 

Low cost & small size USBDM JS16

0 Kudos