Overview and Summary of ARMv8-M TrustZone

Overview and Summary of ARMv8-M TrustZone

01 Introduction First, let’s take a look at a software architecture diagram: 1.1 Introduction to ARMv8-M TrustZone The concept of TrustZone technology is not new. This technology has been used in Arm Cortex-A series processors for many years and has now expanded to cover Armv8-M processors. At a high level, the concept of TrustZone technology … Read more

How ARM Addresses Challenges in IoT Devices

How ARM Addresses Challenges in IoT Devices

ARM’s strategies to address the challenges of IoT devices are primarily reflected in the following aspects: 1. Low Power Design: ARM processors are highly efficient, making them particularly suitable for battery-powered IoT devices. By optimizing architecture and manufacturing processes, ARM can significantly reduce power consumption while maintaining performance, thereby extending the device’s lifespan. 2. Security: … Read more

Exploring The Three Pillars Of Cortex-M Security

Exploring The Three Pillars Of Cortex-M Security

Hello everyone, I am Pi Zi Heng, a genuine tech enthusiast. Today, I will introduce the ARM Cortex-M functional modules, focusing on three processors with security features. The ARM Cortex-M processor family has evolved over 8 generations by 2020. In addition to the previously discussed CM0/CM0+, CM1, CM3, CM4, and CM7 in the article “Differences … Read more

Understanding Cortex-M23/33: A Clear and Simple Guide

Understanding Cortex-M23/33: A Clear and Simple Guide

【A Word Before We Start】 Since Arm released the two new processors Cortex-M23 and Cortex-M33 based on the Armv8-M architecture in October 2016, more than 3 years have passed, and the microcontroller products based on these two processors have just begun to emerge in the market. Many of you who have just become familiar with … Read more

Revolutionizing Embedded Application Development with Rust

Revolutionizing Embedded Application Development with Rust

The field of embedded development has always faced challenges regarding code security, efficiency, and resource management. Traditional embedded development models often require developers to directly manipulate hardware registers, leading to complex and error-prone code with high maintenance costs. To address these issues, Embassy was born, combining the advantages of the Rust language with asynchronous programming … Read more

Mastering ESP32-C3: A Practical Guide to Embedded Development with Rust

Mastering ESP32-C3: A Practical Guide to Embedded Development with Rust

std-training project is an embedded Rust development learning resource for the ESP32-C3 microcontroller, aimed at helping developers quickly master the skills of developing for ESP32-C3 using the Rust language. This project is provided by Espressif and includes a complete eBook, a series of example programs from basic to advanced, and some commonly used tool libraries, … Read more

RPPAL: An Excellent Embedded Rust Development Library for Raspberry Pi

RPPAL: An Excellent Embedded Rust Development Library for Raspberry Pi

RPPAL is a powerful library that provides a user-friendly interface for Raspberry Pi, allowing you to easily access peripherals such as GPIO, I2C, PWM, SPI, and UART. It not only enables you to control these peripherals effortlessly but also supports USB-to-serial adapters, allowing for more interesting development on the Raspberry Pi. The Core Advantages of … Read more

Running Rust Programs on Arduino Uno: A Comprehensive Guide

Running Rust Programs on Arduino Uno: A Comprehensive Guide

Running Rust Programs on <span>Arduino Uno</span> A long time ago, to run Rust on Arduino, you had to install a specially modified Rust compiler that supports AVR: rust-avr. A month ago, rust-avr has been merged into the Rust master branch, which means you can play with Arduino under Nightly now. It also includes a new … Read more

Rust Support in OpenWRT: A Comprehensive Guide

Rust Support in OpenWRT: A Comprehensive Guide

Prepare the environment: Install the source package and xargo. rustup add component rust-src cargo install xargo Specify the OpenWRT gcc environment: Copy the toolchain to the designated directory, or leave it in the source directory, and edit the specified toolchain’s bin directory in the bash script ~/.bashrc for xargo to use. Edit build.rs to specify … Read more

Understanding ARM TrustZone Architecture for Enhanced Security

Understanding ARM TrustZone Architecture for Enhanced Security

Official Block Diagram 1. ARMv7 2. ARMv8 (1) aarch32 (2) aarch64 (3) Summary of arch32 and aarch64 (4) Understanding with Code 3. Cortex-A9 architecture 1. ARMv7 2. ARMv8 (1) aarch32 (2) aarch64 (3) Summary of arch32 and aarch64 Understanding aarch32 and aarch64 under armv7: If both secureos and monitor are 64-bit, secureos runs at el1, … Read more