Year: 2025
In-Depth JTAG Boundary Scan: Hardcore Techniques for Embedded Testing
Hello everyone, welcome to <span>LiXin Embedded</span>. Today, we will discuss JTAG boundary scan. This tool is essential for testing PCB interconnections and internal chip logic, defined in the IEEE 1149.1 standard. If you haven’t read the first two articles in this series, I recommend going back to catch up on the basics of JTAG debugging. … Read more
Understanding JTAG Debugging and CMSIS-DAP
CMSIS-DAP (Cortex Microcontroller Software Interface Standard – Debug Access Port) is a debug interface standard defined by ARM. In the introduction to JTAG debugging – DAP, it mentions that an implementation of ARM ADI is called DAP, so does CMSIS-DAP with the DAP suffix mean it is an implementation of DAP? See the diagram from … Read more
Introduction to JTAG Debugging and SWD
SWD stands for Serial Wire Debug Interface. Sometimes you may encounter terms like: JTAG-DP, SW-DP, SWJ-DP, which are interfaces for external hardware boxes. Among them, SWJ-DP was added in ADI v6.0:In summary: Physical Interface JTAG Interface? SWD Interface? Specification JTAG-DP Yes ADI v5.0/v6.0 SW-DP Yes ADI v5.0/v6.0Serial Wire (Serial Interface) SWJ-DP Yes Yes ADI v6.0Serial … Read more
MicroPython: The Mini Power of Embedded Systems!
▼ Click the card below to follow me ▲ Click the card above to follow me MicroPython: The Mini Power of Embedded Systems! As a star language in the programming world, Python also shines uniquely in the fields of microcontrollers and embedded systems. MicroPython is the Swiss Army knife in this domain, making embedded development … Read more
Specifying Build Type in CMake
The Visual Studio project generated by CMake defaults to the Debug build type, as shown in the image below: Sometimes, you may want to specify the build type in CMake without having to manually adjust it every time you open the project. 1. General Settings 1.1 Specifying in CMakeLists.txt This can be achieved by setting … Read more
HarmonyOS Device Driver Development: Design and Implementation of the Hardware Adaptation Layer
Hello, today let’s talk about something hardcore! The development of device drivers for HarmonyOS—this seemingly profound but actually quite interesting topic. Don’t be intimidated by the jargon; follow me step by step, and I guarantee you’ll have a clear understanding of the Hardware Adaptation Layer. I’ve been tinkering with Harmony drivers for over two years, … Read more
In-Depth Comparison of MCU Assembly Language and C Language: From Principles to Practice
1. Essential Differences: Low-Level Control vs High-Level Abstraction 1.1 Assembly Language: Direct Mapping to Hardware Assembly language is a mnemonic representation of machine instructions, closely coupled with the MCU architecture. Taking the assembly of ARM Cortex-M as an example: ; Add registers R1 and R2, store the result in R0 ADD R0, R1, R2 ; … Read more
Introduction to Li Zhong X64 Architecture Assembly Language and Operating System Basics
Reply to the public account:Course 🎓【In-Depth Recommendation】Introduction to Li Zhong X64 Architecture Assembly Language and Operating System Basics, Easy to Get Started! 🌟Dear friends, are you feeling confused about learning assembly language and the basics of operating systems? Don’t worry, today I will introduce you to these topics, making it easy for you to get … Read more
Lessons Learned from Developing Distributed Systems with Rust
Fjall – A Safe Rust KV Storage Engine Fjall is an embeddable, LSM-based, forbid-unsafe Rust key-value storage engine. Its goal is to be a reliable and predictable yet high-performance general-purpose KV storage engine suitable for small datasets, especially those larger than memory size. I have just released version 1.0, which stabilizes its data format for … Read more