|
Optimising the Reset Functionality of Arduino Boards through Firmware Modification Host Publication: Euromicro Conference on Digital System Design 2015 Authors: S. Thielemans, M. Bezunartea, J. Tiberghien, A. Touhafi and K. Steenhaut Publication Year: 2015
Abstract: Arduino boards reset upon establishing a serial connection a useful feature that helps to automate firmware uploading over the serial interface. While being helpful for developing purposes, this behaviour is not at all practical when opening a general-purpose connection to an Arduino board in operation. A reset causes the MCU to be reinitialised, losing all information in RAM. As a result, state information of actuators such as position information of stepper motors, critical sensor information, etc. is lost in case these values are not saved in EEPROM. Multiple hardware-based workarounds exist to circumvent this possible issue however they are not compatible with automatic uploading of firmware. We propose an optimised serial-port based reset procedure with additional restrictions such that Arduino boards no longer automatically reset upon establishing a serial connection, while still allowing resets to be triggered remotely to start automated firmware uploading. This improved procedure is implemented in the firmware of the MCU responsible for the USB communication. Hardware adjustments are not necessary. The AVRDUDE firmware uploading tool, included and used in the Arduino IDE, requires modification in order to operate with the proposed solution. However these modifications can be made backwards compatible with non-modified Arduino boards, allowing easy migration.
|
|