Common Debugging Methods for Serial Ports on RK3588

On chips such as RK3588, RK3576, RK3568, RK3566, and RK3562, whether running Linux or Android systems, the hardware debugging serial port allows for the following interactive operations to facilitate quick system debugging and problem troubleshooting:Boot Combination KeysOn the RK platform, it provides serial port combination keys to trigger certain events for debugging and flashing(if unable … Read more

Detailed Explanation and Example Guide of Common GCC Compilation Options

This article is generated by Tencent Yuanbao, with content outline and verification provided by @Xiao Hui~ gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn…] [-Wpedantic] [-Idir…] [-Ldir…] [-Dmacro[=defn]…] [-Umacro] [-foption…] [-mmachine-option…] [-o outfile] [@file] infile… 1 Directory Options 1.1 Specifying Header File Search Path (-I) When header files are not in standard directories (such as <span>/usr/include</span>), … Read more

Is Rust Really Harder Than Other Languages? The Strictness at Compile Time Brings Peace of Mind at Runtime

Introduction In the world of programming languages, Rust has long been labeled as “difficult to learn.” Many developers find themselves tormented by concepts like the borrow checker and lifetimes when they first encounter Rust. But is this “difficulty” label really fair? Today, we will not discuss how hard Rust is to learn, but rather take … Read more

Multi-Core Real-Time Operating System RTEMS (9) – GDB Debugging System

Technical experience sharing, welcome to follow and provide guidance The gdb tool can debug the RTEMS operating system. This article introduces how to use gdb for debugging. 1. Setting Safe-Path There are three methods to set the safe-path, as follows: 1.1 Specify Path We can set our desired path as the safe-path, as shown below: … Read more

Common Commands for DDR and NPU on AllWinner MR536

In the AllWinner MR536 Tina5 Linux system environment, the commonly used debugging commands on the board are as follows:1. Mount debugfs (the /sys/kernel/debug directory will depend on this) mount -t debugfs none /sys/kernel/debug 2. Get DDR frequency cat /sys/kernel/debug/clk/clk_summary | grep ddr After execution, it may return the following content: pll-ddr 5 5 0 2784000000 … Read more

Challenges in FPGA Syntax

The “syntax” of FPGA (Field Programmable Gate Array) essentially refers to the rules for using hardware description languages (HDL, such as Verilog and VHDL) and associated design tools to describe hardware circuit logic. Compared to software programming languages (like Python and C++), the core difficulty of FPGA syntax arises from the conflict between its “hardware … Read more

MCUViewer: The “Eye” of Embedded Debugging for One-Click Visualization of Variables and Traces

What is MCUViewer?MCUViewer (formerly STMViewer) is a GUI debugging tool specifically designed for MCU developers, consisting of two core modules: Module Main Functionality Applicable Scenarios Variable Viewer Real-time reading of variable values in RAM, supporting plotting, logging, and manual value modification Monitoring global variables, debugging algorithm parameters Trace Viewer Parsing SWO traces, displaying high-frequency signals, … Read more

Notes on Learning and Validating ARM CoreSight

Notes on Learning and Validating ARM CoreSight

1. Introduction to CoreSight CoreSight is a new debugging architecture launched by ARM in 2004, designed for debugging and tracing complex SoC implementations. A variety of CoreSight components make up a CoreSight system. CoreSight products include various tracing macro units for ARM processors, system and software measurement, and a complete set of IP blocks for … Read more

Analysis of Answers for Assembly Language Experiment 13-2

Analysis of Answers for Assembly Language Experiment 13-2

“Assembly Language”, 3rd Edition by Wang Shuang Chapter 13: int Instruction (Page 262) Experiment 13: Writing and Applying Interrupt Routines ———————————— Note: This is the code example and analysis for Experiment 13, Question 2. ———————————– (2) Write and install the int 7cH interrupt routine, which implements the functionality of the loop instruction. Parameters: (cx) = … Read more

Analysis of Answers for Assembly Language Experiment 12

Analysis of Answers for Assembly Language Experiment 12

“Assembly Language” 3rd Edition by Wang Shuang Chapter 12: Internal Interrupts (Page 251) Experiment 12: Writing the Handler for Interrupt 0 Write the handler for interrupt 0, so that when a division overflow occurs, the string “divide error!” is displayed in the center of the screen, and then return to DOS. Requirements: Carefully track and … Read more