ECE472/572 (UCLX) Assignment 11

Prepare for the lab

Answer these questions while doing this lab – they will help you understand the procedure and better prepare for the tests.

Activity 1 (30pts.)

The Linux portion of this activity was prepared by Mr. Samul Price, class of 2009. It is based on the book published at .
The flashing keyboard example was revised by Mr. Matthew Guttag, class of 2012.
The ucLinux portion of this activity was originally prepared by Mrs. Asha Pai, class of 2010.
The entire procedure was revised to make operations more efficient by Mr. Anthony Podkowa, class of 2012.
Mr. Andy Publes, class of 2013, initiated upgrade of ioctl to unlocked_ioctl.  Both versions would work in kernel 2.6, but only the latter one works in kernel 3.2.
Ms. Kavya Gorrepati, class of 2015, investigated which (meta)packages are really required to compile a kernel module.
Mr. Theodore Wiersema, class of 2016, and Mr. Timothy De Pasion, class of 2016 have tested the lab for Ubuntu 14 and reported changes in names of log files. They have also tested it thoroughly on Buildroot for Beaglebone.
Mr. Edward Sandor, class of 2017, pointed out possibility of deadlock in the device driver code improvement that was introduced earleir on on 2017 and since then corrected.
Mr. Cody Frye, class of 2018, discovered an outdated library header file which originally caused complier erros in Kernel 4.13 until the reference to a library header was corrected - the error dates back to the original Kernel 2.6 tutorial but did not show up until security updates caused changes in data structures.

Test how a module can be added or removed from a Linux kernel

Test how a device driver can be created and added to a Linux kernel

One class of module is the device driver. List all of the contents in the /dev folder. Each one of these devices has a device driver attached to it. Run the following command ls -l /dev | head -5 You will see two numbers separated by a comma after the user and group information. The first number represents the device driver controlling that the hardware. This is known as the major number. The second number being different shows that the driver sees this as a separate piece of hardware. Device drivers come in to flavors. Character devices, and block devices. The first letter seen tells you if a device is a character device ‘c’, or block device ‘b’.

One more module can be examined and played with (Optional)

Now that you are done with the assignment consider playing with a flashing keyboard device driver for kernel versions that come with Ubuntu 10 or kernel versions that come with Ubuntu 8.

Activity 2 (30pts.)

Test how a module can be added or removed from the ucLinux kernel

Test how a device driver can be created and added to a ucLinux kernel


Drop the SD card with the file system for your embedded Linux in the instructor's office for verification when more lab work accumulates as discussed in the lectures.
Drop the file with the information collected during the exercise as instructed in the corresponding assignment drop box on Sakai.

Thank you.

web site front local main page local list page general bookmarks software bookmarks go back copyright info