An Introduction to Linux Device Driver Development - Computer ...
An Introduction to Linux Device Driver Development - Computer ...
An Introduction to Linux Device Driver Development - Computer ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2 Labora<strong>to</strong>ry Exercise #6<br />
Obviously, other hardware/software interactions exist in our system, but Figure 1 focuses on that which<br />
you will provide. Also notice the existence of the kernel-space/user-space boundary. The kernel module<br />
represents the character device driver executing in kernel space, while the user application represents the<br />
code executing in user space, reading and writing <strong>to</strong> the device file, ‘/dev/multiplier’. The device file is not a<br />
standard file in the sense that it does not reside on a disk, rather it provides an interface for user applications<br />
<strong>to</strong> interact with the kernel.<br />
User Application<br />
/dev/multiplier<br />
user space<br />
kernel space<br />
kernel module<br />
multiplication peripheral<br />
software<br />
hardware<br />
Figure 1: Hardware/Software System Diagram<br />
Procedure<br />
1. Compile a kernel module that reads and writes <strong>to</strong> the multiplication peripheral and prints the results<br />
<strong>to</strong> the kernel message buffer.<br />
(a) Create a lab6 direc<strong>to</strong>ry and copy the ‘modules’ direc<strong>to</strong>ry from your lab5 direc<strong>to</strong>ry <strong>to</strong> your lab6<br />
direc<strong>to</strong>ry.<br />
2 ECEN 449