Understanding Essential Skills for C Programming – GDB Debugging

Understanding Essential Skills for C Programming - GDB Debugging

Recommended reading: C Language Learning Guide: Have you mastered these core knowledge points? C Language Pointers: From Beginner to Proficiency, a comprehensive article to thoroughly understand C Language Dynamic Memory Management: From Beginner to Proficiency, a comprehensive article to thoroughly understand C Language File Operations: From Beginner to Proficiency, a comprehensive article to thoroughly understand … Read more

9 Essential PLC Basics for Beginners

9 Essential PLC Basics for Beginners

1. What Exactly Is PLC? Think of It as an “Industrial Butler” PLC (Programmable Logic Controller) is like the “smart butler” of a factory, responsible for receiving sensor signals (such as high temperature or machine jams) and controlling equipment actions based on pre-set programs (like shutting down machines or activating alarms). For example, the automatic … Read more

Embedded Linux C Language Debugging and Macro Usage Techniques

Embedded Linux C Language Debugging and Macro Usage Techniques

01. Debugging Related Macros When compiling programs in Linux using gcc, there are some special syntaxes for debugging statements. During the compilation process, gcc generates some macros that can be used to print information about the current source file, mainly including the current file, the currently running function, and the current line of the program. … Read more

Ultimate Guide to printf() in C Language

Click the blue word to follow us Compilation environment: Linux environment compiled into a 64-bit program using g++ 4.4.6 1. Introduction to printf() printf() is a standard library function in C language used to output formatted strings to standard output. The standard output, which corresponds to the terminal screen, refers to the standard output file. … Read more

Understanding C Language Assertions with Assert

When writing project code in C language, we often check certain assumptions, and assertions are used to capture these assumptions in the code. Assertions can be seen as a high-level form of exception handling. An assertion is represented as a boolean expression that programmers believe to be true at a specific point in the program. … Read more

SWD Interface Explained and Practical Applications

SWD Interface Explained and Practical Applications

Why Understand the SWD Debug Interface? Debugging is the most critical part of microcontroller development. Early JTAG interfaces required 4-5 wires, occupying too many pins. In contrast, the SWD (Serial Wire Debug) interface only requires 2 essential signal lines, saving PCB space while providing better debugging speed and stability. Currently, almost all ARM Cortex series … Read more

Using JTAG Debugging on I.MX6ULL Terminator Development Board

Using JTAG Debugging on I.MX6ULL Terminator Development Board

Many friends are transitioning from microcontrollers and are quite familiar with JTAG. They want to use JTAG to debug bare-metal code, but often encounter issues where the virtual machine cannot connect to the TF card. The I.MX6ULL itself supports JTAG, but there is really very little information available on this, and most of it is … Read more

Using Telink Microelectronics JTAG Tools (Part 2)

Using Telink Microelectronics JTAG Tools (Part 2)

Following the previous article introducing the “Using Telink Microelectronics JTAG Tools (Part 1)”, this article will continue to introduce the usage of JTAG related tool command lines and common problems along with their solutions. 1 Common GDB Commands During normal debugging, you can set breakpoints in Telink IOT Studio for debugging. When the breakpoint is … Read more

Embedded Development ARM Technology JTAG Interface Interpretation

Embedded Development ARM Technology JTAG Interface Interpretation

JTAG, as commonly referred to, can be roughly divided into two categories: one is used for testing the electrical characteristics of chips to detect any issues; the other is used for debugging. Generally, CPUs that support JTAG contain both modules. A CPU with a JTAG Debug interface module can access the internal registers of the … Read more