Upgraded firmware for a microcontroller is created and encrypted to
construct a file (116) that can be distributed and installed by
technicians in the field. The encryption includes character encryption
(210) of the data as well as a second level of block encryption (216).
Within the encrypted file (116), information about the firmware and the
target microcontroller (104) is included. The distributed firmware file
(116) is stored on a portable device, such as a PDA, that can communicate
with the target microcontroller (104) to effect a firmware transfer from
the PDA (112) to the microcontroller (104). The microcontroller (104)
includes a programming routine that receives the encrypted data stream
from the PDA and decrypts the data before storing the new firmware image.
The programming routine also identifies when updating the firmware has
left the firmware in an unusable condition and prevents operation of the
microcontroller until the firmware is restored. Accordingly, the security
of the firmware is maintained throughout the distribution and upgrade
process and the integrity of the upgrade process is maintained as well.