Main page | Study Branches/Specializations | Groups of Courses | All Courses | Roles                Instructions

A course is the basic teaching unit, it's design as a medium for a student to acquire comprehensive knowledge and skills indispensable in the given field. A course guarantor is responsible for the factual content of the course.
For each course, there is a department responsible for the course organisation. A person responsible for timetabling for a given department sets a time schedule of teaching and for each class, s/he assigns an instructor and/or an examiner.
Expected time consumption of the course is expressed by a course attribute extent of teaching. For example, extent = 2 +2 indicates two teaching hours of lectures and two teaching hours of seminar (lab) per week.
At the end of each semester, the course instructor has to evaluate the extent to which a student has acquired the expected knowledge and skills. The type of this evaluation is indicated by the attribute completion. So, a course can be completed by just an assessment ('pouze zápočet'), by a graded assessment ('klasifikovaný zápočet'), or by just an examination ('pouze zkouška') or by an assessment and examination ('zápočet a zkouška') .
The difficulty of a given course is evaluated by the amount of ECTS credits.
The course is in session (cf. teaching is going on) during a semester. Each course is offered either in the winter ('zimní') or summer ('letní') semester of an academic year. Exceptionally, a course might be offered in both semesters.
The subject matter of a course is described in various texts.

BI-MPP Methods of interfacing peripheral devices Extent of teaching: 2P+2C
Instructor: Skrbek M. Completion: Z,ZK
Department: 18103 Credits: 4 Semester: Z

Annotation:
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.

Lecture syllabus:
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.

Seminar syllabus:
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

Literature:
[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. ISBN 978-1977593375.
[4] Gook M. : Hardwarová rozhraní. Průvodce programátora. Computer Press, 2006. ISBN 978-80-251-1019-5.

Requirements:
Basic knowledge in C programming, basic knowledge in Linux and Windows operating systems

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz

The course is also part of the following Study plans:
Study Plan Study Branch/Specialization Role Recommended semester
BI-BIT.2015 Computer Security and Information technology V 5


Page updated 28. 3. 2024, semester: Z/2023-4, L/2019-20, L/2022-3, Z/2019-20, Z/2022-3, L/2020-1, L/2023-4, Z/2020-1, Z,L/2021-2, Send comments to the content presented here to Administrator of study plans Design and implementation: J. Novák, I. Halaška