Methods of interfacing peripheral devices
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BIE-MPP.21 | Z,ZK | 5 | 2P+2C | anglicky |
- Garant předmětu:
- Miroslav Skrbek
- Přednášející:
- Miroslav Skrbek
- Cvičící:
- Miroslav Skrbek
- Předmět zajišťuje:
- katedra číslicového návrhu
- Anotace:
-
The course is focused on methods for interfacing of peripheral devices. Interfacing of real peripheral devices is focused on techniques based on Universal serial bus (USB). The course includes both PC side and peripheral devices side. Labs are practically oriented. Students gain experience with implementation of relevant parts of USB devices, Linux and Windows drivers, simple application development, and APIs of selected devices.
- Požadavky:
-
Basic knowledge in C programming, basic knowledge in Linux and Windows operating systems
- Osnova přednášek:
-
1. Introduction, basic terms, PC architecture.
2. Address spaces in PC, virtual memory, interrupt subsystem.
3. System bus (PCI Express), input and output operations, direct memory access.
4. USB 3.0 standard, USB Wireless a USB On-the-Go.
5. SCSI bus and USB mass-storage devices.
6. Peripheral buses (LPC, Firewire, SATA).
7. Development of specific USB devices, hardware support in microcontrollers, firmware.
8. Linux kernel, kernel modules.
9. Character and USB devices in Linux.
10. Microsoft Windows drivers.
11. Mapping of Bluetooth devices into Linux and Windows.
12. Mapping audio and video devices into Linux and Windows.
13. Accessing peripherals form virtual machines.
- Osnova cvičení:
-
1. Introduction, development tools
2. Peripheral operation at the register level
3. PCI device configuration
4. Detection and identification USB devices, mouse data reading
5-6. USB mass-storage data reading
7. USB device descriptor request implementation
8. USB bulk transfer implementation
9. Character driver implementation in Linux
10. USB device driver implementation in Linux
11. Windows driver implementation
12. Audio/video data transfers
13. Assessment
- Cíle studia:
-
The aim of the course is to teach students methods of connecting peripheral devices and their application interfaces. Another goal is to provide students with enough space to gain practical experience with peripheral interconnection through a set of tasks.
- Studijní materiály:
-
1. Jackson M., Budruk R., Winkles J., Anderson D. : PCI Express Technology 3.0.. MindShare Press, 2012. ISBN 978-0977087860.
2. Madieu J. : Linux Device Drivers Development: Develop customized drivers for embedded Linux. Packt Publishing, 2017. ISBN 978-1785280009.
3. Yosifovich P. : Windows Kernel Programming. CreateSpace Independent Publishing Platform, 2019. ISBN978-1977593375.
4. Gook M. : Hardwarová rozhraní. Průvodce programátora. Computer Press, 2006. ISBN 978-80-251-1019-5.
- Poznámka:
- Další informace:
- https://courses.fit.cvut.cz
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bachelor specialization, Computer Engineering, 2021 (PS)
- Bachelor specialization, Information Security, 2021 (volitelný předmět)
- Bachelor specialization, Software Engineering, 2021 (volitelný předmět)
- Bachelor specialization, Computer Science, 2021 (volitelný předmět)
- Bachelor specialization, Computer Networks and Internet, 2021 (VO)
- Bachelor specialization Computer Systems and Virtualization, 2021 (volitelný předmět)