Booting from known trusted code is a prerequisite for the secure operation of embedded systems. If the initial hardware and boot code can be trusted, then this trust can be extended to code loaded and executed later by using cryptographic techniques, such as digital code signing. Many embedded processor chips do not have full support for authenticating the initial boot code they load and run. In this case, trust is harder to achieve, but with the help of an external root-of-trust device the assurance level can be raised significantly. Flash FPGAs are a good candidate to supply this root of trust because of their unique combination of security features, on-chip flash memory, extensive I/O, and performance.