Allows you integrate USB HID Bootloader
into your QT software.
Our project is based on Microchip Libraries for Applications v2013-06-15. That package contains HID Bootloader
demo project which located in following folder
C:\MLA\USB\Device - Bootloaders\HID\software_cross_platform
We have refactored that project (split GUI and bootloader) to let your QT app operate with Microchip protocol using our shared classes. Also we extended bootloader with some useful functions like separate device read, write, verify, save to file, work with specified memory ranges etc.
All the code related to Microchip bootloader protocol was kept untouched and compatible with original MLA demo.
- Remove all *.pro.user files from all project subfolders
- Clear
/build
directory - Open PIC24-HID-Bootloader.pro in QT Creator
- In project settings dialog leave only
Desktop Qt 5.*.* MinGW 32bit
checkbox and name building directories asPIC24-HID-Bootloader/build/Debug
andPIC24-HID-Bootloader/build/Release
We tested our project on PIC24F Starter Kit and custom PIC24FJ256GB106 device. Appropriate MCU sources are attached in this repository. Original MLA package also contain sources for other MCU families.
- Use MPLAB.X IDE to build bootloader program and flash to PIC24F Starter Kit device
- Turn analog potentiometer counter-clockwise and run app (LED should be white)
- Run QT bootloader app, it should say it's disconnected.
- Plug Starter Kit to PC via USB slave cable. LED should blink purple, app notify it's connected.
Open
user_program.hex (download here or build from sources)- Click
Erase/Write/Verify
- Turn potentiometer clockwise and reset device, if LED blinks yellow means user program flashed successfully
- Turn potentiometer back to bootloader mode (counter-clockwise) and reset device
- Click
Read Device
and thanSave Memory Range
to binary file
- Export memory dump to HEX format
- Customize Microchip protocol with stream encryption (AES or XTEA)
- Open source of Android USB accessory bootloader (contact us for details)