MCUViewer: The Ultimate GUI Debugging Tool for Seamless STM32/JLink Integration

MCUViewer: The Ultimate GUI Debugging Tool for Seamless STM32/JLink Integration

IntroductionIs debugging STM32 giving you a headache lately? UART printing is too slow and resource-consuming, and you have to set breakpoints just to check variables. Not to mention, tracking high-frequency signals is nearly impossible… Don’t worry, today I want to introduce you to a powerful tool—MCUViewer—that will completely liberate your debugging process. What is MCUViewer?MCUViewer … Read more

S7-1200: A Beginner’s Guide to Siemens PLC Communication Upgrade

S7-1200: A Beginner's Guide to Siemens PLC Communication Upgrade

Application Overview Hello everyone, I am Bao Ge! Today I bring you a super friendly communication upgrade tutorial for the S7-1200 PLC. As an experienced PLC user, I know that many friends encounter communication issues when first dealing with Siemens PLCs.This S7-1200 is, in my opinion, the most suitable PLC for beginners; it is not … Read more

Understanding the SWD Debug Interface Protocol

Understanding the SWD Debug Interface Protocol

Overview 1.1 What is the SWD Protocol SWD (Serial Wire Debug) is a two-wire debugging interface protocol developed by ARM, specifically designed for debugging and programming Cortex-M series microcontrollers. As a replacement for the traditional JTAG interface, SWD significantly reduces the number of pins while maintaining powerful debugging capabilities, making it the mainstream choice for … Read more

Linux C++ Programming: Practical Debugging of Deadlocks with Shell and GDB

Linux C++ Programming: Practical Debugging of Deadlocks with Shell and GDB

When programming in C++ under the Linux environment, multithreading provides excellent concurrency capabilities, allowing programs to perform more efficiently when handling complex tasks. However, multithreaded programming is not without its challenges; deadlock issues lurk like hidden “killers,” potentially causing programs to become stuck. Once a deadlock occurs, the program is trapped in an unbreakable loop, … Read more

Mastering the GDB Debugger to Enhance Programming Efficiency

Mastering the GDB Debugger to Enhance Programming Efficiency

On the long road of software development, bugs are like “little monsters” hiding in the dark, occasionally jumping out to cause trouble for developers. Once, the European Space Agency (ESA) launched the Ariane 5 rocket for the first time, which was an important moment in the history of space exploration, but a single line of … Read more

Python Code Debugging Techniques: Quick Solutions to Common Errors (Part 1)

Python Code Debugging Techniques: Quick Solutions to Common Errors (Part 1)

⬆ Follow “Python-Wu Liu Qi” to learn easily together~ After reading this article, your code debugging skills will improve 🌈Hey, friends! Today, let’s talk about those annoying error messages in Python programming. Writing code and encountering errors is a common occurrence. When faced with a pile of English error messages, how can you quickly identify … Read more

Basics of Assembly: Hands-On with General-Purpose Registers

Basics of Assembly: Hands-On with General-Purpose Registers

In the previous article, it was mentioned that in assembly, the content of registers is modified through assembly instructions to control the CPU’s operation. Several classifications of registers were also discussed.Understanding the concepts can be a bit dry, so today we will look at several registers through debugging on a PC, and also modify the … Read more

C Language String Functions: A Guide from Basics to Mastery

C Language String Functions: A Guide from Basics to Mastery

Scan the code to follow Chip Dynamics and say goodbye to “chip” blockage! Search WeChatChip Dynamics The C language does not have a true string type; instead, it uses a character array + ‘\0’ (null character) to represent a string. Thus, <string.h> provides a group of “text wizards” (string functions) to help us manipulate these … Read more

CNC Hardware and Software Development Environment Used in C Language Executors

CNC Hardware and Software Development Environment Used in C Language Executors

CNC hardware used in C language executors (1) The available memory capacity of the macro executor is ((custom soft capacity) – (C language executor capacity)) (2) These display devices are VGA graphic devices. “16 colors”, “256 colors”, and “16 grayscale” refer to the number of colors that can be displayed simultaneously on the screen. Applications … Read more

Cross-Platform Embedded Development Toolchain: PlatformIO

Cross-Platform Embedded Development Toolchain: PlatformIO

Scan to FollowLearn Embedded Together, learn and grow together Introduction PlatformIO is a cross-platform embedded development toolchain that supports over 50 development platforms and more than 2000 development boards. Official resource link (copy to browser to open): https://docs.platformio.org/en/latest/what-is-platformio.html It integrates features such as a build system, library management, debugging tools, and continuous integration, providing embedded … Read more