Attached is version 2 of the JB16 version of USBDM.
Please note that I no longer recommend using this version of the hardware as the JB16 is becoming hard to get.
If you want a simple BDM then I recommend the JS16 version posted separately. This has all the advantages of the JB16 (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 .
If you want a full-featured BDM then I recommend the JMxx version.
BDM Firmware History
Hi, first of all, thanks pgo for aiding me. Today i went to a friend's house, and borrowed his oscilloscope (we're students), and while i was checking the different lines, i realized that i hadn't connected the pin 10. Fixed it and it ran smoothly =D.
Thanks for your time, and i'm sorry i bothered you with such a dull problem .
Hi, i've build the JB16 - 20 pins version 2, the one posted here, but it doesn't seem to be working properly.
I've build my own PCB, following the schematics on the zip file. Using ICP i've downloaded the firmware into the device, and installed the .dlls on the computer.
I'm using the CW v6.3 - special edition, and everything goes on well, until the moment i want to flash a uC.
I've typed a simple soft to make a LED blink using a S08SH8 microcontroller, just to test the OSBDM. The problem i'm getting is this: when i want to flash the device, the "HIWAVE" part of CW prompts a message saying that the device is secured, or the derivative is wrong, and cannot be flashed.
When i select the option "Unsecure", under the "HCS08 Open Source BDM" menu, it returns that the device couldn't be unsecured.
The soft i wrote for the SH8 is configured to work with the internal clock generator, and preescaled the internal bus to 4MHz.
I attach an image of the "Status" of the OSBDM, just in case.
If there's anything else anybody needs to help me solve this, please ask for it.
Thanks in advance to anyone that can help.
I assume you get the usual USBDM Configuration dialogue?
If you have the resources, check if the BKGD pin on the target is changing when the BDM tries to program the target. You could also check for activity on the following JB16 pins:
7 & 13 (BKGD_I).
10 & 15 (BKGD_DRV)
This will at least indicate if there is an obvious hardware problem with the 'LV125.
If there is nothing obviously wrong then could you replace the DLLs with the debug version and try again. There won't be any change to the results but a log will be produced in C:\usbdm.log. Please post this as it should indicate what the problem is.
Test_USBDM.exe can be used to do basic testing of the BDM as well. Try the following commands and inspect the log file:
Looks like the schematis and pcb files you publish are being made using Protel, but I cannot read them using Protel 99SE somehow. Could you tell me which CAD software to use to read them?
Sorry if it was mentioned elsewhere and I missed that.
Actually I wanted to build JS16 and JB16/64 versions. I need to recreate a board as I have different size box.
But don't worry, those schematics are not that big, I can recreate them easily.
OTOH, I suggest to make a sticky thread for posting boards/schematic/sources/docs releases, scooping them over dozen of threads is a bit inconvenient. If that's a problem, I'm offering a free webhosting to collect all the releases in one place.
I'm using a WTUSBDML version of the BDM with firmware v1.4.
Can I safely upgrade the stick with the attached "WTBDM_JB16.s19" file or do I need to use the upgrade firmware sold on Witztronics website?
I have no information on the version from Witztronics. It may have modifications compared to the above code. I also have no idea what warranty or support would be available if you used the above version. I suggest you post on their forum to obtain a definitive answer.
I have used and tested the above version on their hardware. YMMV
If you wish to use the USBDM HCS08 Flash programming utility it would be necessary to use the slightly later version of the interface DLL available with that software.
Thanks for your feedback.
along with other same dll's.
The only benefits is the documentation pdf included.
Great work PGO ! Thank you for giving us some of your time and work
I have WTBDM, as you know it does not have MAX662 in order to program RS08 devices. I want to control an external MAX662 circuit with a signal from the PTD2 pin (pin # 8 of the SOIC28 pkg) that is not used in the WTBDM, I tried doing this mod myself but I got a lot of errors and warnings. I changed the default target to WTBDM and added capabilities changing to "#define CAPABILITY (CAP_RESET|CAP_FLASH)" in the WTBDM_JB16.h file
What changes I need to do in order to receive GND signal in PTD2 to turn on the MAX662, and of course the enabling of RS08 programming using WTBDM. Thank you very much.
There would be extensive changes required to use the WTBDM with a RS08. Apart from the 12V supply you would also need to add the external switching circuit that controls the RESET/Vpp pin. There are requirements for switching time etc that would make it unattractive to simply switch the supply on/off by controlling the MAX662 directly. The circuitry currently connected to the RESET pin would also need to be isolated from the 12V. Some of this could be done manually with jumpers but it's pretty messy.
If you wish to pursue it it would be better to start with the header file for the version that supports RS08 and reconcile it with the WTBDM header.