Understanding Yocto Project Layers: A Modular Approach to Embedded System Development

Understanding Yocto Project Layers: A Modular Approach to Embedded System Development

In the field of embedded systems, flexibility and modularity are key to efficiently managing complex projects. The Yocto Project is a powerful build system for creating custom Linux distributions, embodying this concept through its layered mechanism. These layers are essentially a set of repositories containing the instructions and metadata required to build specific target images. … Read more

How to Write a Makefile? From Beginner to Expert, All in One Article!

As a programmer, you must have encountered situations where you have to input a long string of commands every time you compile a project. Different files require different compilation options, and even a slight change means retyping the command… If you are troubled by these issues, then Makefile is your savior! What is a Makefile? … Read more

The Mystery of STM32CubeIDE Debugging “Failure”: Don’t Touch That Crucial Checkbox!

The Mystery of STM32CubeIDE Debugging "Failure": Don't Touch That Crucial Checkbox!

The Mystery of STM32CubeIDE Debugging “Failure”: Don’t Touch That Crucial Checkbox! Introduction: The Confusing “Silence” Have you ever encountered a situation where you modified a few lines of code in STM32CubeIDE, confidently clicked the “Debug” button, ready to observe the program’s execution, only to find… nothing happened? No error messages, no log updates, the debugging … Read more

C++ Program Build Process: Preprocessing → Compilation → Assembly → Linking Stages and Comparison of Toolchains on Windows, macOS, and Linux

C++ Program Build Process: Preprocessing → Compilation → Assembly → Linking Stages and Comparison of Toolchains on Windows, macOS, and Linux

In the C++ program build process, there are four stages: Preprocessing → Compilation → Assembly → Linking. The toolchains invoked behind the scenes vary slightly across different platforms. Below is a comparison table listing common tools in the mainstream environments of Windows / macOS / Linux: 📑 C++ Build Process Tool Comparison Stage Windows (MSVC) … Read more

Struggling to Find Paths with CMake? The Find Family Commands Make It Easy!

Struggling to Find Paths with CMake? The Find Family Commands Make It Easy!

Click the blue text to follow the author 1. Introduction In complex software projects, dependency management is one of the core challenges during the build process. When we use CMake to build projects, we often need to introduce external libraries, header files, executables, or configuration files. Manually specifying the paths for these external dependencies can … Read more

Makefile Basics + Practical Application: A One-Stop Guide to Automated Builds

Makefile Basics + Practical Application: A One-Stop Guide to Automated Builds

In a makefile, we can generate specified target files from our source code based on a series of rules defined in the makefile. This helps us automate various operations such as compiling and packaging programs. 1 Basic Principles of Makefile: Any version of the shell will include the make command. When we execute the make … Read more

OpenWrt Compilation Command Record

OpenWrt Compilation Command Record

cp ipq60xx-all.config .config make defconfig make menuconfig # Enter the graphical configuration interface Save and exit: After configuration is complete, press <Esc> until you exit the configuration interface. The system will prompt to save the configuration, choose to save. make oldconfig # Generate configuration based on existing configuration # This method updates and applies your … Read more

Detailed Guide to Customizing OpenWrt Firmware: Modifying Default Parameters and Adding Applications

Detailed Guide to Customizing OpenWrt Firmware: Modifying Default Parameters and Adding Applications

• This article uses the friendlywrt22-rk3568 distribution as an example to explain how to customize an OpenWrt firmware. The customization features include modifying network parameters, login passwords, boot interface (banner), proxy ARP, opkg sources, hostname, default application configuration parameters, adding arbitrary files (not limited to applications and their libraries), etc. Finally, a complete practical example … Read more

Understanding Makefile

Understanding Makefile

Understanding Makefile Recently, I have been looking at some content related to network programming, where the project directory and the contents of the <span>makefile</span> are as follows: server: g++ server.cpp -o server && g++ client.cpp -o client Since I did not understand the meaning of this, I was wondering why the <span>server</span> is needed. I … Read more

How to Solve 90% of Build Problems with CMake Using Conditions and Loops?

How to Solve 90% of Build Problems with CMake Using Conditions and Loops?

Click the blue textFollow the author 1. Introduction So far, the CMake examples we have encountered follow a straightforward process: starting from a series of source files, ultimately building into a single executable program or generating static/dynamic libraries. This linear process is simple and easy to understand, but often proves inadequate in more complex projects. … Read more