Understanding JTAG Debugging and CMSIS-DAP

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

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

Embedded Code Safety Checks: Choosing Between if and assert

Embedded Code Safety Checks: Choosing Between if and assert

1. Introduction In embedded system development, safety and reliability are crucial. When faced with input validation, boundary condition checks, and other scenarios, developers often need to choose between <span>if</span> condition checks and <span>assert</span> assertions. This article will analyze the applicable scenarios and best practices for both from a technical perspective. 2. Basic Differences Between if … Read more

Is Your C++ Code Performance Poor? Have You Fallen into the std::endl Trap?

Is Your C++ Code Performance Poor? Have You Fallen into the std::endl Trap?

This article is based on a thorough review of relevant authoritative literature and materials, forming a professional and reliable content. All data in the article is verifiable and traceable. Special note: The data and materials have been authorized. The content of this article does not involve any biased views and objectively describes the facts with … Read more

Conditional Compilation in C: Flexibly Control Your Code

Conditional Compilation in C: Flexibly Control Your Code

Conditional Compilation in C: Flexibly Control Your Code In C, conditional compilation is a powerful and flexible tool that allows programmers to selectively compile code based on specific conditions. This technique is commonly used in scenarios such as debugging, version control, or platform adaptation. This article will provide a detailed introduction to conditional compilation in … Read more

How to Dance on the Tip of Embedded C Programming? 7 Examples from a 15-Year Veteran

How to Dance on the Tip of Embedded C Programming? 7 Examples from a 15-Year Veteran

Adapted from online information, Author: Xiao Ma Er I can’t remember when I started frequently taking on the task of recruiting for companies, focusing on the recruitment of personnel for industrial embedded product development. Out of a sense of responsibility towards both the company and newcomers, I tend to seek individuals with solid foundational knowledge … Read more

Summary of Embedded Development Knowledge Points (Part 3)

Summary of Embedded Development Knowledge Points (Part 3)

Issue 1: The driver cannot load or reports an error after loading. Possible reasons: Incorrect compilation options, module information, dependencies, symbol exports, etc.; the driver is incompatible with the kernel version; the driver is incompatible with the hardware device; errors in the driver’s initialization or exit functions; issues with the driver’s permissions or path settings, … Read more

IAR for Amazon FreeRTOS Released: A New Era for IoT Studios

IAR for Amazon FreeRTOS Released: A New Era for IoT Studios

Description: 1. In recent years, IoT Studios have become popular, such as Mbed Studio, Zerynth Studio, DK IoT Studio, etc. 2. Amazon is not falling behind and has directly partnered with IAR to release a new version, IAR for AWS. This provides a comprehensive service for Amazon cloud development. 3. Currently, there is no download … Read more

Analyzing ESP32 Core Dumps

Analyzing ESP32 Core Dumps

1. In my previous article, I wrote an introduction to the ESP32, and I think it is necessary to write this article, which mainly focuses on analyzing core dumps. This is similar to crash analysis in Android and Linux systems; it is interesting yet challenging. When we write code, we inevitably encounter some core dump … Read more

Python Memory Management: Garbage Collection Mechanisms and Performance Optimization Secrets

Python Memory Management: Garbage Collection Mechanisms and Performance Optimization Secrets

1. Memory Management: Python’s “Invisible Steward” Python memory management operates through automatic garbage collection and reference counting, silently handling: • Object creation and destruction • Memory leak prevention • Circular reference handling • Optimization of large memory objects Core Objective: To achieve a balance between development efficiency and runtime performance, allowing developers to avoid manual … Read more