The first of our SUMS -compatible Ethernet bootloaders is for the PIC32MX795 family, which has MAC circuitry built right in to the chip. (In fact, each individual processor chip in this family contains its own unique- in- the- world legal MAC address, so you won't need to buy MAC chips or go to the IEEE to buy the rights to a block of IP addresses, if you use this excellent Microchip processor.)
Our SUMS PIC32 Ethernet Bootloader is pretty fast - it programs and verifies a big 179 KB PIC32 program in just 10.4 seconds - about 20% faster than a Microchip Real ICE programmer.
It works almost exactly like our SUMS USB bootloaders, with some slight differences due to the way Ethernet addressing works.
Like our SUMS USB Bootloaders, the PIC32 Ethernet SUMS Bootloader has a simple End User Mode for your field upgrades, and a powerful Developer Mode for you and your factory personnel. You can easily brand it with your own logo, with no programming at all.
It's ready to work with your existing PIC32 code as well, requiring NO shifting of your PIC code to get out of the way of our bootloader. (That's a big deal for a PIC32, because learning those complicated PIC32 linker scripts is a lot more difficult and time consuming than it is with the smaller PIC18 devices!)
Demo Programs Provided with SUMS Bootloader
For all four combinations of Ethernet pins and PHY chip type[link], we provide a GetSer sample app that can read Serial Number, Company ID, and Model ID from the bootloader firmware. Just program the hex file into your PIC device, start the device, and after waiting a few seconds for your Local Area Network to assign an address to your device, point your web browser at http://mchpboard . You'll see something that looks like this:
In the box on the lower left corner, click the Read IDs button to cause the TCPmaker "Main App" firmware to call into the bootloader firmware to read out and display the Serial Number, Company ID , and Model ID that the bootloader stores and enforces. Your main app can use this information for all sorts of useful purposes, like these:
- Allowing you to provide a single version of your firmware, that can work with different generations of your PC board design. Lower Serial Number ranges indicate older boards, that may require firmware workarounds, more limited feature sets, and so on.
- If you sell through OEMs, your Main App firmware can decide, based on serial number ranges, which company logo to display on your TCPmaker content.
In the above demo, click the Bootloader button to call a routine that causes the Main App firmware to jump to the Bootloader Firmware, to do a Field Upgrade.
Note: this simple "Bootloader" button demonstrates just one way (a special command or signal from the PC) to command your device to enter Bootloader Mode. For your own device, you might choose some other approach, such as pressing a hidden button on the back of the device, or pressing 2 buttons at the same time and holding them down for 3 seconds, or whatever.
If you DID want to implement a "Bootloader" button on your TCPmaker content on a real product, you would probably put that button on a special page of your TCPmaker content that the user can only get to after he has entered the right user name and password: only authorized persons should be allowed to change your device's firmware!
The "Set Addr" button calls into the Bootloader Firmware to tell the Bootloader to use the same network addressing choices that the Main App firmware uses: choices such as whether to use a fixed IP address or to expect to use the DHCP protocol to be given an IP address (as is usually done on a Local Area network). See Passing Network Address Parameters To the Bootloader for more details.
We also provide a demo that does real hardware dependent I/O on a Microchip PIC32 Ethernet Starter Kit board, as well as reading Serial Number and IDs:
In this demo, clicking the buttons labeled "LED RJ0" through "LED RJ2" lights LEDs on the PIC32 Ethernet Starter Kit board. Similarly, pressing the pushbuttons SW1 through SW3 on the Ethernet Starter Kit board light up the round indicators on the browser display shown above.
The buttons labeled "Get IDs", "Bootloader", and "Set Addr" have the same functions as in the Generic demo described above. You can see actual Serial Number and ID numbers in the green rectangle on the screen shot above.
Next: Ethernet Addressing and SUMS >>