Virtual peripheral interfaces in emulated embedded computer systems
dc.contributor.advisor | Garg, Vijay K. (Vijay Kumar), 1963- | |
dc.creator | Platt, Evan Robert | |
dc.date.accessioned | 2017-03-23T15:06:53Z | |
dc.date.available | 2017-03-23T15:06:53Z | |
dc.date.issued | 2016-12 | |
dc.date.submitted | December 2016 | |
dc.date.updated | 2017-03-23T15:06:53Z | |
dc.description.abstract | Small form-factor single-board computers (SBCs) have become a popular platform chosen by hobby and professional developers to host software projects. In recent years, the Raspberry Pi has become the most popular platform available, in part due to its ability to run a full-blown Linux operating system – the same distributions available for desktop PCs. This results in greater ease of use, and a familiar software environment for users. No matter what operating system is running on the developer’s PC, software to be run on the SBC can be debugged by running it under QEMU, a multi-platform emulation software. However, if the peripheral input/output pins of the SBC are to be used by the software under development, existing emulator capabilities are insufficient for debugging as they do not offer general purpose input/output (GPIO) capabilities. This project implements a solution to GPIO debugging while using an emulated SBC – a virtual GPIO interface that is shared with the emulation’s host PC. In order to make use of the virtual interface a software solution is also presented for each side of the interface – the SBC program and the peripheral emulated by the host PC. To facilitate emulation of an SBC program, a library commonly used for input/output interactions is modified to work within QEMU. To provide an example of peripheral emulation, custom LED and button widgets for the Qt user interface framework are implemented. Finally, a performance test is run to demonstrate the virtual interface’s usefulness to developers. | |
dc.description.department | Electrical and Computer Engineering | |
dc.format.mimetype | application/pdf | |
dc.identifier | doi:10.15781/T2SN01893 | |
dc.identifier.uri | http://hdl.handle.net/2152/46169 | |
dc.language.iso | en | |
dc.subject | Raspberry Pi | |
dc.subject | QEMU | |
dc.subject | Embedded | |
dc.subject | Emulation | |
dc.subject | GPIO | |
dc.title | Virtual peripheral interfaces in emulated embedded computer systems | |
dc.type | Thesis | |
dc.type.material | text | |
thesis.degree.department | Electrical and Computer Engineering | |
thesis.degree.discipline | Electrical and Computer engineering | |
thesis.degree.grantor | The University of Texas at Austin | |
thesis.degree.level | Masters | |
thesis.degree.name | Master of Science in Engineering |