A unique feature of our SUMS Bootloaders is the ability to allow your Main App Firmware to call into the Bootloader Firmware, as if it were a subroutine library, to read out the values of the Company ID, Model ID, and Serial Number that the bootloader firmware stores and enforces. Each SUMS Bootloader provides sample source code that does that for the supported processors.
Our customers find this capability to be extremely useful, for a variety of different applications. For instance, some customers use it to allow them to write one piece of firmware that can work properly on several generations of PC board revisions. By reading the product serial number from the bootloader, their Main App firmware can apply firmware workarounds that might be needed on older generation boards, that have a certain range of serial numbers. Newer boards can execute different routines that don't apply those workarounds. This neatly allows your company to distribute a single piece of firmware which can operate correctly on several generations of boards, avoiding any possibility of sending the wrong firmware version to any customer.
This is a screen shot of the GetSer demo project which we supply with our 18F4550 SUMS USB Bootloader. The PC screenshot shows the PC program for the Main App firmware running in the foreground (lower left corner), and the SUMS 18F4550 USB Bootloader's PC program is in the background, in the upper right corner. (The device is running the Main App firmware, so the bootloader PC program has darkened itself to show that the bootloader firmware it is matched to is not presently running.)
When the user clicked the button labeled "Read Serial Num" on the Main App's PC program, the device's Main App Firmware was commanded to read the IDs from the bootloader firmware in the device. It did so, and then reported the values to the PC program over the USB, which displayed them in the colored panels.
Click here to see a screen shot of a similar GetSer sample app made in a TCPmaker app, which has called into our SUMS PIC32MX795 Ethernet Bootloader to read and display Serial Number and IDs.
Next: Demo Apps >>