{"id":{"repo_id":"vt","oai_identifier":"oai:vtechworks.lib.vt.edu:10919/115472"},"canonical_url":"https://search.dev.ndltd.org/etd/vt/oai:vtechworks.lib.vt.edu:10919/115472","repository":{"repo_id":"vt","name":"Virginia Tech","base_url":"https://vtechworks.lib.vt.edu/oai/request"},"display":{"title":"Adaptive Firmware Framework for Microcontroller Development","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.","abstract_html":"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.","abstract_has_math":false,"creators":["Tremaroli, Nicholas James"],"institution":"Virginia Tech","degree_name":"Master of Science","degree_level":"masters","degree_discipline":"Computer Engineering","degree_department":"Electrical and Computer Engineering","school":null,"contributors":[],"advisors":[],"committee_chairs":["Leonessa, Alexander"],"committee_members":["Nazhandali, Leyla","Wicks, Alfred L."],"year":2023,"date_issued":"2023-06-21","date_published":"2023-06-21","updated_at":"2026-07-22T22:20:41Z","subjects":["Firmware","Microcontroller","Framework","Robotics","Humanoid","Low-Level Networking","Low-Level Controls"],"languages":["en"],"rights":["Creative Commons Attribution 4.0 International"],"rights_urls":["http://creativecommons.org/licenses/by/4.0/"],"identifier_entries":[{"key":"dc:identifier.other","label":"Dc Identifier Other","values":["vt_gsexam:37806"],"render_values":[{"text":"vt_gsexam:37806","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/10919/115472","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.committeechair","label":"Committee Chair","values":["Leonessa, Alexander"]},{"key":"dc:contributor.committeemember","label":"Committee Member","values":["Nazhandali, Leyla","Wicks, Alfred L."]},{"key":"dc:contributor.department","label":"Department","values":["Electrical and Computer Engineering"]},{"key":"dc:creator","label":"Author","values":["Tremaroli, Nicholas James"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2023-06-22T08:00:14Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2023-06-22T08:00:14Z"]},{"key":"dc:date.issued","label":"Date","values":["2023-06-21"]},{"key":"dc:publisher","label":"Institution","values":["Virginia Tech"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Engineering"]},{"key":"thesis:degree_level","label":"Degree Level","values":["masters"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master of Science"]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["Virginia Polytechnic Institute and State University"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Firmware","Microcontroller","Framework","Robotics","Humanoid","Low-Level Networking","Low-Level Controls"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Creative Commons Attribution 4.0 International"]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://creativecommons.org/licenses/by/4.0/"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.other","label":"Dc Identifier Other","values":["vt_gsexam:37806"]},{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://hdl.handle.net/10919/115472"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["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."]},{"key":"dc:description.abstractgeneral","label":"General Abstract","values":["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."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["Master of Science"]},{"key":"dc:format.medium","label":"Dc Format Medium","values":["ETD"]},{"key":"dc:title","label":"Title","values":["Adaptive Firmware Framework for Microcontroller Development"]}]}],"canonical_facts":{"dc:contributor.committeechair":["Leonessa, Alexander"],"dc:contributor.committeemember":["Nazhandali, Leyla","Wicks, Alfred L."],"dc:contributor.department":["Electrical and Computer Engineering"],"dc:creator":["Tremaroli, Nicholas James"],"dc:date.accessioned":["2023-06-22T08:00:14Z"],"dc:date.available":["2023-06-22T08:00:14Z"],"dc:date.issued":["2023-06-21"],"dc:description.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."],"dc:description.abstractgeneral":["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."],"dc:description.degree":["Master of Science"],"dc:format.medium":["ETD"],"dc:identifier.other":["vt_gsexam:37806"],"dc:identifier.uri":["http://hdl.handle.net/10919/115472"],"dc:language.iso":["en"],"dc:publisher":["Virginia Tech"],"dc:rights":["Creative Commons Attribution 4.0 International"],"dc:rights.uri":["http://creativecommons.org/licenses/by/4.0/"],"dc:subject":["Firmware","Microcontroller","Framework","Robotics","Humanoid","Low-Level Networking","Low-Level Controls"],"dc:title":["Adaptive Firmware Framework for Microcontroller Development"],"dc:type":["Thesis"],"thesis:degree_discipline":["Computer Engineering"],"thesis:degree_level":["masters"],"thesis:degree_name":["Master of Science"],"thesis:institution_name":["Virginia Polytechnic Institute and State University"]},"updated_at":"2026-07-22T22:20:41Z"}