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

Implementing CAN Bus Communication Protocol in Embedded C

Implementing CAN Bus Communication Protocol in Embedded C

For training, consulting, or project development, please contact 【Thought】 Readers of this public account must be familiar with the CAN communication protocol. Have you ever wondered how these signals are implemented in the communication protocol within the Electronic Control Unit (ECU) when collecting CAN bus signals and analyzing data? This content introduces how to implement … Read more

Implementation of Communication Protocols in Industrial Automation Using C

Implementation of Communication Protocols in Industrial Automation Using C

Implementation of Communication Protocols in Industrial Automation Using C Introduction With the development of industrial automation, the demand for communication between various devices, sensors, and control units is increasing. In this context, communication protocols have become an essential foundation for data exchange among different systems. The C language, with its efficiency and low-level characteristics, is … 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

General Makefile Application Guide for Advanced Embedded Programming

General Makefile Application Guide for Advanced Embedded Programming

Introduction For development on Windows, many IDEs integrate compilers, such as Visual Studio, providing a “one-click compile” feature, allowing the user to compile, link, and generate target files with just one operation after coding. Linux development differs from Windows; the gcc/g++ compiler is generally used in Linux. If developing Linux programs for ARM, the arm-linux-gcc/arm-linux-g++ … Read more

Using Makefile for Simulation Process

Using Makefile for Simulation Process

Generally speaking, a makefile is a file that defines one or more execution rules and methods and is executed by the make command. This section will provide a simple and direct explanation of makefile and illustrate its application in the IC design simulation process. Makefile Definition The rules for writing a makefile are as follows: … Read more

Understanding Makefile, Kconfig, and .config in Linux Kernel

Understanding Makefile, Kconfig, and .config in Linux Kernel

When compiling the Linux kernel, we often execute some commands in the top-level directory of the Linux kernel. Taking RK3288 as an example, commands include: make firefly-rk3288-linux_defconfig, make menuconfig, make firefly-rk3288.img, make zImage, etc. Without delving into the specific meanings yet, I would like to raise a few questions. (1) The Linux kernel is so … Read more

C Compilation Makefile

C Compilation Makefile

Public awareness of information security, enlightenment of information security knowledge. Add WeChat group reply to public account: WeChat group; QQ group: 16004488 Joining the WeChat group or QQ group can get: Learning Tutorial When compiling a large project, there are often many target files, library files, header files, and the final executable file. There are … Read more

Understanding the Relationship Between Makefile, Kconfig, and .config in Linux Kernel

Understanding the Relationship Between Makefile, Kconfig, and .config in Linux Kernel

Source: Baiwen Technology ❞The Linux kernel source code files are numerous, and it’s hard to understand the relationship between Makefile, Kconfig, and .config. Without understanding the kernel compilation system, it can be difficult to compile and modify the kernel, integrate your own drivers, or configure the kernel. These issues are all related to Makefile, Kconfig, … Read more

The ‘Bridge’ Between Linux Devices and Drivers | Bus

The 'Bridge' Between Linux Devices and Drivers | Bus

1. Introduction In the Linux device driver model, a bus is an abstract concept, a special type of device. In the implementation of the device model, the kernel specifies that each device in the system must be connected to a bus, which can be an internal Bus, a virtual Bus, or a Platform bus. The … Read more