Detailed Explanation of MQTT Packets【01】: CONNECT & CONNACK

In the previous issue, we introduced that MQTT packets consist of a fixed header, a variable header, and a payload, as well as some common concepts in MQTT packets, such as variable-length integers and properties.Are you familiar with MQTT Control Packets?Now, we will further introduce the composition of each packet based on practical usage. First, … Read more

RoshX: The CANopen Protocol Will Play an Increasingly Important Role in the Future

As a well-known motor company in Germany, RoshX’s CANopen technology has a wide range of applications in distributed control systems, bringing numerous benefits to customers. Improving Production Efficiency Through the CANopen protocol, RoshX’s CANopen technology enables real-time monitoring and control of the production process. The system can collect various data from the production line in … Read more

Implementing Modbus TCP Master Communication in C# (Part II)

Abstract ❝ This article builds upon the previous one by adding the functionality to read and write int and float data, as well as byte order reading and writing functions (ABCD, BADC, CDAB, DCBA)【Project address at the end of the article】. Introduction Today, we will discuss how to add new features to the previous article … Read more

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

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

GIGABYTE Motherboard GCC Lighting Tutorial

Software Installation: Search for 【GIGABYTE Technology】 on Baidu or open this linkhttps://www.gigabyte.cn/Click to search for 【keywords】 and enter the motherboard model:For example 【B760M YT PIONEER WIFI PLUS】The motherboard model should be based on your actual motherboard 【Check the specific model in the order details】After downloading — double-click to install – run the softwareVideo tutorial:

Compiling GCC 15.1

During the May Day holiday, I saw that GCC released a new version, so I decided to experience the std after the module refactoring by compiling GCC myself.Environment: Ubuntu 24.041. Download the source codeYou can use the Tsinghua mirror:git clone https://mirrors.tuna.tsinghua.edu.cn/git/gcc.git [Here you can specify the desired folder name]2. Download the necessary dependenciesEnter the source … Read more

Installation Guide for Keil uVision 5 C51 Version (Includes Installation Package Download)

Software Overview Keil uVision 5 C51 Version provides developers with a complete set of development tools, including an editor, compiler, and debugger, which can help users quickly develop high-quality 8051 embedded software. Keil uVision 5 C51 Version is easy to learn and use, making it suitable for beginners. Its editor supports features like intelligent prompts … Read more

The Significance of dword ptr in Assembly Language

In assembly language (especially in the x86 architecture), <span>dword ptr </span>is a term used to specify the size of data and the addressing mode for memory operations. 1 dword It stands for “double word,” which refers to 32 bits (4 bytes) of data. In the x86 architecture: 1 word = 16 bits (2 bytes) 1 … Read more

Rust is Not a Functional Language

Rust is not a functional language There seems to be some confusion about whether Rust can also be classified as a functional language. This article aims to clarify this issue. To give away the conclusion in advance: Rust is not a functional language. This does not imply that Rust has any shortcomings: it excels in … Read more