Learning Linux Development for ARM64 Architecture Using QEMU

Learning Linux Development for ARM64 Architecture Using QEMU

1. Installing QEMU QEMU has been around for a long time, and I never thought about what its full name is. Today, while writing this article, I looked it up, and the full name should be quick emulator. QEMU (quick emulator) is a free and open-source virtual machine (VMM) for hardware virtualization, written by Fabrice … Read more

Raspberry Pi 4 Bare-Metal Basics: Starting from Hello World

Raspberry Pi 4 Bare-Metal Basics: Starting from Hello World

Raspberry Pi 4 Bare-Metal Basics: Starting from Hello World 1. Introduction 2. Project Overview 2.1 Makefile 2.2 link.ld Linker File 3. Understanding Code Execution from the CPU Perspective 3.1 start.S File 3.2 Functionality of the main Function 4. Raspberry Pi 4 Serial Peripheral Program 4.1 Setting GPIO Functionality 4.2 Configuring the Serial Controller 5. Conclusion … Read more

Getting Started with FreeRTOS for Embedded Development

Getting Started with FreeRTOS for Embedded Development

Typically, microcontrollers are developed in a bare-metal mode, where a single while loop runs indefinitely. However, when there are multiple tasks to manage that need to switch back and forth rather than executing in a serial mode, an operating system must be assigned to the microcontroller. Common operating systems used for microcontrollers include UCOS, RTX, … Read more

Understanding CPUs in Embedded Development

Understanding CPUs in Embedded Development

CPU is an important part of digital processing systems. In my view, microcontrollers, microprocessors, and DSPs can all be referred to as CPUs, with their emphasis differing. Specifically, traditional microcontrollers are more focused on embedded computing, such as the commonly used 51, AVR, and ARM chips, which not only contain computational and control functions but … Read more

Choosing the Right Embedded Operating System: A Guide from Fengyunlu

Choosing the Right Embedded Operating System: A Guide from Fengyunlu

When doing embedded development you need to choose a processor and also choose an operating system Are you worried? I once saw such guidance in an article Choosing a suitable embedded operating system can consider the following factors: The first is application. If the embedded device you want to develop is closely related to network … Read more

How to Create the Most Exquisite M5Pi (Open Source Code)

How to Create the Most Exquisite M5Pi (Open Source Code)

For students engaged in embedded development or those who enjoy DIY, they are often willing to tinker with various hardware and software. Today, I will share something from an embedded enthusiast – the M5Pi. What is M5Pi? M5Pi is an embedded Linux development board that I recently created and made open source. It is based … Read more

Simplifying ARM Cortex-M Microcontroller Development with pyOCD

Simplifying ARM Cortex-M Microcontroller Development with pyOCD

Simplifying ARM Cortex-M Microcontroller Development with pyOCD In embedded development, the choice of debugging and programming tools significantly impacts development efficiency. Today, I would like to introduce a powerful and easy-to-use open-source tool – pyOCD. It is specifically designed for programming and debugging ARM Cortex-M series microcontrollers, supporting multiple platforms to make the development process … Read more

Choosing the Right Embedded Development Board: A Comparison of ESP32, STM32, Raspberry Pi, and Domestic Boards

Choosing the Right Embedded Development Board: A Comparison of ESP32, STM32, Raspberry Pi, and Domestic Boards

With the rapid development of technologies such as the Internet of Things and artificial intelligence, embedded development has received increasing attention. The plethora of development boards available on the market can overwhelm many novice developers, making it difficult to choose the right board. This article provides a detailed comparative analysis of ESP32, STM32, Raspberry Pi, … Read more

Understanding the Relationship Between ARM9 and STM32

Understanding the Relationship Between ARM9 and STM32

Recently, a friend asked: What is the relationship between ARM9 and STM32? If we turn back time 10 years, ARM9 and S3C2410 were quite popular, but the “new era” ARM processors like STM32 also emerged. ARM9 is an early ARM processor, while STM32 is a more popular processor in recent years. ARM Naming Rules The … Read more

A Comprehensive Guide to gpiozero: A Raspberry Pi GPIO Control Library in Python

A Comprehensive Guide to gpiozero: A Raspberry Pi GPIO Control Library in Python

gpiozero: A Raspberry Pi GPIO Control Library in Python In the field of embedded development, the Raspberry Pi is a very popular development board. However, directly manipulating GPIO often requires handling many low-level details, which deters many developers. Until I encountered the gpiozero library, which made GPIO control so simple and elegant, it felt like … Read more