Live Non-Intrusive Debugging of Real-Time ARM Targets

Have you ever tried debugging a beefy IoT-enabled chip connected to the world via Wi-Fi, Bluetooth, Ethernet, or even a good old boring CAN bus? You stop at a breakpoint, look through the variable values, maybe set a few other breakpoints… And find out that the connection has been reset because the other end had a fixed 50-millisecond timeout, and it took you slightly longer to study 10 different variables. I have hit this pothole far too many times, so when designing the key features for VisualGDB 5.5, I decided to do something about it.

Interestingly, most modern ARM devices provide a mechanism for reading their memory in a non-intrusive way, observing variable values, RTOS state, and even executed code branches in real time and without any interference with whatever the CPU is doing, although most modern debugging environments tend to not make use of it. So I’ve set myself a challenge to overcome this limitation and make debugging of real-time connected systems easier, and in this post I will show you what we have managed to accomplish.

Continue reading Live Non-Intrusive Debugging of Real-Time ARM Targets

Announcing STM32MP1 support in VisualGDB

Today we are proud to announce that VisualGDB now fully supports the STM32MP1 device family. This includes:

  • A ready-to-use Windows cross-toolchain┬áthat allows building Linux applications for STM32MP1 without requiring a separate Linux VM. It is fully integrated with VisualGDB and allows creating and debugging projects with a few clicks.
  • A prebuilt Linux-to-Linux cross-toolchain and a set of SD card images based on the official OpenSTLinux distro.
  • A GUI wrapper for the ST-Link programmer that simplifies uploading of the STM32MP1 SD card images without requiring a Linux VM.
  • A Windows build of the STM32MP1 fork of OpenOCD that is fully integrated into VisualGDB and lets you debug STM32MP1 devices in both production and engineering modes.
  • A BSP package with numerous examples from ST that allows quickly exploring various STM32MP1 examples from Visual Studio.

If you are looking for the easiest way to get started with STM32MP1 development, simply download VisualGDB 5.4R11 and use either the Linux or Embedded project wizard to get a working project in seconds.

Update: If you are new to STM32MP1, check out a detailed tutorial on building the OpenSTLinux distro and a compatible SDK from scratch.

Stay tuned! We are working on detailed tutorials showing everything you need to know to get the best out of your STM32MP1 device. Follow us on Twitter to be notified once we publish them.

View earlier posts...