Discussing the Linux Signal Mechanism in .NET Dumps

Discussing the Linux Signal Mechanism in .NET Dumps

1. Background 1. Storytelling When a <span>.NET application</span> crashes on Linux, we can configure some references to obtain the corresponding core file. After obtaining the core file, we can open it with windbg, and often see a message like this: <span>Signal SIGABRT code SI_USER (Sent by kill, sigsend, raise)</span>, as shown below: (1.1d): Signal SIGABRT … Read more

Unbelievable! The Tricks You Can Do with C Language Macros? A Must-Read for Experts!

Unbelievable! The Tricks You Can Do with C Language Macros? A Must-Read for Experts!

Hello everyone! I am Xiaokang. Today, we are going to discuss a topic that sounds dull but actually hides a lot of secrets โ€” C language macros. โšก Friendly Reminder: Follow me to stay updated! There will be more hardcore technical articles shared later, guiding you through Linux C/C++ programming! ๐Ÿ˜† What? Macros? Isnโ€™t that … Read more

JLINK Wiring Diagram / Adapter Board

JLINK Wiring Diagram / Adapter Board

WAGO project. The diagram on the left is the schematic & the one on the right is the physical image. They are consistent when viewed side by side.Please pay attention to the physical image on the right. I connected the 7PIN ribbon cable. The three wires on the left are for the serial port (ignore … Read more

A Comprehensive Guide to Debugging Rust Asynchronous Applications with GDB

A Comprehensive Guide to Debugging Rust Asynchronous Applications with GDB

Introduction to GDB The GNU Project Debugger (GDB) is a long-standing program written by Richard Stallman in 1986, supporting multiple languages including C/C++ and modern languages like Rust. GDB is a command-line application, but there are many graphical user interface front-ends and IDE integrations available. For this tutorial, we will use the command-line interface as … Read more

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