Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

I2C Build errors

Altera_Forum
Honored Contributor II
1,268 Views

I am using Quartus II 4.2, Nios II development kit 1.1 installation. 

I was able to build the kernel and download successfully for 

altera stratix development board. 

 

Howerver when trying to build kernel with i2c support, 

I am getting errors pasted below: 

 

I have also included the .config file for your reference. 

 

Looks like i have to initialise the na_i2c_* variables for my board. 

Looks like the same needs to be done for na_uart_* variables.  

Can you tell me whether there is a standard way of doing it, any header files, 

Or how to do it  

 

Any help will be appreciated 

 

Errors: 

 

drivers/i2c/.i2c-core.o.d: done. 

CC drivers/i2c/algos/i2c-algo-oc.o 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/algos/i2c-algo-oc.c: In function `i2c_oc_add_bus': 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/algos/i2c-algo-oc.c:385: warning: unused variable `oc_adap' 

drivers/i2c/algos/.i2c-algo-oc.o.d: done. 

LD drivers/i2c/algos/built-in.o 

CC drivers/i2c/busses/i2c-oc.o 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:164: error: `na_i2c_0' undeclared here (not in a function) 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:164: error: initializer element is not constant 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:164: error: (near initialization for `oc_hw_0.base') 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:165: error: `na_i2c_0_irq' undeclared here (not in a function) 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:165: error: initializer element is not constant 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:165: error: (near initialization for `oc_hw_0.irq') 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:170: error: `na_i2c_1' undeclared here (not in a function) 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:170: error: initializer element is not constant 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:170: error: (near initialization for `oc_hw_1.base') 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:171: error: `na_i2c_1_irq' undeclared here (not in a function) 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:171: error: initializer element is not constant 

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x/drivers/i2c/busses/i2c-oc.c:171: error: (near initialization for `oc_hw_1.irq') 

make[4]: *** [drivers/i2c/busses/i2c-oc.o] Error 1 

make[3]: *** [drivers/i2c/busses] Error 2 

make[2]: *** [drivers/i2c] Error 2 

make[1]: *** [drivers] Error 2 

make: *** [_all] Error 2 

make: Leaving directory `/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x'
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
554 Views

They are defined in SOPC builder, and exported to Linux through a dynamic generated header file called nios2_system.h

0 Kudos
Reply