USB64 Bootloader
Bootloader
You use the Bootloader to program new firmware versions into Flash with just a USB connection and a special application on the PC side.
How It Works
The Bootloader is just Microchip's USB bootloader code, but we had to change it very slightly so it would use the correct I/O bits for the LED and Program switch (and config settings) on the USB64 board rather than the ones that come on Microchip's USB dev board.
So how does it work? Well, if you plug in your USB64, the Bootloader gets control of the processor.
It checks to see if the USB64 Firmware Jumper is not set for, that’s mean Program mode.
If so, it runs its own USB code that enumerates the UBB64 as a "PIC18F4550 Family Device" under "Other Devices" in the Device Manager, which communicates with the PC via Microchip's custom driver. You then run the bootloader application from the PC, and you can erase your USB64 (only the part that doesn't contain the bootloader firmware), read it, write it, etc.
The really great thing is that you can quickly and easily put new firmware on your USB64 without having any extra hardware.
Program new firmware into USB64
Attention:Any update / program of a firmware into the USB64 you'll do at your own risk.
The microchip PC Bootloader Application and the bootloader in the USB64 are well tested by thousands of users all over the world in different applications. But nevertheless there's always - special caused by faulty user operations - a change to damage the firmware of the device.
In 99 % of the error cases the bootloader will be still alive and the only thing to do is then to try it again.
Maybe try also on a different computer, if on the first the usb drivers of the microchip tool did not work properly.
If something is going wrong with the firmare update this is no warranty case.
For more infos about that, please read 'Handle with care' before you try an update.
The first thing you need to do is acquire the new HEX file you want to program into your USB64.
You can find them on our website here .
There are some files which are used when you connect your USB64 in Bootloader mode for the first time
Please download the files for the "Microchip Custom Driver" and the 'Bootloader Application'from this link usb64_fw_update.exe
With the US64 board pluged into the USB port set or better ‘don’t set’ the program jumper switch and power on your USB64.

If this is the first time you've run a USB64 in bootloader mode on your PC, Windows will ask you to install a new device.
Point it to the place where the 'mchpusb.inf' file is located (\MCHPUSB Driver).
Click through the dialog boxes to install the INF file.
(The exact sqeuence of this depends upon your version of Windows.)
Next run the PC Bootloader Application, which is called 'PDFSUSB.exe' and is located at MCHPFSUSB\Pdfsusb by default.
Attention for Windows XP:
It seems to be important to run this application in SUPERVISOR Mode.
In normal User Mode for us it seems not to work correctly !
Shame that this is mentioned nowhere – looks like that every one runs his computer in supervisor mode – bad bad – this seems the main rason, why viruses have so much fun on the most computers ;-)
Once running, select the PICDEM FS USB 0 (boot) selection from the "Select PICDEM FS USB Board" pulldown, which will connect the bootloader PC app with the USB64 bootloader code.
Then just click "Load HEX File" and navigate to where the new firmware HEX file is that you want to download.
Then click "Program Device". When it's done, it will tell you a log in the window.
Under no circumstances do any other step - f.e. read device. - Please read 'Handle with care'.
Now you should have the new firmware in your USB64.
So disconnect from power supply and put the program jumper in the ‘normal firmware mode’.
Both jumpers should now set like on the picture.

After that you just power on the UBB64 and your new firmware will start running.
This all sounds complicated, but once you do it a couple times it becomes real quick. And many of the steps above only need to be done the first time.
To recap, here are the steps to download new code to the USB64 (if you've previouslys connected it to your PC in Bootloader mode)
1. Just download a HEX file from our website ( a new firmware version for example ;-)
2. Run PDFSUSB.exe
3. Set the Jumper JP10/JP14 (the one that is nearer to the USB Conncector) so that JP10 hasn’t any connection to JP14.
Attention. The nearby jumper must be set and connect JP10 and JP14.
All remaining pins of the jumper JP10 had to be free. Never use them as a parking place for unsed jumpers !
Now power on your USB64.
4. Pull down "PICDEM FS USB 0 (boot) from within PDFSUSB.exe
Attention you must run in Supervisor mode, if you’re on Windows XP.
5. Click "Load HEX File" and load in your new hex file into PDFSUSB.exe
6. Click "Program Device" and wait until programming is done (just a couple of seconds)
7. Put the first Jumper JP10/JP14 in the position that JP10 connects to JP14.
8. Reset your USB64 to run the new firmware
Under no circumstances do any other step - f.e. read device. - Please read 'Handle with care'.
'Handle with care'
How to test, if the installation of the USB-Driver for the boot mode was successful.
There is no special test mode/program for this, but there are some hints for you in the system.
First have a look into the device manager of windows, when you've connected the USB64 in Bootmode to your PC.
You then should find a device called f.e. 'PIC18F4550 Family Device' in the 'Other device'-category .
This is the device-tree with the yellow question mark icon.
Then you should start PDFSUSB.exe.
Pull down "PICDEM FS USB 0 (boot) from within.
Then you should try a 'Read Device' function.
Never ever start in this session the Program Device function, or you will lost your USB64 firmware 100%.
This should work without any problems and error messages and after that you should find several contents in the PDFSUSB monitor window.
F.e.
PROGRAM MEMORY:
000000 F0 34 78 BC 00 44 88 CC 10 54 98 DC 20 64 A8 EC
000010 30 74 B8 FC 40 84 C8 0C 50 94 D8 1C 60 A4 E8 2C
000020 70 B4 F8 3C 80 C4 08 4C 90 D4 18 5C A0 E4 28 6C
000030 B0 F4 38 7C C0 04 48 8C D0 14 58 DB 1F 63 A7 E
an so on this is just an exampleand completely and the bottom of the window (just scroll down)
f.e.:
CONFIGURATION MEMORY:
300000 7C 46 60 56 48 C8 C9 48 48 C8 47 E8 47 08
3FFFFE 0A
3FFFFF 5A
If this works it should be nearly 100% shure that your computer has establed a functional connection to the usb64 board and backwards.
So the risk, that corrupted datas are transfered during the programing process, should be excluded.
What to pay attention when you program your device
It's 100% vital for the USB64 that you do not make any other things as described above for the programming session.
Special never call functions like - Read Device , Erase Device, Execute in the PDFSUSB.exe session when you flash a new firmware.
A 'Read device' after 'Load device' and then 'Program device' will kill the USB64 firmware with 100%, because then the configuration bits will be changed. And so maybe the CPU speed is changed, which will cause that the usb port won't work furthermore.
Also then update possibilities are gone, needless to say !
If you ever have any doubts about that, please close PDFSUSB.exe and restart it again and then follow only the update steps described above.
Or have a look into the PDFSUSB.exe monitor window.
Below
CONFIGURATION MEMORY:
After this text there are no numbers like
300000 7C 46 60 56 48 C8 C9 48 48 C8 47 E8 47 08
allowed.
If there are any number and not only 'white space' - then close PDFSUSB.exe and restart.
If you ever get a warning message / dialog box about
'Configuration data'
Configuration data contained in this hex file ......
[Yes)[No][Cancel]
Ever press cancel - or much better - restart the PDFSUSB.exe session.
Attention !
All USB64 devices returned caused by problems of corrupted configuration bits are no warranty case.
The only solution then is that we had to reprogram the CPU.
Though this is cost free, you have to pay for the bidirectional postal charges.
In this case please contact us before.