Developing a product today without taking security into account is foolhardy. Nearly every device being developed today is in some way connected, which means there is an avenue for attacking the system. There are several different architectures that developers can leverage when developing a secure system. One that has emerged in recent years starting with the ArmV8-M architecture is TrustZone®. In this post, I’ll discuss three microcontroller-based development boards that use TrustZone and are great for developers who are getting started in security applications.
TrustZone Development Board #1 – STM32L562 Discovery Kit
The STM32L562 Discovery Kit is a great development board for getting started with TrustZone. At the moment, this is my go-to development board when I’m prototyping a TrustZone application. The development board is built around an Arm Cortex-M33 microcontroller running at 110 MHz. The processor also has 512 Kbytes of flash and 256 Kbytes of SRAM. This is plenty of memory for a lot of embedded applications, but an additional 512 Mbit memory chip is provided through SPI.
The Discovery Kit also has plenty of devices on-board to use in a security application. It includes Bluetooth, an accelerometer, a 3D gyroscope, an audio CODEC, microphone and more. Perhaps most importantly, the development board easily integrates into the STM32 ecosystem which includes the tools necessary to partition security zones. There’s a lot of good information that developers can find on the STM32Trust website and the STM32L562 website.
TrustZone Development Board #2 – Microchip SAML11 XPlained
The Microchip SAM L11 Xplained Kit is another development board for getting started with TrustZone. This board was one of the first available that supported TrustZone, although developers should be warned, it does not have a secure arbitration unit (SAU)! Microchip decided to go with a proprietary solution which makes setting up TrustZones a little bit different on these parts. That said, it is still a great way to learn about the technology.
The development board is built around an Arm Cortex-M23 microcontroller running at 32 MHz. The processor also has 64 Kbytes of flash and 16 Kbytes of SRAM. This is a bit more resource constrained than the STM32 board, but the Cortex-M23 is designed for more resource constrained applications.
The Xplained board is relatively light on any sensors or things to interface to. If you’re interested in running any of the Microchip demos and really diving in, you’ll also need to get an Xplained sensor board as well.
TrustZone Development Board #3 – NXP
The NXP LPCXpresso55S69 Development Board is another development board for getting started with TrustZone. This board fits within the MCUXpresso development ecosystem.
The development board is built around an Arm Cortex-M33 microcontroller running at 150 MHz. The processor also has 640 Kbytes of flash and 320 Kbytes of SRAM. The development board has an on-board audio codec, accelerometer, indicators, and several expansion ports which makes adding custom sensors relatively painless.
In this post, we’ve just explored several development boards that can be used to get started with Arm TrustZone. These are by no means an extensive list. TrustZone has found its way into many microcontroller families. It’s a critical tool that helps developers create hardware-based isolation in their applications. If you are looking at developing a secure embedded application, this is one technology worth investigating.