Passing Address Parameters to SUMS
The SUMS Ethernet BLPROTected Bootloader firmware is based on a subset of the Microchip TCPIP Stack, which can respond to a network Ping, and which uses UDP as a light weight protocol for bootloader communications. It needs an IP address and a MAC address to work on the network. For this reason, the SUMS Ethernet BLPROTected Bootloader Firmware is capable of getting an IP address from a DHCP server on your network, and is set up to do that by default.
The Bootloader Firmware is completely independent of your Main App firmware, and in fact does not even run at the same time as your Main App. So, the Bootloader Firmware does not inherently know what IP address arrangements your Main App firmware uses. Perhaps your device is intended to use a hard coded IP address, maybe because the network environment it is designed for will never contain a DHCP server.
For this reason, you may need the bootloader to use the same hard-coded IP address as the Main App firmware. The Bootloader Firmware cannot know that unless YOU tell it.
We have made it possible for your Main App firmware to tell the Bootloader Firmware about the addresses it should use. To do this, we provide a routine that is available at a special entry point, at a fixed address in program memory, that your Main App firmware can call in order to store the following address parameters:
- IP Address
- Network Mask Address
- Primary DNS Server IP Address
- Use_DHCP flag – set this to non-zero (true) to tell bootloader to use DHCP and ignore IP Address parameter
These parameters are stored in a non-volatile block of program memory that the bootloader manages. They are only used when control is passed to the Bootloader Firmware in the device, i.e. when the Bootloader Firmware actually starts running.
Next: PHY chips and SUMS >>