Difference between revisions of "EBC Exercise 26 Device Drivers"
m (Start of a new lab) |
m |
||
| Line 4: | Line 4: | ||
== Minimal Device Driver Example == | == Minimal Device Driver Example == | ||
| + | |||
| + | === Compiling === | ||
Follow the 5 steps given in section 8.1.4 on page 205. You can get a copy of Listing 8-1 here ([[ECE497_Listings_for_Embedded_Linux_Primer_Chapter_8]]). Once finished you will have a file called <code>hello1.c</code> in <code>.../drivers/char/examples</code> and have the kernel configure file and Makefile updated for the new driver. See section 4.4 on page 89 for help with modifying the config files. | Follow the 5 steps given in section 8.1.4 on page 205. You can get a copy of Listing 8-1 here ([[ECE497_Listings_for_Embedded_Linux_Primer_Chapter_8]]). Once finished you will have a file called <code>hello1.c</code> in <code>.../drivers/char/examples</code> and have the kernel configure file and Makefile updated for the new driver. See section 4.4 on page 89 for help with modifying the config files. | ||
| Line 13: | Line 15: | ||
$ make modules | $ make modules | ||
</pre> | </pre> | ||
| − | Mine took a while the first time as it appears to compile all the modules. | + | Mine took a while the first time as it appears to compile all the modules. The second it only took 31 seconds. |
| + | |||
| + | === Moving to Beagle === | ||
| + | |||
| + | On the beagle edit | ||
| + | |||
| + | On the Beagle…Two choices…. | ||
| + | My way: | ||
| + | $ cd /lib/modules/2.6.29-omap1 | ||
| + | $ edit modules.dep | ||
| + | add: | ||
| + | /lib/modules/2.6.29-omap1/kernel/drivers/char/examples/hello1.ko: | ||
| + | sftp …/drivers/char/examples/hello1.ko | ||
| + | to Beagle | ||
| + | /lib/modules/2.6.29-omap1/kernel/drivers/char/examples/ | ||
Revision as of 19:20, 31 March 2011
Chapter 8 of the text [1] gives a nice example of a minimal device driver. The purpose of this lab is to implement that driver.
Minimal Device Driver Example
Compiling
Follow the 5 steps given in section 8.1.4 on page 205. You can get a copy of Listing 8-1 here (ECE497_Listings_for_Embedded_Linux_Primer_Chapter_8). Once finished you will have a file called hello1.c in .../drivers/char/examples and have the kernel configure file and Makefile updated for the new driver. See section 4.4 on page 89 for help with modifying the config files.
Note: There is a typo in Listing 8-2.
If you have created the crossCompileEnv.sh file and sourced it, all you have to do to make the modules is cd to the top of the kernel directory and then:
$ make modules
Mine took a while the first time as it appears to compile all the modules. The second it only took 31 seconds.
Moving to Beagle
On the beagle edit
On the Beagle…Two choices…. My way: $ cd /lib/modules/2.6.29-omap1 $ edit modules.dep add: /lib/modules/2.6.29-omap1/kernel/drivers/char/examples/hello1.ko: sftp …/drivers/char/examples/hello1.ko to Beagle /lib/modules/2.6.29-omap1/kernel/drivers/char/examples/