has parts in production is Microchip
Technology.
There have been announcements
from other processor manufacturers
such as Nuvoton that parts are
coming. We can expect over the
next 12 months to see a dramatic
increase in the number of Armv8-M
parts, including those that support
TrustZone.
Microchip has produced two main
versions of the Armv8-M architecture
in their SAML10 and SAML11 family
of parts. The SAML10 version does
NOT include TrustZone, while the
SAML11 parts do. Figure 3 shows
all the variants for the SAML10 and
SAML11 parts that are currently in
production and available. The main
differences between the variants is
the availability of RAM, flash, pins and
peripherals, which is what we expect
when selecting a microcontroller.
For developers that are looking to
get started with Armv8-M, there
are two development kits to choose
from. The Microchip SAML10
Xplained evaluation board includes
the SAM L10E14A microcontroller
which includes 16 Kbytes of flash,
2 Kbytes of data flash memory, 4
Kbytes SRAM, and comes in a 32-
pin package. The Microchip SAML11
Xplained Evaluation Board includes
the SAM L11E16A microcontroller
which includes 64 Kbytes of flash,
2 Kbytes of data flash memory, 16
Kbytes SRAM and also comes in a
32-pin package. The development
boards are identical minus the fact
that the processors are different.
The Xplained board can be seen in
Figure 4.
How TrustZone
applications work
Developers working with TrustZone
will discover that the way in which an
embedded application is developed is
going to dramatically change. First,
developers need to separate out their
applications spaces to determine
what code and libraries belong in the
secure state and which belong in the
non-secure state.
Once this is determined, a developer
creates two different software
applications; one for the secure code
and one for the non-secure code.
This can be done very easily using a
compiler/IDE like Keil MDK. What a
developer essentially ends up with is
a multi-project workspace where one
project is the secure code and the other
is the non-secure code (Figure 5).
When a TrustZone application
starts, the code begins executing
in the secure state. This allows a
developer to immediately establish
a root of trust from which the rest
of the application can execute. Once
Figure 3:
The Microchip SAML10 and SAML11 microcontroller variants. Only
the SAML11 parts include Arm TrustZone. (Image source: Microchip Technology)
Figure 4:
The Microchip SAML10/L11 development board is based on the Armv8
architecture. The SAML11 version supports TrustZone (Image source: Keil)
42 l New-Tech Magazine Europe