Understanding Debugging in STM32 Development

Understanding Debugging in STM32 Development

When learning STM32 development, the step of DEBUG debugging is essential. This article will guide you through the knowledge related to debugging. Taking STM32F1 and Cortex-M3 as examples, the principles are similar for other series of chips or cores.01ใ€Overviewใ€‘ In STM32, there are many debugging components. Using them allows for various debugging functions, including breakpoints, … Read more

JTAG Debugging – GDB Example

JTAG Debugging - GDB Example

OpenOCD is used to drive the JTAG interface, typically in conjunction with GDB for code execution debugging. The usage of GDB is fundamentally no different from its use in other contexts.Some debugging techniques for GDB: Advanced Usage of GDBThere are two ways to start GDB and interact with OpenOCD: GDB communicates with OpenOCD over TCP … Read more

JTAG Debugging – Infineon Aurix Chips

JTAG Debugging - Infineon Aurix Chips

Infineon AURIX TC3xx (or TC2xx) series chips include the corresponding Triboard development board, and the official JTAG hardware box is miniWiggler, which also contains the FTDI USB2JTAG chip:Although it is an FTDI chip, it does not work with the open-source openocd, which is used by the FlysWattery hardware box. The corresponding software provided by Infineon … Read more

Understanding the I2C Communication Protocol

Understanding the I2C Communication Protocol

Hello everyone, welcome to<span>LiXin Embedded</span>. In embedded development, whether it is sensors, memory chips, or GPIO expansion modules, the presence of I2C can be seen everywhere. In this article, we will start from the basic working principles of I2C and delve into common issues and their debugging methods. Why Choose I2C The I2C bus is … Read more

The Inline Keyword in C Language

The Inline Keyword in C Language

Click ๐Ÿ‘†๐Ÿ‘†๐Ÿ‘† the blue text Follow “Passion Embedded” <span>inline</span> is a keyword in C language used for function optimization, suggesting the compiler to directly embed the function body at the call site to reduce the overhead of function calls. Its usage involves syntax, compiler behavior, optimization strategies, and the differences with static functions and macros. … Read more

Open Source Tool PLC-CommunTools: The Ultimate Solution for Industrial Automation Communication Debugging

Open Source Tool PLC-CommunTools: The Ultimate Solution for Industrial Automation Communication Debugging

In the field of industrial automation, stable communication between the host computer and PLC (Programmable Logic Controller) is crucial for the normal operation of the system. However, different manufacturers have varying PLC protocols, making the debugging process complex and extending the development cycle, which poses many challenges for engineers. Today, we introduce a powerful open-source … Read more

Why Fire Alarm Controllers Need Self-Testing

Why Fire Alarm Controllers Need Self-Testing

[Image] 1. Fire Automatic Alarm and Linkage Control System 1. During the debugging of the fire alarm controller, when the connection between the controller and the detector is open or short-circuited, the controller should issue a fault signal within 100 seconds (except when a fire alarm signal is issued during a short circuit). In a … Read more

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