The Virtualization of Development Boards in the Virtual Laboratory of Microprocessor Technology Zden k Vaší ek, Zbyn k K ivka Faculty of Information Technology, Brno University of Technology 612 00 Brno, Czech Republic {vasicek, krivka}@fit.vutbr.cz Abstract — This paper describes the concept and the realization of a virtual laboratory of microprocessor technology that has been created at our faculty. The virtual laboratory is an online platform that provides access to the laboratory workplaces during the evenings or weekends when the laboratory is closed. It allows students to work on the individual projects remotely from their home with nearly the same comfort as they work locally. This paper proposes and evaluates two implementation techniques for the virtualization of the hardware equipments in the laboratory. Moreover, it introduces our own developed tools to support the virtualization and to help to inexperienced embedded system developers (in our case students). Keywords — microprocessor technology, virtual laboratory I. INTRODUCTION While the performance of the common computers has been dramatically increased in recent years, the costs of the hardware remain nearly at the same level and thus the costs per a performance unit rapidly drop down. This improvement causes that the virtualization that was utilized only in the large data centers becomes a common technique how to consolidate the hardware and software resources. On top of that, recent hardware developments have been partially motivated to reduce the cost of virtualization and thus even the commercial off-the-shelf processors have hardware features that support virtualization. This growth had allowed the virtualization to be accessible not only for the enterprise sector but also for small business, educational organizations, or even for individuals. The main benefit of the virtualization is that the consolidation of the servers that are often underutilized greatly reduces hardware, maintenance, and operation cost. The Faculty of Information Technology is a technically oriented college where the courses are taught not only at the theoretical but also at practical level. The hardware oriented courses consist usually of the theoretical lectures that are accompanied by practical laboratories. In the practical laboratories, the students have the opportunity to improve and strengthen their knowledge since they have to face to the practical problems of the discussed topics. One example is the microprocessor technology course. The laboratories are composed of several classes that are focused on different aspects of the embedded systems programming. The students use a development kit that has been designed exactly for the needs of this course. This kit is equipped with a common microcontroller accompanied with the standard peripherals (UART, USB, SPI, PWM, etc.). The students can easily learn to work with the peripherals and utilize this knowledge in practice. However, the main disadvantage of the practical laboratories is that they are accessible only during the scheduled lectures. Considering that this course is lectured in bachelor study programme, there is seldom a free seat. This paper introduces the concept and the realization of a virtual laboratory of microprocessor technology. The virtual laboratory is an online platform that provides access to the laboratory workplaces during the evenings or weekends when the laboratory is closed. Thus this project offers the students the opportunity to work on the individual projects remotely from their home. The remote workplace is equipped with development boards as well as measurement tools (analog oscilloscope and signal generator) that are accessible via USB. Hence the students have nearly the same comfort as they work locally. Apart from the standard development tools that are used for embedded systems development, we have developed own tools that are designed for inexperienced developers (in our case students with basic domain knowledge) of the embedded systems. This paper is organized as follows. Second section describes concept of the virtual laboratory and the implementation phase in which we have to face to several challenges and tasks. The third section introduces the hardware and software tools that were developed with aim to make the development kits available remotely. The fourth section describes the details on the virtualization of a laboratory workplace including the virtualization of the development kits. The last section concludes the paper. II. VIRTUAL LABORATORY A. Introduction Virtualization is a technique that allows multiple operating systems safely coexist on one physical machine. The physical machine is controlled by a small privileged kernel, commonly referred as a hypervisor, which switches the operating systems to provide an illusion of one or more real machines. The virtualization can be introduced for several reasons. The virtualization enables to a) avoid incompatibilities, b) reduce the costs and time of the testing, 420 978-1-61284-361-2/11/$26.00 c 2011 IEEE