19.02.2015 Views

An Introduction to Linux Device Driver Development - Computer ...

An Introduction to Linux Device Driver Development - Computer ...

An Introduction to Linux Device Driver Development - Computer ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!