Design and Implementation of SACP Protocol for Multi-Device Embedded Communication

Design and Implementation of SACP Protocol for Multi-Device Embedded Communication

Click on the above “Embedded Application Research Institute” and select “Pin/Star the Official Account“ Practical benefits delivered first-hand! Source Material | GitHub Compiled & Formatted | Embedded Application Research Institute The SACP (Snapmaker Advanced Communication Protocol) is the data communication protocol for Snapmaker devices, used for data transmission between the Controller, PC (Host), and HMI … Read more

Embedded C/C++ Interview Notes – A Collection from Major Companies

Embedded C/C++ Interview Notes - A Collection from Major Companies

Comprehensive Notes on Embedded Programming Interviews Compilation of programming-related questions encountered during real job applications at major companies. 2 0 2 5 Based on my personal experiences during embedded interviews at various major companies (including top-tier companies), I am sharing my genuine interview notes for free. I hope everyone pays more attention to programming details. … Read more

Cross-Compiling C and C++ with CMake

Cross-Compiling C and C++ with CMake

Embedded development, especially in SOA (Service Oriented Architecture), often encounters a scenario where part of the business functionality is developed in C and is relatively mature, and there is a desire to reuse it directly. However, the underlying services obtained by the business layer are written in C++. If both need to be placed in … Read more

CMake Practical Tutorial (Part 2)

CMake Practical Tutorial (Part 2)

Introduction From the previous article, I believe everyone has understood what CMake is, but it’s not something you can master just by looking at it; you need to practice in order to learn it. If you have already practiced, you will realize how difficult it is to use the content from the last article in … Read more

CMake Module Detailed Explanation: Mastering Usage and Custom Modules

CMake Module Detailed Explanation: Mastering Usage and Custom Modules

1. Introduction This article will focus on the usage of system-defined Find modules and how to write your own Find modules. The system provides various other modules, which generally need to be explicitly called using the INCLUDE directive. The FIND_PACKAGE directive is a special case that can directly invoke predefined modules. In fact, managing a … Read more

Differences Between GCC and G++: A Comprehensive Guide

Differences Between GCC and G++: A Comprehensive Guide

GCC (GNU Compiler Collection) and G++ are both compilers developed by GNU, but they have some functional differences. Although they belong to the same toolset, the main difference lies in the programming languages they support and how they handle the compilation of source code. Here is a detailed introduction and comparison of GCC and G++. … Read more

The Secrets of GCC/MSVC Search Paths

The Secrets of GCC/MSVC Search Paths

If this article helps you, feel free to follow Programmer Xiao Mi . Wishing you progress in your programming journey! Different paths may contain the same header files, and the search rules for header files also have their own regulations. Library files similarly have search path issues. GCC Header Files When compiling C code with … Read more

Should You Start Programming with Assembly Language?

Should You Start Programming with Assembly Language?

As a programmer, what was the first programming language you encountered and learned? According to the “2021-2022 China Developer Survey Report,” the long-established assembly language is the most disliked programming language among programmers (37%), followed by C++ (17%) and C (16%). As a machine-oriented programming language, assembly language is indeed very precise, but it is … Read more

Why Does C Language Need Stack for Function Calls While Assembly Language Does Not?

Why Does C Language Need Stack for Function Calls While Assembly Language Does Not?

Recently, I have seen many analyses about uboot, and to run C language, it is necessary to prepare the stack. In the Uboot’s start.S assembly code, regarding system initialization, I also saw the action of initializing the stack pointer. However, I have only seen people say that system initialization requires initializing the stack, that is, … Read more

Applications of Assembly Language

Applications of Assembly Language

In the early days of programming, most applications were partially or entirely written in assembly language. They had to adapt to small memory and run efficiently on slow processors. As memory capacity increased and processor speeds rapidly improved, programs became increasingly complex. Programmers also turned to high-level languages such as C, FORTRAN, COBOL, which offered … Read more