Hi,

On Monday 18 February 2008 11:59:27 sphilippe12 wrote:
> In the compilation i have the following errors messages, and the
> module .ko is created, it is running on the target, but i don't
> understand why. Thanks to all

I guess you followed the tutorial on the FoxBoard documentation site? 
That never worked for me. I had same long list of errors you encounter. 

Instead of trying to use the makefile from the tutorial, I managed to include 
my driver-source into the SDK itself. I also created an option in the 
kernel-configuration. So "make menuconfig" shows a new option under "Driver 
settings" for my module.

Here are the  step-by-step instructions for my own driver, "iowarrior". This 
module consists of only two source-files "iowarrior.h" and "iowarrior.c". 
Since the iowarrior is an USB-device it also needs a few device-nodes to be 
created in the FoxBoard-image . I think it should not be too difficult to 
adapt the procedure to your own Kernel Module.

----------------------------------------------------------------------------------------------------
HowTo : Install the iowarrior driver on the foxboard SDK

Here is a short description of how to add the iowarrior kernel-modul as a 
build-option to the FoxBoard-SDK. 
 
In this document "FOX_HOME" refers to the directory where the SDK is 
installed, in other words the directory from which install_svn_sdk.sh was 
run. 

1) Create a directory for the new driver: 
mkdir 
FOX_HOME/devboard-R2_01/os/linux-2.6-tag--devboard-R2_01-1/drivers/fox-normal/iowarrior

2) Copy the driver sources into that directory
cp iowarrior.h 
FOX_HOME/devboard-R2_01/os/linux-2.6-tag--devboard-R2_01-1/drivers/fox-normal/iowarrior/iowarrior.h
cp iowarrior.c 
FIOX_HOME/devboard-R2_01/os/linux-2.6-tag--devboard-R2_01-1/drivers/fox-normal/iowarrior/iowarrior.c

3) Create a compile-option for the iowarrior
add a "FOX_IOWARRIOR" tag to the file 
"FOX_HOME/devboard-R2_01/os/linux-2.6-tag--devboard-R2_01-1/drivers/fox-normal/Kconfig"

----- snip -----
config FOX_IOWARRIOR
        bool "IOWarrior"
----- snap -----
Should look like the FOX_ROTARY-entry in this file

4) Create the Makefile for the iowarrior sources 
Create a new file 
"FOX_HOME/devboard-R2_01/os/linux-2.6-tag--devboard-R2_01-1/drivers/fox-normal/iowarrior/Makefile"
with this one line as content
----- snip -----
obj-$(CONFIG_FOX_IOWARRIOR) += iowarrior.o
----- snap -----

5) Edit the Makefile at  
"FOX_HOME/devboard-R2_01/os/linux-2.6-tag--devboard-R2_01-1/drivers/fox-normal/Makefile"
add this line to the end of the file
----- snip -----
obj-$(CONFIG_FOX_IOWARRIOR)     += iowarrior/
----- snap -----

6) Create a few static device nodes for the iowarrior
Edit file 
"FOX_HOME/devboard-R2_01/packages/devices/acme/Makefile"
these four lines will create device-nodes for 2 iowarrior (each device needs 2 
nodes)
add these lines to the bottom of the file
----- snip -----
        $(MKNOD) -m 0666           $(DEV)/usb/iowarrior0 c 180 208      
        $(MKNOD) -m 0666           $(DEV)/usb/iowarrior1 c 180 209
        $(MKNOD) -m 0666           $(DEV)/usb/iowarrior2 c 180 210
        $(MKNOD) -m 0666           $(DEV)/usb/iowarrior3 c 180 211      
----- snap -----

7) Add a config option for configure
Edit file
"FOX_HOME/devboard-R2_01/configure-files/common/AC_common"
afdd these lines to the file 
----- snip -----
config ACME_IOWARRIOR
        bool "IOWarrior USB driver"
        default "n"
----- snap -----
(Use the ACME_ROTARY-entry as a template)

8) Compile the module
run "make menuconfig"
and select the new option "IOWarrior USB driver" in
"Driver Settings"

run "./configure " and "make " to compile the module and update your foxboard 
to install it.

-------------------------------------------

Hope this helps a bit

Eberhard Fahle

Reply via email to