From Introduction to Practice: A Detailed Explanation of Embedded RPC Communication and .erpc File Configuration

From Introduction to Practice: A Detailed Explanation of Embedded RPC Communication and .erpc File Configuration

In embedded development, when a system needs to communicate across chips or cores, traditional methods often require handling complex low-level communication details. Today, we will introduce a lightweight RPC framework designed specifically for embedded environments—eRPC—and see how it simplifies this process. 1. What is eRPC? eRPC (Embedded Remote Procedure Call) is an open-source remote procedure … Read more

Analysis of Common Instructions in TLC Language

TLC (Target Language Compiler) serves as the core rule description language for Simulink code generation. Its common instructions cover essential scenarios such as variable operations, logical control, and code output. Below, we categorize the instructions by function and provide a detailed introduction to the format, functionality, and examples of commonly used TLC instructions in the … Read more

Rust DDD Practice: Attribute Macros Eliminate ID Value Object Boilerplate Code

Introduction: The Pain of ID Value Object Boilerplate Code and the Value of Macros In the previous article, we explored how to utilize the pattern in Domain-Driven Design (DDD) to implement Value Objects, particularly aggregate roots. We confirmed the core values brought by this pattern: strong type safety, compile-time checks, and zero-cost abstractions. However, when … Read more

Embedded Science (38) In-Depth Analysis of C Language Preprocessing X-Macros and Practical Project Code Sharing

Embedded Science (38) In-Depth Analysis of C Language Preprocessing X-Macros and Practical Project Code Sharing

1. Overview 2. References 3. Classic X-Macros Code Analysis 3.1 Classic Code 3.2 Code Structure Analysis (Four Steps to Build an Automated System) 3.2.1 Central Data Table (Single Data Source) 3.2.2 Dynamically Generate Enumerations 3.2.3 Automatically Generate String Tables 3.2.4 Function Pointer Table Automatic Mapping (Core Execution Logic) 3.3 Runtime Working Principle 4. Analysis of … Read more

How to Publish C, C++, lib, dll Files from MATLAB Functions

How to Publish C, C++, lib, dll Files from MATLAB Functions

MATLAB, as a high-performance numerical computing and visualization software, is widely used in various fields; it integrates numerical computation, symbolic computation, data visualization, and algorithm development, and is particularly suitable for matrix operations, algorithm implementation, and data analysis. This raises a question: with such outstanding computational capabilities, how can MATLAB, which easily handles complex formulas … Read more

Disasters Caused by Delay in ECU Application Layer Model Development

Disasters Caused by Delay in ECU Application Layer Model Development

This article shares a case of exhausting RAM space, which is not complicated. The root cause comes from using one hundred delays to obtain100 consecutivesensor signal values, and then performing a maximum value operation, resulting in a software compilation error indicating that the RAM space exceeds the allocated space.Without further ado, let’s directly share the … Read more

How Code Reshapes Hardware Design and How AI Accelerates Innovation

How Code Reshapes Hardware Design and How AI Accelerates Innovation

“ An interesting conversation between Sebe, the founder of TS Circuit, and Matt, the founder of Atopile, discussing how code reshapes hardware design and how AI accelerates innovation. It is worth listening to the entire conversation, which has been reshaped in Chinese for easier learning.” The following is a detailed briefing document of the podcast, … Read more

C Preprocessor: Mastering Macro Programming Techniques

C Preprocessor: Mastering Macro Programming Techniques

This article dives straight into the technical points, systematically organizing practical skills, common pitfalls, and engineering suggestions for macro programming, helping you leverage macros as productivity tools in real projects rather than as technical debt. Conclusion in One Sentence Macros are powerful text/code generation tools that operate before compilation. Prioritize type-safe alternatives (inline, _Generic, const), … Read more

CMake: Generate Source Code During Configuration

CMake: Generate Source Code During Configuration

Introduction: Code generation occurs during configuration, as CMake can detect the operating system and available libraries. Based on this information, the source code for the build can be customized. In this article, we will explore how to generate a simple source file that defines a function to report the configuration of the build system. ✦ … Read more

Overview of Basic Modules in Matlab Simulink

Overview of Basic Modules in Matlab Simulink

Simulink is a visual simulation tool in Matlab, often used for multi-domain simulation and model-based design. Simulink is highly powerful, supporting system design, simulation, automatic code generation, and continuous testing and verification of embedded systems. Today, let’s review the basic modules in Simulink and their functions. Generally speaking, the basic modules of Simulink include 9 … Read more