Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
16 years ago

button device driver(uClinux) for linux

Dear all.

I do testing button device driver(uClinux) for linux(Cyclone III 3C120 FPGA Dev kit).

1. In SOPC system, button pio name is user_pb_pio_4in(input ports only, Either edge, Interrupt : Edge).

2. sopc-create-header-files -- single custom_fpga.h

cp custom_fpga.h nios2-linux/linux-2.6/arch/nios/include/asm

make menuconfig

NiosII Configuration --->NiosII FPGA configuration --->(X) CUSTOM_FPGA

3. Edite de2_botton.c# define BUTTONS_BASE na_KEY# define BUTTONS_IRQ na_KEY_irq

to# define BUTTONS_BASE na_user_pb_pio_4in# define BUTTONS_IRQ na_user_pb_pio_4in_irq

4. Copy de2_botton.c, de2_include.h(http://www.hs-augsburg.de/~carcass/nios2-uclinux/) to linux-2.6/drivers/char

Edite Kconfig, Makefile

<Kconfig>

config DE2_BUTTONS

tristate "DE2 BUTTONS MODULE"

depends on NIOS || NIOS2

help

rudimentary module, which makes access to the buttons

(reading out the last pressed button(s)).

MAJOR number: 244

DEVICE FILE: /dev/buttons

<Makefile>

obj-$(CONFIG_DE2_BUTTONS) += de2_buttons.o

5. make menuconfig

device drivers > character devices >

[*] DE2_BUTTONS MODULE

6. make

I meet follow error message

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:64: error: 'na_user_pb_pio_4in' undeclared here (not in a function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c: In function 'button_isr':

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:73: error: 'np_pio' undeclared (first use in this function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:73: error: (Each undeclared identifier is reported only once

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:73: error: for each function it appears in.)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:73: error: 'pio_buttons' undeclared (first use in this function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:73: error: expected expression before ')' token

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c: In function 'button_start':

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:107: error: 'np_pio' undeclared (first use in this function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:107: error: 'pio_buttons' undeclared (first use in this function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:107: error: expected expression before ')' token

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:117: error: 'na_user_pb_pio_4in_irq' undeclared (first use in this function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:117: error: 'SA_INTERRUPT' undeclared (first use in this function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:117: warning: passing argument 2 of 'request_irq' from incompatible pointer type

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c: In function 'button_init':

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:216: error: 'np_pio' undeclared (first use in this function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c: In function 'button_exit':

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:244: error: 'np_pio' undeclared (first use in this function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:244: error: 'pio_buttons' undeclared (first use in this function)

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:244: error: expected expression before ')' token

/home/sls/Nios2-Linux/Linux_source/linux-2.6/drivers/char/de2_buttons.c:250: error: 'na_user_pb_pio_4in_irq' undeclared (first use in this function)

make[4]: *** [drivers/char/de2_buttons.o] &#50724;&#47448; 1

make[3]: *** [drivers/char] &#50724;&#47448; 2

make[2]: *** [drivers] &#50724;&#47448; 2

make[1]: *** [sub-make] &#50724;&#47448; 2

make[1]: Leaving directory `/home/sls/Nios2-Linux/Linux_source/linux-2.6'

make: *** [linux] &#50724;&#47448; 1

Please help me

Sorry for my poor English.
No RepliesBe the first to reply