This project comprised of three parts: basic low level platform functionality, providing a secure way to verify program binary images, and finally the design and construction of debugging hardware to assist in the development of the system.

For the first part, RedHat’s RedBoot was ported to the development hardware (an AMD Élan SC520 x86 compatible microcontroller) and tested for its suitability for this project and to provide the main framework for the application.

Secondly an additional framework was added onto RedBoot to provide the capability of having signed program binary images. The Message Digest 5 (MD5) algorithm is used to create a unique fingerprint for the application and that fingerprint is signed using the RSA public key encryption system.

Finally a custom JTAG controller board was designed to provide quick programming of flash to quicken the development cycle. A Cypress AN2131S USB slave controller was used to control the peripheral and a Texas Instruments SN74LVT8980A was used as the JTAG test bus controller.