System Practice Learning ARMv8 Assembly – Course 2

System Practice Learning ARMv8 Assembly - Course 2

Course 2: Stage 1 – Basic Preparation (Week 2) Topic: Detailed Explanation of ARMv8 Registers and Instruction Set, Bare-Metal Programming Practice 2.1 In-Depth Analysis of Registers Classification of ARMv8 Registers: General Purpose Registers (31): <span>X0</span>: Function Argument 1 / Return Value. <span>X1-X7</span>: Function Arguments 2-8. <span>X8</span>: System Call Number. <span>X29</span>: Frame Pointer (FP). <span>X30</span>: Link … Read more

System Practice Learning ARMv8 Assembly – Course 1

System Practice Learning ARMv8 Assembly - Course 1

Course 1: Stage 1 – Basic Preparation (Week 1) Topic: Bare-metal program development, PL011 UART communication, ARMv8 boot process 1.1 Basics of Bare-metal Programming Core Concepts: Bare-metal Program: Runs directly on hardware without operating system support. Boot Process: The CPU starts executing instructions from the reset address (usually <span>0x0</span> or <span>0x8000</span>). Hardware (such as memory … Read more

Introduction to ARM Bare-Metal Programming and Embedded Systems

Introduction to ARM Bare-Metal Programming and Embedded Systems

Introduction to ARM Bare-Metal Programming and Embedded Systems Getting Started with ARM Bare-Metal Programming: From Zero to Embedded Development Hello everyone, I’m Daodao. Today, let’s talk about ARM bare-metal development. Many beginners feel overwhelmed when they see ARM, thinking it’s particularly difficult. In fact, it’s not; once you grasp the essentials, writing a simple LED … Read more

Getting Started: Bare-Metal Programming on ARM Cortex-M Microcontrollers

Getting Started: Bare-Metal Programming on ARM Cortex-M Microcontrollers

Getting Started: Bare-Metal Programming on ARM Cortex-M Microcontrollers Bare-metal programming typically refers to the process of writing programs to control hardware devices directly without an operating system. For embedded system developers, this is a fundamental and important skill. Today, I will guide you through how to implement bare-metal programming on ARM Cortex-M series microcontrollers. Starting … 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

Precise Delay Method in Cortex-M Kernel (ns Level)

This article introduces a precise delay method in the Cortex-M kernel. Introduction Why learn this delay method? Many times when we run an operating system, we generally occupy a hardware timer – SysTick, and the clock tick of our operating system is generally set to 100-1000HZ, which means an interrupt occurs every 1ms – 10ms. … Read more

Master These Debugging Techniques in Android Studio

Master These Debugging Techniques in Android Studio

Reply 1024, randomly give you beautiful wallpapers Debugging breakpoints tracking is an important means of analyzing code and solving bugs during software development. The use of debugging tools varies across different IDEs, but the debugging features provided are certainly comprehensive. Many programmers’ debugging abilities are limited to basic step execution and breakpoint jumping, unaware that … Read more

Top Open Source Embedded Projects You Should Explore

Top Open Source Embedded Projects You Should Explore

From time to time, friends ask: Where can I find good embedded projects? How can I improve my programming skills? Are there any practical projects to share? Today, I will take some time to organize some open source projects that I think are quite good, hoping to help everyone. Awesome Embedded Open Source Address: https://github.com/nhivp/Awesome-Embedded … Read more

Common Architectures in Embedded Software Development

Common Architectures in Embedded Software Development

Select “GuaGua Little Master” at the top, choose “Pin/Star Public Account“ Useful content delivered promptly! Summary: For microcontroller programs, everyone is familiar, but not many truly consider the architecture. With the continuous increase in program development, architecture is very necessary. There are roughly three architectures for applications: 1. Simple front and back sequential execution program, … Read more

Bootloader Development Guide: Designing a Stable Boot Program for Embedded Systems

Bootloader Development Guide: Designing a Stable Boot Program for Embedded Systems

1. Basic Concepts In embedded operating systems, BootLoader runs before the operating system kernel and is the first piece of code executed after the system is powered on. It initializes hardware devices, establishes a memory space mapping, and configures the system’s software/hardware environment to an appropriate state to prepare the environment for the operating system … Read more