Essential Tools for Embedded Development

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.

Essential Tools for Embedded Development
Essential Tools for Embedded Development

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

Essential Tools for Embedded Development

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

Essential Tools for Embedded Development

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.

Essential Tools for Embedded Development
Essential Tools for Embedded Development

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.

Essential Tools for Embedded Development

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.

Essential Tools for Embedded Development

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.

Essential Tools for Embedded Development
Essential Tools for Embedded Development

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.

Essential Tools for Embedded Development
Essential Tools for Embedded Development
Essential Tools for Embedded Development
Essential Tools for Embedded Development

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.
Essential Tools for Embedded Development

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

Essential Tools for Embedded Development
Essential Tools for Embedded Development

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.

Essential Tools for Embedded Development

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.

Essential Tools for Embedded Development

Leave a Comment