Unlocking C++ Embedded Development: A Complete Guide to HAL Design

Unlocking C++ Embedded Development: A Complete Guide to HAL Design

I. The “Unsung Hero” in Embedded Development – HAL In the vast realm of embedded development, there is a crucial role that often remains “behind the scenes” – the Hardware Abstraction Layer (HAL). It serves as a bridge connecting upper-level software applications with a diverse range of underlying hardware devices. For C++ embedded developers, a … Read more

Optimizing Program Size in Embedded C/C++ Development: Structure Optimization

Optimizing Program Size in Embedded C/C++ Development: Structure Optimization

Optimizing Program Size in Embedded C/C++ Development: Structure Optimization In <span>C</span> and <span>C++</span> programming, the memory layout of structures (<span>struct</span>) has a significant impact on program performance and memory usage, especially in embedded development where <span>RAM</span> is limited to <span>16K</span>, <span>8K</span>, or even <span>4K</span>; every byte counts, and there is no room for waste. This … Read more

Unlocking C++ Embedded Development: A Complete Guide to Driver Programming

Unlocking C++ Embedded Development: A Complete Guide to Driver Programming

Embedded Systems: The “Invisible Heroes” Around Us In today’s digital age, embedded systems are like “behind-the-scenes heroes,” quietly yet omnipresently integrated into our daily lives. When you are gently awakened by a smart alarm clock in the morning, it is the embedded system running in an orderly manner behind its precise timing function; stepping into … Read more

Efficient C++ Embedded Development on Resource-Constrained Devices

Efficient C++ Embedded Development on Resource-Constrained Devices

C++ Embedded Development: Achieving Efficient Programs on Resource-Constrained Devices Hey, friends, I am Xiaohui. Today, let’s talk about how to utilize some features of C++ in embedded development to ensure programs run efficiently on resource-constrained devices. Embedded devices have limited memory and weak processors, which means we need to make every resource count. Don’t worry, … Read more

The Role of C++ in Embedded Systems

The Role of C++ in Embedded Systems

Embedded systems, simply put, are computer systems embedded in various devices and machines, responsible for controlling and managing the operation of these devices. They are present in many aspects of daily life, from smartphones to cars, from home appliances to industrial equipment, almost everywhere. So, why are embedded systems so important? They often require efficient … Read more

Quick Start Guide to Makefile

Quick Start Guide to Makefile

1. Quick Start Guide to Makefile The goal of this article is to help you write simple Makefiles and understand common Makefiles. Make is an old build tool, which is incredible in today’s rapidly evolving technology landscape. Make plays a significant role in large software projects. I first encountered it while learning the Linux kernel, … Read more

Optimizing Development Experience with Keil and VSCode

Optimizing Development Experience with Keil and VSCode

Click the blue text to follow us for great content Keil+VSCode Optimizing Development Experience Keil has strong development and debugging capabilities, but the code editing experience is poor. Many developers prefer to useKeil for compiling, debugging, and downloading, and useVSCode for code editing. 1)Install VSCode Download from the official website and, just install it directly. … Read more

C++ LED Blinking Program Using Keil and STM32

C++ LED Blinking Program Using Keil and STM32

Follow+Star Public Account, Stay Tuned for Exciting Content Author | strongerHuang WeChat Public Account | Embedded Column Generally speaking, programming on microcontrollers is done using either assembly or C language, while development with C++ is rare. So, can we use C++ for microcontroller development? The answer is definitely yes. Below, I will discuss some details … Read more

Important Content and Differences of Keil MDK Compiler AC5 and AC6 Optimization Options

Important Content and Differences of Keil MDK Compiler AC5 and AC6 Optimization Options

Follow,Star Public Number, don’t miss wonderful content Organizer: Engineer Huang Reference Source: Arm Official Website Readers who have used the Keil MDK (Arm Compiler 6) version V6 should have noticed that the compilation speed of V6 is much faster than that of V5. (Note: It is the V6 version compiler, not the V6 version MDK) … Read more

The Art of Error Handling and Exception Management in C++ Device Driver Development

The Art of Error Handling and Exception Management in C++ Device Driver Development

1. Driver Development: Errors Shadow Us In the field of C++ device driver development, error handling and exception management are like a hidden “shadow” that constantly affects the quality and stability of the driver program. When we eagerly expect the device to run smoothly, but encounter issues like the device not being recognized or data … Read more