Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
  • Activity
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • More
  • Cancel
TrustZone for Armv8-M
  • Developer Community
  • IP Products
  • Processors
  • TrustZone for Armv8-M
  • Jump...
  • Cancel
TrustZone for Armv8-M
TrustZone for Armv8-M blog Using TrustZone on Cortex-M23 and Cortex-M33
  • Blog
  • Forum
  • Videos & Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
TrustZone for Armv8-M requires membership for participation - click to join
More blogs in TrustZone for Armv8-M
  • TrustZone for Armv8-M blog

Tags
  • Cortex-M23
  • keil_tools
  • arm trustzone
  • Cortex-M
  • Cortex-M33
  • Armv8-M
  • keil_mdk
  • webinar
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Using TrustZone on Cortex-M23 and Cortex-M33

Michelle Page-Croft
Michelle Page-Croft
November 18, 2016

ARM recently announced the first two processors using the ARMv8-M architecture, ARM Cortex-M23 and Cortex-M33. ARM TrustZone for ARMv8-M adds security features to these cores that allow applications and services to operate securely while safeguarding the secure resources from being misused, corrupted or inspected by intruders. On November 17th christopherseidl and thomasensergueix hosted a webinar explaining how to program secure and non-secure domains on a processor with TrustZone.

Missed the webinar? Don't worry, you can watch the recording here:

During the webinar there were lots of great questions asked. We wanted to share some of these with you here.

Q: What about the code compatibility, migrating from Cortex-M0+ to Cortex-M23? Or Cortex-M3/M4 to Cortex-M33?

A: Cortex-M23 is building on ARMv8-M which is a superset of the AMRv6-M architecture, so code will remain forward compatible. I would just point out, that as the new architecture improved the programmer's model of the MPU, you are very likely to have to adapt MPU management code (assuming MPU was in use). The same is valid for porting from Cortex-M3/M4 (ARMv7-M) to Cortex-M33.

Q: What kind of OS is used in the secure world?

A: Any kind of real-time operating system supporting ARMv8-M can be used. CMSIS-RTOS v2 API provides a standardized interface for RTOS running on Cortex-M23 and M33.

Q: Is RTX supporting natively secure and non-secure tasks creation?

A: The current implementation of RTX runs in the non-secure state, but can call functions from the secure state. Further revisions will allow for other use cases as well. Generally, we advise to use the RTOS in the non-secure state as this will lower the attack surface for hackers.

Q: How do you define the functions in specific address like secure or non-secure? Using SAU, I understand that we can define regions as S/NS. But while defining the C functions, how will we assign that func1 should go to secure area and the func2 or func3 should go to NS area?

A: Any function defined in the secure project will go to the secure memory, while functions from the non-secure project will be stored in the non-secure memory.

Q: Any issues using Trust Zone entry functions with C++?

A: Code written in C++ must use extern “C” linkage for any inter-state interaction.

Q: Is "ARMv8-M Architecture Reference Manual" available (even in draft state)?

A: https://developer.arm.com/products/architecture/m-profile/docs/ddi0553/latest/armv8-m-architecture-reference-manual

Q: Are Cortex-M23 and Cortex-M33 simulated in Keil MDK?

A: In MDK-Professional you can simulate your code using Fixed Virtual Platforms that model the functionality (not the cycle accuracy) of ARM Cortex-M23 and M33.

Q: Any specific built in crypto engine available?

A: there is no crypto engines built into the Cortex-M23 and Cortex-M33 processors. ARM offer crypto-engines as part of the TrustZone CryptoCell product line.

 
Anonymous
  • BrunoV
    Offline BrunoV 10 months ago

    The slides seem to be available here: https://www2.keil.com/docs/default-source/default-document-library/using_trustzone_on_arm_cortex-m23_and_cortex-m33.pdf?sfvrsn=2 

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • Deepak Kumar
    Offline Deepak Kumar over 1 year ago

    Hello Team,

    I would like to do some prototyping based on trust zone, Can u please suggest any development board based in ARM23/33 processor ? 

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • Deepak Kumar
    Offline Deepak Kumar over 1 year ago

    Can you recommended any Development board we can use for prototyping ?

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
TrustZone for Armv8-M blog
  • TrustZone for Armv8-M blog: Silicon Labs’ multiprotocol Series 2 wireless platform adds cutting-edge security

    Kobus Marneweck
    Kobus Marneweck
    Read more about Silicon Labs Arm Cortex-M33 based low-power wireless family with support for Bluetooth 5.1, Zigbee 3.0 and Thread.
    • April 25, 2019
  • TrustZone for Armv8-M blog: Anchoring TrustZone with SRAM PUF

    Marten van Hulst
    Marten van Hulst
    Let's take a look at how SRAM PUF, enabled through software, is a powerful addition to the security features offered by Arm TrustZone.
    • April 23, 2019
  • TrustZone for Armv8-M blog: STMicroelectronics enhances STM32 portfolio security with new Arm TrustZone-enabled chips

    Kobus Marneweck
    Kobus Marneweck
    The first ST product family to incorporate TrustZone technology for Arm Cortex-M processors, making possible system-wide software security and a new level of trust for embedded devices.
    • October 16, 2018