Analysis of ARM JTAG Debugging Architecture: Components and Underlying Logic

Analysis of ARM JTAG Debugging Architecture: Components and Underlying Logic

JTAG is the core interface for debugging ARM chips, and its architecture achieves instruction transparency from the host to the chip through a layered design. This article will focus on the ARM JTAG debugging architecture, clarifying its key components at the physical and protocol layers. 1. Three Major Modules of ARM JTAG Debugging Structure ① … Read more

C++ Debugging Techniques: Using GDB for Breakpoint Debugging

C++ Debugging Techniques: Using GDB for Breakpoint Debugging

C++ Debugging Techniques: Using GDB for Breakpoint Debugging In C++ development, debugging is an indispensable part of the process. Whether you are a novice or an experienced programmer, mastering effective debugging techniques can significantly enhance development efficiency. This article will introduce how to use GDB (GNU Debugger) for breakpoint debugging, providing detailed code examples and … Read more

Release of Rust 1.38 Stable Version

Release of Rust 1.38 Stable Version

Rust 1.38 has been released, and the contents of the stable version 1.38.0 are as follows: Pipelined Compilation If you want to compile a crate, the compiler does not need to fully build dependencies; it only requires their “metadata” (i.e., types, dependencies, exported lists), which is generated early in the compilation process. Starting from Rust … Read more

Advanced Techniques for Setting Breakpoints in Keil Debugging

Advanced Techniques for Setting Breakpoints in Keil Debugging

Setting breakpoints is a very effective way to debug programs online. Combined with step-by-step debugging, it allows for quick problem identification. However, sometimes manually setting breakpoints can be inconvenient. For example, if you want to stop at the Nth iteration of a loop, you would have to keep clicking step run until the loop reaches … Read more

Mastering PLC Control of Paper Machines from Scratch: Essential Techniques You Must Know

Mastering PLC Control of Paper Machines from Scratch: Essential Techniques You Must Know

In the paper industry, a reliable automation control system can significantly enhance production efficiency and product quality. This article will detail the core technical points of paper machine control, from hardware selection to program design. 1. Hardware Configuration Plan 1. PLC Selection Explanation It is recommended to use Siemens S7-1500 series PLC for the paper … Read more

PLC Programming Recommendations from an Expert

PLC Programming Recommendations from an Expert

Programming Recommendations 1. When a PLC and a host computer (or touch screen) form a monitoring system, it is often necessary to have control modes such as “Manual” and “Automatic” on the screen (generally, only one can be active at a time). In the program, you can use the “MOV” instruction. For example: when “Manual” … Read more

Everyone Needs an HTTP Proxy for Debugging

Everyone Needs an HTTP Proxy for Debugging

Introduction This article introduces how front-end engineers can use HTTP proxies for debugging, going beyond the limitations of DevTools. Today’s front-end reading is shared by @huli. The main content starts here~~ As a front-end engineer who deals with web pages daily, it is quite reasonable to be familiar with the use of DevTools. Whenever there … Read more

Hardware Debugging for Reverse Engineers Part 1: SWD, OpenOCD, and Xbox One Controller

Hardware Debugging for Reverse Engineers Part 1: SWD, OpenOCD, and Xbox One Controller

“This article details the process of hardware disassembly, firmware extraction, debugging, and modification of the Xbox One controller. The author explores the internal structure by disassembling the controller, identifies the SWD interface, and uses the OpenOCD tool for hardware debugging. The article also explains how SWD works, how to use OpenOCD for firmware extraction and … Read more

JTAG Debugging with OpenOCD

JTAG Debugging with OpenOCD

OCD stands forOn-Chip Debugger, which is on-chip debugging. OpenOCD is an open-source JTAG debugging tool that operates as follows:The following diagram shows a physical connection, where the debugging target is theIntel Galileo Board, and the hardware box is the Flyswatter. The small board labeled 4 is theARM-JTAG-20-10 Adapter:When starting OpenOCD, a configuration file is passed … Read more

A Detailed Explanation of Linux Core Dumps: From Basics to Practical Applications (Part 2)

A Detailed Explanation of Linux Core Dumps: From Basics to Practical Applications (Part 2)

Hello everyone, welcome to Lixin Embedded. In Linux development, core dumps are powerful tools for debugging program crashes. However, on devices with limited storage space, core dump files that can be several megabytes in size can take up a lot of space. In the previous article, we discussed the principles and generation mechanisms of core … Read more