embedded-hal: An Abstraction Interface for Efficient Hardware Interaction in Embedded Systems

embedded-hal: An Abstraction Interface for Efficient Hardware Interaction in Embedded Systems

In today’s embedded system development, fast and efficient interaction with hardware is a fundamental requirement. To address this, there is an important project in the Rust ecosystem – embedded-hal. This article will provide a detailed introduction to the background, uses, and how to apply it in practical development. What is embedded-hal? embedded-hal (Hardware Abstraction Layer) … Read more

What to Consider When Using Embedded Open Source Code?

What to Consider When Using Embedded Open Source Code?

I am Lao Wen, an embedded engineer who loves learning.Follow me, and let’s become better together!Embedded software engineers can generally find corresponding information online when implementing certain product features, and by modifying existing resources, they can achieve the basic functionality.This is perhaps the power of open source, which helps many developers quickly integrate existing software … Read more

C++ Software Design: Design Patterns – 6. Liskov Substitution Principle

C++ Software Design: Design Patterns - 6. Liskov Substitution Principle

Original Book Cover: Guideline 6: Adhere to the Expected Behavior of Abstractions (Guideline 6: Follow the Expected Behavior of Abstractions) Reading Notes: 1. Explanation • Good abstract design should not establish inheritance relationships solely based on “what it is” but should judge based on “whether the behavior is consistent”. Subclasses must be able to seamlessly … Read more

Why ‘Soft-Hardware Collaboration’ is the Future of PLCs?

Why 'Soft-Hardware Collaboration' is the Future of PLCs?

In the modern industrial automation field, Soft PLCs act like a flexible “digital nerve,” closely connecting the “muscle” (hardware devices) of traditional machinery with the intelligent “brain” (software algorithms), endowing production lines with more agile execution capabilities and smarter decision-making abilities. Traditional PLCs excel in achieving stable and efficient standardized processes, making them ideal for … Read more

Implementing Embedded Programming on ESP32 Using Rust

Implementing Embedded Programming on ESP32 Using Rust

With the rapid development of the Internet of Things and embedded systems, developers are increasingly demanding efficient and reliable programming interfaces. The Rust programming language, known for its excellent memory safety and concurrency performance, is gaining more attention in the embedded development field. The esp-hal project is a perfect example of the combination of Rust … Read more

From Smartwatches to Intelligent Driving Cockpits: Embedded Operating Systems

From Smartwatches to Intelligent Driving Cockpits: Embedded Operating Systems

Hello everyone, I am Architect Xiao En, here to explain the knowledge for the senior architect and system analyst examination in a fun way. Today, we will talk about the special forces — Embedded Operating Systems. If general-purpose operating systems (like Windows and Linux) are likened to “all-round warriors”, then embedded operating systems are like … Read more

Understanding Java’s Programming Mindset Compared to C++

Understanding Java's Programming Mindset Compared to C++

As I have worked as a teaching assistant for C++, I hoped to start learning Java by comparing it with C++. At first glance, Java code does indeed look very similar to C++. But this is just a surface similarity. The primary and most important reminder is: Despite the similar syntax, C++ and Java are … Read more

Embedded Software Design: A Colleague Claims to be a C Language Programming Expert

Embedded Software Design: A Colleague Claims to be a C Language Programming Expert

I am Lao Wen, an embedded engineer who loves learning.Follow me to become even better together! I remember when I first started working, a master told me that if you are not familiar with longjmp and setjmp, you should not call yourself a C language expert. At that time, I was half-convinced, but to move … Read more

Universal Interface Technology in Embedded Software Development: Design, Implementation, and Practice

Universal Interface Technology in Embedded Software Development: Design, Implementation, and Practice

In embedded system development, universal interface technology is a core means to achieve module decoupling, hardware abstraction, and cross-platform compatibility. By defining standardized functions, data structures, and interaction protocols, it enables seamless collaboration among different modules (such as sensors, peripherals, communication components), hardware platforms (such as STM32, PIC, ARM Cortex-M series), and software versions. This … Read more

Insights on Embedded Software Design

Insights on Embedded Software Design

I remember when I first started working, a senior developer told me that if you are not familiar with longjmp and setjmp, you shouldn’t call yourself a C language expert. At that time, I was skeptical, but to advance my skills, I spent some time learning how to use longjmp and setjmp. Later, I realized … Read more