USBDM has been updated to version 18.104.22.168.
A video introduction is available at:
The software is available at:
More information is available at:
Hi PGO, For a project I'm trying to find how can I make a JM60 appear to the host as a winusb device but also as a virtual comm port exactly as you do in USBDM_SWD_SER_JS16CWJ I would like to see how do I need to set up the endpoints to get it to work but I can't find in podonoghue/usbdm-firmware · GitHub could you please point me to the right direction? Thanks!
The descriptors in the USB.c file here
enable the device as a composite device with a CDC endpoint.
Look for the code protected by #if (HW_CAPABILITY&CAP_CDC) ... #endif for the differences required between composite and non-composite.
I suspect you would be better off looking at the Freescale USB examples for the JM60 as the USBDM code is rather purpose built.
its been along time since i first used the USBDM... and I dont regret it :-). Thanks for that.
Now I got a Question regarding your GitHub Code usbdm-cw-firmware (I would have contacted you via GitHub but since they removed the messaging :-( I had to find other ways).
Now for my little-spare-time-project, I want a USB-Interface which is more or less the same as the USBDM-USB-Interface (no CW or KDS environment). Therefore I checked your code on GitHub. Now since I use FRDM-K22F board for testing, I had to change some minor things. No Problems there, but when I run the code it I dont get any USB-interrupts. So I looked further into your code while conducting the RM of the K22 and the K20. Then I came across the line 1352 in your kinetis USB.c file.
USB0_USBTRC0 = 0x40;
I have no clue what you use the 0x40 for as in both manual the register USBTRC0 Field 6, 0x40 is said to be reserved.
Can you please tell me what you use the 0x40 for? Or what it should stand for?
Is there a simple USB-Stack for the K22F board around somewhere? If so where can I found it?
Thanks alot for your help.
Greetings from switzerland
This particular action is based on the Freescale reference code but with no real documentation.
For example, the following is taken from the Kinetis-SDK example:
|/* Configure enable USB regulator for device */|
|SIM_SOPT1 |= (SIM_SOPT1_USBREGEN_MASK);|
|/* reset USB CTRL register */|
|USB0_USBCTRL = (0);|
|/* Enable internal pull-up resistor */|
|USB_USBTRC0 |= 0x40; /* Software must set this bit to 1 */|
|/* setup interrupt */|
I have no real idea what it does!
I suggest you post in the Kinetis group and see if you get an informed answer.
Example USB Stack are available in the Kinetis-SDK for various devices. I find them overwhelmingly complicated!
Hi pgo, I'm making a PCB with the USBDM integrated on it, I'll integrate the USBDM_SWD_SER_JS16CWJ design but I have one question.
In the schematic there is one 12MHz crystal and one 4MHz cermic resonator, there is one note that says that the resonator replaces the crystal but I'd like tu use the 12Mhz crystal for the better tolerance when trimming HCS08 targets.
The question is: When a firmware update is made thru the Firmware Updater does it recognizes if the oscillator is running at 12MHz or 4MHz and adjust accordingly?
I would like to avoid that a field firmware update bricks the programmer because an updated firmware will be intended to run on 4MHz resonator instead of a 12MHz crystal.
Thanks for your time!
both the bootloader and and the main USBDM firmware auto-detect the crystal frequency so will work with either.
This is done by the autoInitClock() routine if you want more details.
I update the USBDM to version 22.214.171.124.The problem of "Failed to resume target process.Downloading binary to target..."on the 8037 with CW10.6 has been solved when I use the debug mode.But it still exsit on the MC56F84789.At the same time, the program can't run directly downloaded with the stand-alone MC56F flash programer,while it's right with the flash programmer builted in CW10.6.
How to solve the problem,I hope to receive your reply.