1.6.3 USB Device HID Bootloader Configurations
Bootloader Specific User Configurations
For Basic Bootloader:
For Live Update Bootloader:
-
Bootloader NVM Memory Used:
- Specifies the memory peripheral used by bootloader to perform Flash operations
- The name of the peripheral will vary from device to device
-
Bootloader Size (Bytes):
- Specifies the maximum size of Flash required by the bootloader
- This size is calculated based on Bootloader type and Memory used
- This size will vary from device to device and should always be aligned to device erase unit size
-
Enable Bootloader Trigger From Firmware (Basic mode only):
-
This Option can be used to Force Trigger bootloader from application firmware after a soft reset. It does so by reserving the specified number of bytes in SRAM from the start of the RAM. The reserved memory is updated by the application with a pre-defined pattern. The bootloader firmware in the bootloader_Trigger() routine, can check the reserved memory for the pre-defined pattern and enter Bootloader mode if the pattern matches.
-
Number Of Bytes To Reserve From Start Of RAM:
- This option adds the provided offset to RAM Start address in bootloader linker script.
- Application firmware can store some pattern in the reserved bytes region from RAM start for bootloader to check at reset in bootloader_Trigger() function
-
-
Use Dual Bank For Live Update:
-
Used to configure bootloader library to use Inactive bank of the device to upload the new application
-
This option is visible only for devices supporting Dual Flash banks
-
Live Update Flash Bank Size (Bytes):
- Specifies the size of bank in which both the bootloader and application code reside. This value by default will be half of the available Flash memory
-
Trigger Reset After Update:
- This option can be used to trigger a Swap bank and reset immediately after programming the application in inactive bank
- If not enabled, then the application code should call the bootloader_SwapAndReset() function to trigger Swap bank and reset
-
USB Device HID Driver Configurations
- Vendor ID: 0x04D8
- Product Id Selection: usb_device_hid_bootloader
- Product ID: 0x003C
- To be used to configure Unified Host Application
- Product String Selection: USB HID Bootloader
Bootloader System Configurations (Basic mode only)
- Application Start Address (Hex):
- Start address of the application which will programmed by bootloader
- This value is filled by bootloader when its loaded which is equal to the bootloader size. It can be modified as per user need.
- This value will be used by bootloader to jump to application at device reset
Bootloader Linker Pre Processor Macros for Cortex-M Based MCUs
- Based on the configurations the above
linker pre processor macros will be generated in MPLAB X xc32-ld settings
- ROM_LENGTH specifies the size of the bootloader
Basic mode:
Live Update mode:
