Adaptive Firmware Framework for Microcontroller Development
Files
TR Number
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
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.