Hello everyone, I am the Mixed Bag Master.
Previously, I shared a list of embedded software tools! It listed some commonly used tools that everyone is familiar with.
This time, we will summarize some lesser-known but very practical auxiliary tools!
VSPD
Virtual Serial Port Driver (VSPD) is a virtual serial port software. Virtual serial port software simulates physical serial interfaces, completely replicating the functionality of hardware COM interfaces, and is recognized by the operating system and serial applications as real ports.
When writing upper computer for serial port, debugging is required. One way is to communicate with the lower computer for testing; another way is to use virtual serial port software for testing.
VSPD can virtualize two serial ports at once, allowing for self-send and receive debugging.


At this point, we can see these two virtual serial ports in the device manager:

Now we can open two serial port debugging assistants for send and receive testing:

Previous article: Tools | Sharing on the use of virtual serial port software
VirtLCD
VirtLCD is an LCD simulator. When using VirtLCD, we also need a demo (VirtSTM32) project to write our interface design code, which can be quickly moved to the STM32 project after debugging.


Previous article: Practical | Use of LCD simulator
VOFA+
VOFA+ (Vodka) is a plugin-driven high-degree-of-freedom upper computer. It is a universal data debugging tool that makes graphical debugging as simple as serial port debugging. By printing strings or sending hexadecimal numbers, data visualization operations can be completed.

Previous article: Introduction and simple usage of VOFA+
Bus Hound
Bus Hound is a development tool for monitoring and controlling bus data packets on a PC. It is used to capture protocol packets and input/output operations from devices, functioning as a powerful bus protocol analyzer.
For example, when debugging between the lower computer and USB upper computer, this tool can monitor whether the data sent by the upper computer is correct.

Valgrind
Valgrind is a collection of simulation debugging tools under Linux, open source (GPL V2). The Valgrind tool includes multiple tools such as Memcheck, Cachegrind, Helgrind, Callgrind, and Massif.


Previous article: Tools | Using the Valgrind simulation debugging tool
Doxygen
Doxygen can generate corresponding .chm
format manuals based on fixed-format code comments. Supported languages include many, such as C/C++/C#/Objective-C/PHP/Java, etc.




Meld
Meld is a cross-platform
, visual comparison and merging tool. It provides bi-directional and tri-directional comparisons of files and directories and supports many popular version control systems.
Meld official website:
http://meldmerge.org/
Meld features:
-
Bi-directional and tri-directional comparisons of files and directories. -
File comparisons update with your input. -
Automatic merge mode and operations on changed blocks help make merging easier. -
Visualization makes it easier to compare your files. -
Supports Git, Bazaar, Mercurial, Subversion
, etc.

Previous article: Sharing a compact and useful code comparison tool
TscanCode
TscanCode is a static code scanning tool developed by Tencent, originally based on cppcheck for secondary development. It was later re-developed to support not only C/C++ but also C# and Lua languages, effectively discovering issues like null pointers, out-of-bounds, uninitialized variables in C/C++, null references in C#, and uninitialized variables in Lua.
TscanCode’s Github link:
https://github.com/Tencent/TscanCode


Previous article: Recommended a useful embedded static code scanning tool!
LVGL GUI Guider
GUI Guider is a GUI design tool developed by NXP for LVGL, allowing GUI page design through drag-and-drop controls, accelerating GUI design. The designed GUI page can be simulated on a PC, and after confirming the design is complete, C code can be generated and integrated into the MCU project.

Previous article: Practical Tools | Sharing on the use of GUI Guider
Panda C++ IDE
Panda C++ IDE is a domestic, cross-platform, lightweight, easy-to-use, open-source C/C++ integrated development environment!
-
Lightweight and efficient: Panda C++ is developed based on QT and C++, using a built-in lightweight code analyzer for intelligent syntax analysis, requiring minimal memory and CPU resources during runtime, providing a smooth experience even on low-spec machines. -
Multi-platform support: Panda C++ supports Windows 7/8/10, Linux, etc. It provides the same high-quality programming experience across various operating systems. -
GIT version management: Panda C++ has built-in git support for easy version management of projects or working folders (requires additional installation of git). -
Productivity enhancement: By integrating features like automatic indentation, intelligent code completion, intelligent syntax highlighting, and real-time syntax checking, Panda C++ provides a smooth code editing experience, significantly improving coding efficiency.