Comprehensive Guide to ARM Cortex-M0 System Registers

Comprehensive Guide to ARM Cortex-M0 System Registers

Hello everyone, I am the blue fish tail, and this is Fish World Talk. Recently, I have been reading the book “Authoritative Guide to ARM Cortex-M0” translated by Wu Changyu and Wei Jun, and I want to have a more systematic understanding of the MCU at the core level. Because my usual work mostly stays … Read more

Essential Tools and Equipment for Embedded Development

Essential Tools and Equipment for Embedded Development

For technology enthusiasts aspiring to enter the field of embedded development, understanding and preparing the relevant tools and equipment is an important first step in embarking on this journey. This article will provide a detailed introduction to the essential tools and equipment in the process of embedded development. 01 Development Tools 1. Development Boards Development … Read more

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