Abstract

This article describes improved version of our source-level debugger for Arduino. The debugger can be used to debug Arduino programs using GNU debugger GDB with Eclipse or Visual Studio Code as the visual front-end. It supports all the functionally expected from a debugger such as stepping through the code, setting breakpoints, or viewing and modifying variables. These features are otherwise not available for the popular AVR-based Arduino boards without an external debug probe and modification of the board. With the presented debugger it is only needed to add a program library to the user program and optionally replace the bootloader. The debugger can speed up program development and make the Arduino platform even more usable as a tool for controlling various experimental apparatus or teaching computer programming. The article focuses on the new features and improvements we made in the debugger since its introduction in 2016. The most important improvement over the old version is the support for inserting breakpoints into program memory which allows debugging without affecting the speed of the debugged program and inserting breakpoints into interrupt service routines. Further enhancements include loading the program via the debugger and newly added support for Arduino Mega boards.

Highlights

  • IntroductionIt started as an educational tool in 2003 and evolved into a widespread platform for prototyping, controlling various devices and for teaching computer programming

  • Arduino is a very popular prototyping platform with a microcontroller (MCU)

  • Arduino is used in scientific laboratories as a low-cost multipurpose device for controlling various experimental apparatus in a wide range of areas

Read more

Summary

Introduction

It started as an educational tool in 2003 and evolved into a widespread platform for prototyping, controlling various devices and for teaching computer programming. It is frequently used in courses focused on embedded systems, robotics, and the like. [5] concludes that Arduino boards may be inexpensive tool for many psychological and neurophysiological labs, [6] based their device to abate tremors for patients with Parkinson’s disease on this platform, [7] uses Arduino to generate pulsatile flow rate for biofluid dynamics research, [8] uses distributed network of Arduino boards acting as remote servers in a system controlling capacitive energy storage and [9] used Arduino for real-time monitoring of air quality in urban area.

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call