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