VTechWorks staff will be away for the winter holidays until January 5, 2026, and will respond to requests at that time.
 

Adaptive Firmware Framework for Microcontroller Development

TR Number

Date

2023-06-21

Journal Title

Journal ISSN

Volume Title

Publisher

Virginia Tech

Abstract

Firmware development for Low-Level Controllers is an extremely complex task. Single-threaded microcontrollers are most commonly used for these controllers and thus are only capable of executing a single task at a time. Microcontroller software tends to be designed for an extremely specific task with little room for scalability or code reuse. Additionally, the state of a microcontroller at run-time is very difficult to observe and thus makes it harder to debug and develop these control systems. To alleviate these development issues, a software framework was designed to simplify firmware development for Hardware Abstract Layered (HAL) control systems. The software framework was implemented on Texas Instruments TM4C123GXL Tivas on a multi-joint robot with the purpose of experimenting on a distributed microcontroller system. All of the software for the microcontroller was implemented into one program with initialization files from the high-level controller to configure each individual Tiva based on its functionality in the distributed system. The EtherCAT communication protocol is used primarily for its fast communication speed between high-level and low-level controllers. A basic GUI development environment accompanies the framework to aid in the initial development of a custom controller firmware and thus reduce development time. Additionally, this framework is designed to be easily scalable such that a real-time operating system (RTOS) can be implemented with minimal effort should the developer desire to do so. The proposed software framework thus overcomes major challenges when developing firmware for low-level controllers making development overall less time-consuming. Further, this framework can be used for many different robotic applications with a low-level multi-layered control architecture.

Description

Keywords

Firmware, Microcontroller, Framework, Robotics, Humanoid, Low-Level Networking, Low-Level Controls

Citation

Collections