You have unsaved changes. If you choose to leave all changes will be discarded.
posted on 2018/12/04 03:16:46 PM CET
While my use of the USB HID Bootloader for my world wide customers has worked fine, I would like to have a USB Flash/Thumbwheel/pen drive capability to upgrade my products software to preclude the customer needing to carry a laptop to the vehicle my Electronic Ignition Monitor is installed in. Despite months of effort and some progress, I have finally had to admit the bootloader development skills/knowledge required is beyond me.
My custom board is USB OTG capable and currently I can read in and parse IntelHex format code and convert the Ascii hex format to binary. That is as far as I have gotten. The vector jumps and address locations required combined with the virtual and physical addressing just confuse me.
I would prefer the code to be in MikroPascal but can cope with it in C. The firmware would need to be installed using all the 12KB bootload reserved memory and then additional flash memory as required. The firmware would take 2-5 seconds to :
1. Determine that a Flash Drive has been inserted into the micro B socket
2. Query the files on the Flash Drive to match/ID a file with the proper file name as an application to be loaded
3. If 1 and 2 are satisfied then to activate the bootloaders download, convert and write to flashmemory
4. if 1 and 2 are NOT satisfied then to jump from bootloader to application firmware already loaded
5. One pin output (an LED on PORTB.RB13) will activate when condition 3 is met and will remain on during the download
6. If for some reason the bootloader is unable to proceed then to activate the LED in a blinking pattern.
7. Must not required a linking script as my MikroPascal compiler only provides the IntelHex file of the application
8. The file format should be FAT32 and standard IntelHex format for the PIC32
9. Should not require custom libraries but should use the Mikro provided ones
Additional information can be provided on requirements and custom board if needed.