1 |
Adaptive Firmware Framework for Microcontroller DevelopmentTremaroli, Nicholas James 21 June 2023 (has links)
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. / Master of Science / Microcontrollers and embedded systems are used everywhere in our daily lives in the technology we love. From microwaves, to cars, to phones, to toaster ovens, these systems are implemented in practically every piece of technology we use on a daily basis. Software development of these systems tends to be extremely complicated and complex. Hence, the software designed for these systems is usually overly specific to the device with little room for code reuse and/or scalability. This issue is extremely present in the field of robotics. To alleviate this issue, this work proposed, designed, and implemented a software framework for microcontrollers in a distributed network for robotics applications. Additionally, a graphical interface was developed to customize the software framework for a developer's specific needs regarding what the application needs to do.
|
Page generated in 0.0527 seconds