Tagged articles
101 articles
Page 1 of 2
Liangxu Linux
Liangxu Linux
May 19, 2026 · Fundamentals

Programming: Memorize or Create? Why Understanding Beats Rote Learning

The author argues that successful programming relies 70% on understanding, 20% on practice, and only 10% on memorization, emphasizing that developers should focus on grasping core concepts, building muscle memory through repeated coding, and using documentation as needed rather than trying to memorize every API.

Linuxc++embedded
0 likes · 6 min read
Programming: Memorize or Create? Why Understanding Beats Rote Learning
21CTO
21CTO
May 16, 2026 · Fundamentals

How a Graduate Turned His Cap into a Rust‑Powered Light Show

During Purdue's graduation season, computer science senior Eric Park built a detachable LED‑lit cap driven by Rust code on a Digispark ATtiny85, detailing the hardware choices, power constraints, and why he preferred Rust over Arduino for the project.

ATtiny85DIYDigispark
0 likes · 5 min read
How a Graduate Turned His Cap into a Rust‑Powered Light Show
Black & White Path
Black & White Path
May 15, 2026 · Fundamentals

Real‑Time Battery Monitoring with MAX17048 and ESP8266 via MQTT

This tutorial shows how to use a MAX17048 fuel‑gauge module with an ESP8266 (or ESP32) to read voltage, state‑of‑charge and charge‑rate of a 18650 Li‑ion cell, wire the hardware correctly, calibrate the sensor, and publish the data in real time through MQTT for remote monitoring.

Battery MonitoringESP8266IoT
0 likes · 4 min read
Real‑Time Battery Monitoring with MAX17048 and ESP8266 via MQTT
Liangxu Linux
Liangxu Linux
May 6, 2026 · Fundamentals

What’s the Ideal Learning Path for Embedded Software Development?

The article outlines a step‑by‑step learning roadmap for embedded software engineers, emphasizing the need to define goals, master C and hardware basics, understand RTOS and Linux, build hands‑on projects, develop debugging skills, and commit to continuous learning.

C ProgrammingLinuxRTOS
0 likes · 5 min read
What’s the Ideal Learning Path for Embedded Software Development?
Liangxu Linux
Liangxu Linux
Apr 30, 2026 · Industry Insights

Is the Embedded Industry Really Dead? A Reality Check

The article argues that low salaries in entry‑level embedded jobs are misleading, highlights high‑paying roles at companies like Huawei and BYD, explains how demand is shifting to new sectors such as EVs and IoT, and stresses that deep technical expertise, not superficial coding, determines long‑term value.

careerembeddedindustry trends
0 likes · 5 min read
Is the Embedded Industry Really Dead? A Reality Check
Geek Labs
Geek Labs
Apr 30, 2026 · Artificial Intelligence

Why the 14-Year-Old ccv Library Remains a Top Choice for Modern Computer Vision

The ccv library, created in 2010 and still actively maintained, offers a highly portable C‑based computer‑vision toolkit with minimal dependencies, a built‑in cache for preprocessing, a full libnnc neural‑network runtime, and easy builds via Bazel, Make, or Swift Package Manager.

C libraryComputer VisionNeural Network
0 likes · 5 min read
Why the 14-Year-Old ccv Library Remains a Top Choice for Modern Computer Vision
Liangxu Linux
Liangxu Linux
Mar 26, 2026 · Fundamentals

Master STM32 Projects: From Schematics to Stable, Maintainable Code

This guide walks through the essential steps of STM32 development—from reading schematics and configuring CubeMX to structuring code, debugging with tools like J‑Link RTT, and optimizing performance, providing practical tips to avoid common pitfalls and build reliable embedded systems.

CubeMXSTM32code architecture
0 likes · 6 min read
Master STM32 Projects: From Schematics to Stable, Maintainable Code
Linux Tech Enthusiast
Linux Tech Enthusiast
Jan 31, 2026 · Fundamentals

Essential U‑Boot Concepts and Practical Guide

This article provides a comprehensive overview of U‑Boot, covering its definition, boot stages, environment variables, command system, device‑tree usage, network and storage support, security features, debugging techniques, performance tuning, platform migration steps, and a comparison with other bootloaders, all illustrated with concrete code examples and tables.

Device TreeSecure BootU-Boot
0 likes · 20 min read
Essential U‑Boot Concepts and Practical Guide
Liangxu Linux
Liangxu Linux
Jan 27, 2026 · Fundamentals

Master STM32 GPIO: All 8 Modes Explained with Code Samples

This tutorial walks through STM32's eight GPIO operating modes—four inputs and four outputs—detailing their electrical behavior, typical use cases, configuration steps, and providing complete HAL code examples to help embedded developers choose the right mode for reliable designs.

GPIOHALHardware
0 likes · 16 min read
Master STM32 GPIO: All 8 Modes Explained with Code Samples
Liangxu Linux
Liangxu Linux
Jan 25, 2026 · Fundamentals

How to Master FreeRTOS for Real-World Projects and Interviews

This guide explains why FreeRTOS has become essential, what interviewers truly test, practical learning paths for beginners to advanced users, common pitfalls, and how to apply the RTOS effectively to solve real embedded problems.

FreeRTOSInterview PreparationLearning Path
0 likes · 8 min read
How to Master FreeRTOS for Real-World Projects and Interviews
Linux Tech Enthusiast
Linux Tech Enthusiast
Jan 17, 2026 · Fundamentals

The Most Stupid Embedded C Bug Ever: A Missing Space That Turned Code Into a Comment

The article walks through a seemingly simple C file‑creation snippet that fails on Windows because Microsoft's tmpfile() uses C:\, then reveals a hidden bug where a stray backslash in a comment and a missing space in an expression silently turn code into comments, illustrating how tiny syntax errors can break cross‑platform programs.

bugc++cross‑platform
0 likes · 7 min read
The Most Stupid Embedded C Bug Ever: A Missing Space That Turned Code Into a Comment
Liangxu Linux
Liangxu Linux
Dec 24, 2025 · Fundamentals

Mastering C Function Pointers: From Basics to Embedded Applications

This tutorial explains what function pointers are, how to declare and use them in C, and demonstrates practical embedded‑system patterns such as callbacks, state machines, command dispatch, and advanced techniques like pointer arrays and struct members, while highlighting common pitfalls.

Callbacksc++command dispatch
0 likes · 13 min read
Mastering C Function Pointers: From Basics to Embedded Applications
Liangxu Linux
Liangxu Linux
Dec 22, 2025 · Fundamentals

Mastering STM32 ADC: From Sampling to Accurate Voltage Measurement

This article explains the fundamental concepts and step‑by‑step workflow of ADC conversion in embedded systems, covering sampling, hold, quantization, encoding, and output stages, and provides detailed STM32 HAL code examples along with tips for improving accuracy.

ADCAnalog-to-DigitalMicrocontroller
0 likes · 13 min read
Mastering STM32 ADC: From Sampling to Accurate Voltage Measurement
Liangxu Linux
Liangxu Linux
Dec 7, 2025 · Fundamentals

Control RGB LEDs with an NEC Infrared Codec Module and STM32

This tutorial explains how to use the YS‑IRTM NEC infrared codec module with an STM32F103C8T6 MCU to decode remote‑control signals, map them to UART commands, and drive a three‑color LED, covering hardware wiring, protocol details, UART configuration, and full source code.

LED controlNEC protocolSTM32
0 likes · 12 min read
Control RGB LEDs with an NEC Infrared Codec Module and STM32
Liangxu Linux
Liangxu Linux
Nov 22, 2025 · Fundamentals

How to Build a Scalable Embedded Power‑Management Framework with Observer and Responsibility Chains

This article explains how AIoT‑era embedded devices evolve from simple C/assembly code to reusable, portable frameworks by applying design patterns such as the Observer pattern and a custom responsibility‑chain model for low‑power management, complete with code examples, memory‑pool handling, and test cases.

AIoTC ProgrammingDesign Patterns
0 likes · 16 min read
How to Build a Scalable Embedded Power‑Management Framework with Observer and Responsibility Chains
Liangxu Linux
Liangxu Linux
Nov 19, 2025 · Fundamentals

Dynamic Function Loading on STM32 Microcontrollers: A Practical Guide

This guide explains how to use a custom dynamic loader library on STM32 (Cortex‑M7) microcontrollers, covering project structure, installation steps, and runtime usage to load relocatable AXF files into RAM similarly to DLLs or shared objects.

Dynamic LoadingMicrocontrollerSTM32
0 likes · 7 min read
Dynamic Function Loading on STM32 Microcontrollers: A Practical Guide
Liangxu Linux
Liangxu Linux
Nov 13, 2025 · Fundamentals

Boost Embedded Performance: 10 Proven C Code Optimization Tricks

This article presents a collection of practical embedded‑system optimization techniques, covering time‑efficiency improvements such as avoiding floating‑point arithmetic and inlining functions, space‑efficiency strategies like choosing appropriate data types, using unions and flexible arrays, as well as loop unrolling, bit‑field usage, and data‑type selection to maximize performance on resource‑constrained devices.

Memory Optimizationembeddedlow‑level
0 likes · 10 min read
Boost Embedded Performance: 10 Proven C Code Optimization Tricks
Liangxu Linux
Liangxu Linux
Nov 12, 2025 · Fundamentals

Mastering Button Management in Embedded C with lwbtn: A Deep Dive

This article introduces the lightweight lwbtn library for embedded C, explains its core features, shows how to integrate it on STM32 with a complete demo, and provides an in‑depth analysis of its architecture, state‑machine processing, click detection algorithm, configuration options, and practical usage tips.

GPIOSTM32button
0 likes · 13 min read
Mastering Button Management in Embedded C with lwbtn: A Deep Dive
Liangxu Linux
Liangxu Linux
Nov 4, 2025 · Fundamentals

How to Enable and Use Cortex‑M DWT CYCCNT for Precise Cycle Counting

This guide explains the DWT tracing component in Cortex‑M processors, details the CYCCNT register’s precision and limits, and provides step‑by‑step instructions with register definitions and multiple code examples for enabling, resetting, starting, stopping, and reading the cycle counter.

CYCCNTCortex-MDWT
0 likes · 7 min read
How to Enable and Use Cortex‑M DWT CYCCNT for Precise Cycle Counting
Liangxu Linux
Liangxu Linux
Nov 4, 2025 · Fundamentals

Top Open‑Source MCU Libraries and Projects for Embedded Development

This article curates a collection of popular open‑source microcontroller projects, covering practical software modules such as MultiButton, QueueForMcu, and StateMachine, complete hardware projects like TinyGameEngine and HomeAutomation, IoT platforms, creative gadgets, and debugging tools, each with repository links, feature highlights, usage examples, and code snippets.

HardwareIoTMicrocontroller
0 likes · 13 min read
Top Open‑Source MCU Libraries and Projects for Embedded Development
Liangxu Linux
Liangxu Linux
Oct 28, 2025 · Fundamentals

8 Must‑Know Embedded Interview Questions and How to Ace Them

This article presents eight high‑frequency embedded‑system interview questions, explains the underlying concepts such as boot process, interrupt handling, stack overflow detection, struct alignment, bit‑banding, dynamic memory risks, volatile usage, and provides concise C code examples and best‑practice answers to help candidates succeed in technical interviews.

Cortex-MInterruptsc++
0 likes · 8 min read
8 Must‑Know Embedded Interview Questions and How to Ace Them
Liangxu Linux
Liangxu Linux
Oct 12, 2025 · Fundamentals

Mastering Strong and Weak Functions in C for Flexible Embedded Design

This article explains the concept of strong and weak functions in C, shows how to declare them with GCC and other compilers, outlines the linker selection rules, and demonstrates practical uses such as library overrides, interrupt handlers, callbacks, test stubs, plugin systems, and related pitfalls.

Linkerc++embedded
0 likes · 9 min read
Mastering Strong and Weak Functions in C for Flexible Embedded Design
Liangxu Linux
Liangxu Linux
Oct 8, 2025 · Fundamentals

Master STM32 ADC Sampling and Filtering: From Basics to Advanced Algorithms

This tutorial walks through STM32F103ZET6 ADC fundamentals, explains key parameters, demonstrates how to use the VOFA+ PC tool for data visualization, and provides step‑by‑step implementations of several filtering algorithms—including first‑order complementary, median, arithmetic average, moving average, limit‑average, and Kalman filters—complete with code examples and performance analysis.

ADCSTM32Signal Processing
0 likes · 16 min read
Master STM32 ADC Sampling and Filtering: From Basics to Advanced Algorithms
Liangxu Linux
Liangxu Linux
Oct 5, 2025 · Fundamentals

Master Layered and Time‑Slice Design for Microcontroller Projects

This article explains how to apply layered architecture and time‑slice (time‑slot) design in microcontroller programming, using a keypad‑scanning example to illustrate hardware, driver, and application layers, and shows how RTC‑based interrupts can manage multiple concurrent timers efficiently.

C ProgrammingMicrocontrollerTime Slicing
0 likes · 15 min read
Master Layered and Time‑Slice Design for Microcontroller Projects
Liangxu Linux
Liangxu Linux
Sep 28, 2025 · Fundamentals

How to Structure Embedded Software: Layered Architecture and Decoupling Patterns

This article explains how to design decoupled embedded software by using a layered architecture, event‑driven mechanisms, pipeline‑filter data flows, and dependency injection, providing concrete C code examples and practical guidelines for each technique to improve maintainability and scalability.

C ProgrammingLayered DesignSoftware Architecture
0 likes · 16 min read
How to Structure Embedded Software: Layered Architecture and Decoupling Patterns
Liangxu Linux
Liangxu Linux
Sep 27, 2025 · Fundamentals

10 Proven Strategies to Make Embedded C/C++ Code Truly Portable

This article presents twelve practical guidelines—ranging from layered design and adapter patterns to careful handling of standard functions and platform quirks—that help embedded developers write C/C++ code that can be reliably moved across different hardware and operating systems.

C++Portabilityc++
0 likes · 10 min read
10 Proven Strategies to Make Embedded C/C++ Code Truly Portable
Architecture Digest
Architecture Digest
Sep 14, 2025 · Databases

Should You Replace MySQL with SQLite? Pros, Cons, and When to Use It

This article examines SQLite’s tiny footprint and embedded nature, compares it with MySQL, outlines its advantages such as cross‑platform support and easy backup, discusses its drawbacks like poor high‑concurrency handling and lack of remote access, and advises when SQLite is a suitable choice.

SQLiteUse Casesdatabase
0 likes · 4 min read
Should You Replace MySQL with SQLite? Pros, Cons, and When to Use It
Liangxu Linux
Liangxu Linux
Aug 28, 2025 · Fundamentals

Mastering Floating‑Point Computation on Resource‑Constrained MCUs

This article explains how microcontroller units (MCUs) handle floating‑point operations, covering IEEE‑754 representation, hardware versus software FPU approaches, performance and precision challenges, and a range of optimization techniques—from hardware selection and fixed‑point tricks to compiler flags and system‑level power management.

ARMFPUFixed-Point
0 likes · 10 min read
Mastering Floating‑Point Computation on Resource‑Constrained MCUs
Liangxu Linux
Liangxu Linux
Aug 20, 2025 · Fundamentals

7 Insider Tricks to Slash Embedded Development Headaches

This guide shares practical embedded‑development hacks—from diplomatically blaming hardware issues and using the Linux devmem tool to read registers, to modular sensor driver design, safe pointer practices, and dynamic log‑level control—helping engineers reduce overtime and improve code maintainability.

devmemdynamic loggingembedded
0 likes · 6 min read
7 Insider Tricks to Slash Embedded Development Headaches
Liangxu Linux
Liangxu Linux
Aug 2, 2025 · Fundamentals

Meet the Quantum Mini: The World’s Smallest Linux Development Board

A postage‑stamp‑sized Linux computer called Quantum Mini measures just 40 mm × 35 mm, packs an Allwinner H3 quad‑core CPU, Mali‑400 GPU, 512 MB RAM, a mini IPS screen, Wi‑Fi, Bluetooth, sensors and runs Ubuntu 16.04 from a micro‑SD, making it a fully functional tiny development platform for IoT, edge AI and robotics.

HardwareIoTMini PC
0 likes · 5 min read
Meet the Quantum Mini: The World’s Smallest Linux Development Board
Liangxu Linux
Liangxu Linux
May 10, 2025 · Operations

How to Build, Patch, and Benchmark a Real‑Time Linux Kernel on the OK3588 Board

This guide explains the purpose of the PREEMPT‑RT real‑time patch, describes the hardware and toolchain used, details the kernel features and modifications introduced by the patch, and provides step‑by‑step instructions for downloading, applying, configuring, compiling, flashing, and verifying the real‑time kernel with cyclictest and stress‑ng benchmarks.

PREEMPT_RTReal-Time Kernelcyclictest
0 likes · 15 min read
How to Build, Patch, and Benchmark a Real‑Time Linux Kernel on the OK3588 Board
Java Captain
Java Captain
May 9, 2025 · Databases

Using H2 Database in Embedded, Server, and Mixed Modes with Java

This article demonstrates how to use the H2 database with Java 1.8, covering embedded (file and memory) modes, server modes (Web, TCP, PG), mixed mode configurations, required dependencies, and provides complete JUnit test code examples for creating, accessing, and managing tables.

JDBCJUnitServer
0 likes · 17 min read
Using H2 Database in Embedded, Server, and Mixed Modes with Java
Linux Kernel Journey
Linux Kernel Journey
Apr 22, 2025 · Fundamentals

How to Build a Linux RootFS for Embedded Devices – Step‑by‑Step Guide

This article walks through the theory of Linux file systems, compares flash‑specific filesystems, outlines the essential rootfs directories, details required tools like a cross‑compiler and TFTP/NFS servers, and provides a complete step‑by‑step procedure—including BusyBox compilation, rootfs population, init scripts, and ramdisk creation—to produce a bootable root filesystem for an embedded board.

BusyBoxFilesystemLinux
0 likes · 15 min read
How to Build a Linux RootFS for Embedded Devices – Step‑by‑Step Guide
Liangxu Linux
Liangxu Linux
Apr 19, 2025 · Fundamentals

How to Build, Patch, and Benchmark a Real‑Time Linux Kernel on an OK3588 Board

This guide explains the purpose of the PREEMPT‑RT (real‑time) patch, details the hardware and toolchain used, describes the patch's key features and modifications, provides step‑by‑step instructions for downloading, applying, configuring, compiling, and flashing the kernel, and shows how to verify latency improvements with cyclictest and stress‑ng across idle and CPU‑stress scenarios.

PREEMPT_RTReal-Time Kernelcyclictest
0 likes · 16 min read
How to Build, Patch, and Benchmark a Real‑Time Linux Kernel on an OK3588 Board
Liangxu Linux
Liangxu Linux
Mar 29, 2025 · Operations

Mastering /etc/init.d Scripts: A Deep Dive into Embedded Linux Service Management

This guide explains the role of the /etc/init.d directory in embedded Linux, walks through common startup scripts such as rcS, rcK, and service-specific files, and provides detailed code examples and command‑line options to help developers understand, customize, and troubleshoot system initialization and shutdown processes.

LinuxService ManagementShell
0 likes · 19 min read
Mastering /etc/init.d Scripts: A Deep Dive into Embedded Linux Service Management
Open Source Linux
Open Source Linux
Mar 20, 2025 · Backend Development

Mastering log.c: A Lightweight C99 Logging Library for Embedded Systems

This article introduces log.c, a compact C99 logging library suitable for any platform—including embedded systems—covers its key features, demonstrates usage with code examples, and explains how to configure log levels, file output, callbacks, multithreading, and colored output.

C99c++embedded
0 likes · 6 min read
Mastering log.c: A Lightweight C99 Logging Library for Embedded Systems
Liangxu Linux
Liangxu Linux
Oct 27, 2024 · Fundamentals

How to Build a Custom Root Filesystem for Embedded Linux with BusyBox

This guide explains the concepts of Linux file systems, compares root and regular file systems, lists common embedded flash file systems, outlines required root‑FS directories, and provides a step‑by‑step procedure—including cross‑compilation, BusyBox configuration, mounting, and ramdisk creation—to build and test a minimal root filesystem for an embedded device.

BusyBoxCrossCompilationLinux
0 likes · 16 min read
How to Build a Custom Root Filesystem for Embedded Linux with BusyBox
Python Programming Learning Circle
Python Programming Learning Circle
Sep 30, 2024 · Fundamentals

Using MicroPython for Microcontroller Development

This article explains how MicroPython, a lightweight Python 3 implementation, enables programming on microcontrollers with limited resources, outlines hardware requirements, showcases example I2C code, and discusses its growing ecosystem alongside traditional C development.

IoTMicroPythonMicrocontroller
0 likes · 4 min read
Using MicroPython for Microcontroller Development
Liangxu Linux
Liangxu Linux
Sep 21, 2024 · Fundamentals

Essential C Utility Code Snippets Every Embedded Developer Should Know

This article presents a curated collection of high‑impact C utility code examples—including a circular buffer, assertion macro, bit‑reversal function, fixed‑point arithmetic, endianness conversion, bit masks, timer handling, binary search, and a simple bitset—explaining their purpose and showing ready‑to‑use implementations for embedded systems.

Code SamplesData StructuresFixed-Point
0 likes · 7 min read
Essential C Utility Code Snippets Every Embedded Developer Should Know
Java Tech Enthusiast
Java Tech Enthusiast
Jul 23, 2024 · Fundamentals

Understanding __disable_irq() and __enable_irq() Intrinsic Functions in ARM Cortex-M

The article explains that __disable_irq() and __enable_irq() are compiler‑provided intrinsics that expand to CPSID i and CPSIE i instructions, return the prior PRIMASK state, globally mask CPU interrupt handling without stopping hardware events, and contrasts them with CMSIS __NVIC_DisableIRQ/EnableIRQ which control individual interrupt lines.

ARMMCUc++
0 likes · 7 min read
Understanding __disable_irq() and __enable_irq() Intrinsic Functions in ARM Cortex-M
Open Source Linux
Open Source Linux
May 28, 2024 · Backend Development

How to Diagnose and Fix Common Embedded Development Issues

This guide explains why embedded development seems difficult and provides a systematic approach to reproducing, locating, analyzing, and resolving typical embedded problems—including simulation conditions, log printing, online debugging, version rollback, binary search commenting, register snapshots, stack overflow, and hardware quirks—plus regression testing and experience summary.

Microcontrollerdebuggingembedded
0 likes · 11 min read
How to Diagnose and Fix Common Embedded Development Issues
Liangxu Linux
Liangxu Linux
Apr 21, 2024 · Fundamentals

Understanding C Memory Layout on STM32: Stack, Heap, and Data Segments Explained

This article explains C language memory partitioning—including stack, heap, global/static, constant, and code sections—illustrates their characteristics and growth directions, then applies the concepts to STM32F103 by showing memory map details and providing a complete Keil‑based C program that prints the addresses of variables in each region.

Data SegmentHeapSTM32
0 likes · 10 min read
Understanding C Memory Layout on STM32: Stack, Heap, and Data Segments Explained
Liangxu Linux
Liangxu Linux
Apr 5, 2024 · Fundamentals

Understanding C Memory Layout on STM32: Stack, Heap, and Global Sections

This article explains the C language memory segmentation—including stack, heap, global/static, constant, and code areas—illustrates their behavior on STM32F103 with Keil V5, and provides detailed example code that prints the addresses of variables in each region to demonstrate allocation and lifetime.

HeapSTM32Stack
0 likes · 9 min read
Understanding C Memory Layout on STM32: Stack, Heap, and Global Sections
Liangxu Linux
Liangxu Linux
Mar 9, 2024 · Fundamentals

Why STM32’s PLL Keeps Running After HSE Failure and How to Fix It

A customer reported that on an STM32F103VDT6, disconnecting the external 8 MHz crystal did not trigger the external watchdog reset because the MCU’s PLL continued to generate a low‑frequency clock, but enabling the Clock Security System (CSS) and handling the NMI correctly resolves the issue.

CSSHSEPLL
0 likes · 6 min read
Why STM32’s PLL Keeps Running After HSE Failure and How to Fix It
Liangxu Linux
Liangxu Linux
Feb 20, 2024 · Fundamentals

9 Essential C Utility Snippets Every Embedded Engineer Should Know

This article presents nine powerful C utility code examples—including a circular buffer, custom assertions, bit reversal, fixed‑point arithmetic, endianness conversion, bit masks, timer handling, binary search, and a simple bitset—explaining their purpose and demonstrating how they can improve performance and maintainability in embedded system development.

Data Structuresbit manipulationc++
0 likes · 7 min read
9 Essential C Utility Snippets Every Embedded Engineer Should Know
Coolpad Technology Team
Coolpad Technology Team
Jan 4, 2024 · Fundamentals

Debugging OpenHarmony System Ability Management and Pasteboard Service Freeze on the T606 Platform

The article investigates a freeze occurring when dragging icons on an OpenHarmony 3.2.2 device after adapting the Spreadtrum T606 platform, analyzes related system‑ability (SA) logs, explains the SA and SAFWK frameworks, traces the PasteboardService failure to a missing serial‑number configuration, and proposes a practical fix.

OpenHarmonyPasteboardServiceSystemAbility
0 likes · 14 min read
Debugging OpenHarmony System Ability Management and Pasteboard Service Freeze on the T606 Platform
Liangxu Linux
Liangxu Linux
Dec 28, 2023 · Fundamentals

Essential Open‑Source C Unit Testing Frameworks and Unity on STM32

This note introduces several open‑source C unit‑testing frameworks, compares their features, and provides a step‑by‑step guide for porting and using the Unity framework on an STM32 platform, including configuration, test case writing, and result interpretation.

Unityc++embedded
0 likes · 9 min read
Essential Open‑Source C Unit Testing Frameworks and Unity on STM32
Liangxu Linux
Liangxu Linux
Dec 24, 2023 · Backend Development

Mastering GNU Linker Scripts: Control Binary Layout and Memory Mapping

This guide explains how GNU ld linker scripts work, covering their purpose, basic concepts like sections, symbols, VMA/LMA, the syntax of SECTIONS, INPUT, OUTPUT, and other commands, with practical examples and code snippets for embedded and desktop ELF binaries.

BinaryELFLinker
0 likes · 30 min read
Mastering GNU Linker Scripts: Control Binary Layout and Memory Mapping
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Dec 22, 2023 · Fundamentals

Overview of Embedded ROM Flashing Processes and Online Programming Techniques

The article explains embedded ROM updating terminology, compares factory‑level burner programming with board‑level online flashing, details the boot sequence and U‑Boot implementation, outlines security signatures, common USB‑related issues, and the evolution of flash storage, concluding that online flashing offers low‑cost, scalable, high‑speed production for smartphones.

FlashingMobile DevelopmentROM
0 likes · 15 min read
Overview of Embedded ROM Flashing Processes and Online Programming Techniques
Deepin Linux
Deepin Linux
Dec 13, 2023 · Fundamentals

CVTE Embedded Technology Interview Experience and Key Technical Concepts

This article presents a comprehensive collection of CVTE embedded engineering interview questions and answers, covering project introductions, C/C++ operators, the static keyword, pointers vs. references, copy constructors, Linux sed usage, file system types, I²C limits, interrupt handling, recursion, IPC, GPIO modes, and compilation stages, providing clear explanations and code examples for each topic.

C++HardwareLinux
0 likes · 24 min read
CVTE Embedded Technology Interview Experience and Key Technical Concepts
21CTO
21CTO
Dec 13, 2023 · Operations

Why Windows CE Is Finally Retiring After 26 Years of Service

This article chronicles the 26‑year lifespan of Windows CE, detailing its origins, evolution, competition with Palm, role in embedded devices, the features of its final 8.0 release, and the reasons behind its complete retirement in 2023.

LifecycleOperating Systemembedded
0 likes · 5 min read
Why Windows CE Is Finally Retiring After 26 Years of Service
Liangxu Linux
Liangxu Linux
Dec 11, 2023 · Fundamentals

How to Squeeze Extra RAM on a Resource‑Constrained Embedded Linux Device

This article examines memory usage on a Junzheng T31ZC embedded Linux board, breaks down physical and kernel allocations, and presents practical techniques—such as trimming kernel symbols, stripping ELF files, optimizing rootfs, and manually dropping caches—to reclaim valuable RAM without adding hardware.

LinuxMemory OptimizationRootFS
0 likes · 13 min read
How to Squeeze Extra RAM on a Resource‑Constrained Embedded Linux Device
Deepin Linux
Deepin Linux
Nov 5, 2023 · Fundamentals

Understanding Linux ARM Interrupt Mechanism and Kernel Implementation

This article explains the ARM hardware interrupt flow, the Linux kernel's handling of IRQ and FIQ, the construction of exception vector tables, the role of asmlinkage, interrupt registration, shared interrupt models, and the specific implementation for the S3C2410 platform.

ARMDevice DriversInterrupts
0 likes · 18 min read
Understanding Linux ARM Interrupt Mechanism and Kernel Implementation
Liangxu Linux
Liangxu Linux
Oct 23, 2023 · Fundamentals

Unlock Faster, Safer Embedded Systems with Asymmetric AMP Dual‑OS Architecture

This article explains the concept of asymmetric AMP dual‑system architecture, outlines its real‑time, stability, and cost advantages for industrial automation, and provides a step‑by‑step UART‑echo development example on the RK3568J SOM, including flashing commands and U‑Boot configuration.

LinuxReal-Timeasymmetric-amp
0 likes · 7 min read
Unlock Faster, Safer Embedded Systems with Asymmetric AMP Dual‑OS Architecture
Liangxu Linux
Liangxu Linux
Oct 15, 2023 · Fundamentals

Mastering C Structs: Definitions, Alignment, and Practical Usage

This guide explains C structs—from basic definitions and declaration styles to memory alignment, byte sizing, bit‑field handling, nested structures, and using structs as function parameters—providing clear code examples and practical tips for efficient embedded and systems programming.

Initializationbit-fieldsc++
0 likes · 29 min read
Mastering C Structs: Definitions, Alignment, and Practical Usage
Liangxu Linux
Liangxu Linux
Sep 20, 2023 · Information Security

How to Secure Your Bootloader: Image Verification, Signature Authentication, and Memory Protection

This article explains essential bootloader security mechanisms—including image integrity checks, digital signature verification, hardware/software memory protection, and the use of read‑only storage—while highlighting practical implementation tips for STM32 and the trade‑offs between security and system complexity.

bootloaderdigital signatureembedded
0 likes · 8 min read
How to Secure Your Bootloader: Image Verification, Signature Authentication, and Memory Protection
Liangxu Linux
Liangxu Linux
Apr 18, 2023 · Fundamentals

How to Monitor Every Thread of an Embedded Linux Process with top -H

This guide shows how to create a multi‑threaded C program on embedded Linux, set thread names with pthread_setname_np, and use the top command with the -H option to display each thread’s status, illustrating the difference when thread names are omitted.

LinuxThreadsdebugging
0 likes · 6 min read
How to Monitor Every Thread of an Embedded Linux Process with top -H
ByteFE
ByteFE
Apr 17, 2023 · Fundamentals

Understanding WebAssembly: Runtime Mechanisms, Tooling, and Cross‑Environment Usage

This article provides a comprehensive overview of WebAssembly, explaining its import/export model, tooling such as wit‑bindgen and waPC, practical examples for web browsers, command‑line runtimes, embedded systems, and plugin architectures, and demonstrates how to integrate WASM with languages like C, Rust, Go, Java, and Python.

Cross‑PlatformRuntimeWasm
0 likes · 25 min read
Understanding WebAssembly: Runtime Mechanisms, Tooling, and Cross‑Environment Usage
MaGe Linux Operations
MaGe Linux Operations
Oct 17, 2022 · Information Security

How Google’s KataOS Uses Rust and seL4 to Build a Verified Secure OS

Google unveiled KataOS, a Rust‑based secure operating system built on the formally verified seL4 microkernel, designed for embedded devices running machine‑learning workloads, with open‑source components on GitHub, a Sparrow hardware reference platform, and plans to release additional third‑party app support.

KataOSRustembedded
0 likes · 4 min read
How Google’s KataOS Uses Rust and seL4 to Build a Verified Secure OS
Liangxu Linux
Liangxu Linux
Sep 8, 2022 · Fundamentals

Mastering Linux Device Tree: Syntax, Nodes, and OF Functions Explained

This guide introduces Linux Device Tree concepts, explains why it was added to the kernel, details its syntax and standard properties, describes common nodes, and provides practical examples of OF functions for accessing nodes and properties in kernel code.

Device TreeHardware DescriptionLinux
0 likes · 11 min read
Mastering Linux Device Tree: Syntax, Nodes, and OF Functions Explained
Liangxu Linux
Liangxu Linux
Jul 10, 2022 · Fundamentals

Lighting an LED on Linux with mmap: From Folklore to Kernel Memory Mapping

The article uses a cultural analogy about Emperor Yongzheng to introduce the concept of mapping, then explains how Linux's mmap can map a physical GPIO register into user space, provides a complete code example for toggling an LED, and discusses mmap's broader uses and performance trade‑offs.

GPIOLinuxembedded
0 likes · 10 min read
Lighting an LED on Linux with mmap: From Folklore to Kernel Memory Mapping
Liangxu Linux
Liangxu Linux
Jun 1, 2022 · Fundamentals

How HW‑RTOS Eliminates OS Overhead for Hard Real‑Time Performance

This article explains the real‑time requirements of industrial control, the limitations of traditional OS kernels, and how Linux RT‑Preempt, Xenomai dual‑kernel, and especially hardware‑assisted RTOS (HW‑RTOS) can dramatically reduce latency, interrupt disable periods, and API execution jitter to achieve hard‑real‑time behavior.

CPU schedulingHardwareRTOS
0 likes · 30 min read
How HW‑RTOS Eliminates OS Overhead for Hard Real‑Time Performance
IT Services Circle
IT Services Circle
Mar 20, 2022 · Fundamentals

Understanding Enum Size and Compiler Options in C (gcc)

This article examines how the memory size of C enum types varies with declared value ranges and compiler options such as -fshort-enums, showing default and shortened sizes across different compilers and illustrating the impact of adding larger constant values.

c++compilerembedded
0 likes · 4 min read
Understanding Enum Size and Compiler Options in C (gcc)
Liangxu Linux
Liangxu Linux
Oct 2, 2020 · Fundamentals

How to Embed Build Timestamps in Embedded Binaries for Reliable Version Tracking

This guide explains why embedding compile‑time information in embedded binaries is essential for version verification, demonstrates how to use __DATE__ and __TIME__ macros, and provides three practical methods—including touch commands and pre‑build actions—to ensure the timestamp updates on every build.

Build TimestampIARPre-build
0 likes · 8 min read
How to Embed Build Timestamps in Embedded Binaries for Reliable Version Tracking
21CTO
21CTO
Jun 27, 2020 · Fundamentals

How to Build a Pocket‑Sized NFC Smart Card with E‑Ink Display

This tutorial walks you through creating a match‑box‑sized NFC‑enabled smart card that consolidates employee badges, access cards and cafeteria cards, detailing hardware selection, PCB design, firmware, e‑ink screen handling, and open‑source resources for a compact, multifunctional device.

DIYHardwareNFC
0 likes · 5 min read
How to Build a Pocket‑Sized NFC Smart Card with E‑Ink Display
Tencent Cloud Developer
Tencent Cloud Developer
Apr 17, 2020 · Cloud Computing

LoRa‑Based Environmental Monitoring and Control for Data Center Using TencentOS Tiny

The article describes a complete LoRa‑based environmental monitoring and control system for data centers, built on TencentOS Tiny and featuring a LoRa gateway, sensor‑rich node, LCD display, relay and LED modules, cloud integration via Tencent Cloud IoT Explorer, and a WeChat mini‑program for remote management.

Data Center MonitoringIoTLoRA
0 likes · 12 min read
LoRa‑Based Environmental Monitoring and Control for Data Center Using TencentOS Tiny
21CTO
21CTO
Dec 31, 2019 · Fundamentals

How a $3 Linux‑Powered Business Card Packs Games, MicroPython, and a Full OS

This article describes a tiny Linux‑based business card that boots in seconds, includes classic games and a MicroPython interpreter, runs on an 8 MB Allwinner F1C100s chip, and can be built for under three dollars using inexpensive components and DIY PCB fabrication.

DIYHardwareLinux
0 likes · 5 min read
How a $3 Linux‑Powered Business Card Packs Games, MicroPython, and a Full OS
Tencent Cloud Developer
Tencent Cloud Developer
Dec 30, 2019 · Cloud Computing

Introduction to TencentOS tiny: Open‑Source IoT RTOS, Solutions and Development Practices

TencentOS tiny is an open‑source, lightweight IoT RTOS supporting over 50 platforms and protocols like MQTT, CoAP, and LoRaWAN, offering a minimal kernel, low‑power frameworks, OTA, and security features, demonstrated through smart‑cabinet and smart‑agriculture solutions, a STM32L4 development board workflow, AT‑adapted networking, and seamless Tencent Cloud integration for rapid, low‑cost product deployment.

IoTRTOSSmart Agriculture
0 likes · 14 min read
Introduction to TencentOS tiny: Open‑Source IoT RTOS, Solutions and Development Practices
21CTO
21CTO
Sep 12, 2019 · Fundamentals

Exploring Linux‑Based Operating Systems Powering the IoT Landscape

This article surveys the most prominent Linux‑derived operating systems for the Internet of Things, detailing their origins, real‑time capabilities, hardware requirements, and the ecosystems that support them, while highlighting the fragmentation and future prospects of Linux in IoT.

IoTLinuxOperating System
0 likes · 6 min read
Exploring Linux‑Based Operating Systems Powering the IoT Landscape
Huawei Cloud Developer Alliance
Huawei Cloud Developer Alliance
Jan 4, 2017 · Fundamentals

Inside Huawei LiteOS Workshop: Chip Porting and Balancing Car Demo Highlights

The Huawei LiteOS Workshop in Beijing gathered over 130 online registrants and 100 on‑site developers for a day of hands‑on sessions covering mainstream chip porting, STM32 migration, rapid integration with LianShengDe chips, Keil MDK debugging, and a fun balancing‑car demo, followed by lively Q&A and community bonding.

Huawei LiteOSIoTOS porting
0 likes · 6 min read
Inside Huawei LiteOS Workshop: Chip Porting and Balancing Car Demo Highlights
ITPUB
ITPUB
Aug 19, 2016 · Fundamentals

Mastering STM32 NVIC Interrupt Priority Groups: A Practical Guide

This article explains STM32's 43 interrupt channels and how the AIRC register's 4-bit priority fields are divided into pre‑emptive and sub‑priority groups, illustrating each NVIC_PriorityGroup setting with concrete code examples and step‑by‑step configuration instructions.

InterruptPriorityMicrocontrollerNVIC
0 likes · 9 min read
Mastering STM32 NVIC Interrupt Priority Groups: A Practical Guide