JTAG Operation Example

JTAG Operation Example

After familiarizing ourselves with the JTAG architecture through a series of previous articles, let’s take a complete example to understand how the TAP used for Debug access works. Assuming a debugging scenario where we need JTAG to access and modify a 3-bit wide control signal due to debugging requirements. In normal functional mode, the value … Read more

Practical Debugging Techniques for Makefile

Practical Debugging Techniques for Makefile

In the previous sections, we discussed the basic rules, functions, and patterns of makefiles. When writing makefiles in practice, we often encounter various issues. How can we quickly and effectively solve these problems? Here, I will introduce several common techniques to help us better handle and resolve the issues we encounter. MakefileDebugging Technique1 During the … Read more

Advanced Usage of Breakpoints in Keil Debugging

Advanced Usage of Breakpoints in Keil Debugging

Setting breakpoints is a very effective way to debug programs online. Combined with step-by-step debugging, it can quickly locate problems. However, sometimes manually setting breakpoints is not very convenient. 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

Design Ideas for Industrial Automation Control Systems: A Complete Siemens PLC Solution

Design Ideas for Industrial Automation Control Systems: A Complete Siemens PLC Solution

Recently, I received an automation renovation project to upgrade an old production line. This made me think of how many beginners often don’t know where to start when facing actual industrial projects. Today, I will discuss how to plan a PLC control system from scratch based on this practical case. Requirements Analysis and System Planning … Read more

Building and Debugging the JTAGulator for Embedded Security

Building and Debugging the JTAGulator for Embedded Security

1Introduction Online debugging (OCD, On-Chip Debugging) interfaces provide chip-level control over target devices, serving as a primary means for engineers, researchers, and hackers to extract firmware code or data, modify memory contents, or change device operations. If you are familiar with hardware circuits or embedded systems, you certainly know that JTAG (Joint Test Action Group) … Read more

SWD: A Powerful Debugging Assistant in Python Programming

SWD: A Powerful Debugging Assistant in Python Programming

In Python programming, debugging is a crucial step that helps developers quickly locate and fix issues in their code. SWD (assumed here to represent a specific, powerful debugging library, although in reality, SWD may not directly correspond to any widely known Python library, but for the sake of completeness in this example, we will conceptualize … Read more

Differences Between SWD and JTAG Debug Interfaces

Differences Between SWD and JTAG Debug Interfaces

As an embedded engineer, you should know about download debuggers, but do you really understand the meanings and differences between the SWD and JTAG interfaces? 1 What is a Download Debugger In simple terms, a download debugger is a device that converts commands sent from a PC (for example, via USB protocol) into a language … Read more

Mastering Go’s Best Debugger Delve: A Comprehensive Guide

Mastering Go's Best Debugger Delve: A Comprehensive Guide

👉Introduction Delve is the most widely used debugger in Go. This article introduces debugging in Go based on Delve. If you are frustrated with log-based debugging, you might want to check this out. After reading the full article, you can also participate in the Lunar New Year red envelope cover lottery at the end! 👉Table … Read more

Investigating Coredump File Truncation Issues

Investigating Coredump File Truncation Issues

This article is excerpted from the “ByteDance Infrastructure Practice” series. The “ByteDance Infrastructure Practice” series is a collection of technical content created by various technical teams and experts from ByteDance’s infrastructure department, sharing the team’s practical experiences and lessons learned during the development and evolution of infrastructure, and engaging in discussions with fellow technical colleagues. … Read more