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 Core and uClinux

Altera_Forum
Honored Contributor II
1,050 Views

Hi to all. 

I want to integrate the Opencores I2C Core. How must i name the core in SOPC-Builder? 

When i want to build the kernel the error is: 

 

------------- .... ---------------- 

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

CC drivers/i2c/i2c-dev.o 

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

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

/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/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_1.4.0/linux-2.6.x' 

 

------------ end ------------ 

 

Bye Marco
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
308 Views

Hi Mabcom, 

If you don't modify the kernel 1.4, you could add another I2C component in SOPC Builder! 

Then it will be OK! 

Best Regards!
0 Kudos
Altera_Forum
Honored Contributor II
308 Views

Hi feiwu, 

 

Thanks for your answer. 

But it doesn't work. The Linux I2C Driver from Microtronix will get two I2C Modules? i think the must be named like i2c_0 and i2c_1 ???? 

But in the nios2_system.h the are renamed to:  

# define na_i2c_0_avalonS 0x821208c0# define na_i2c_0_avalonS_irq 5# define na_i2c_0_ahbS 0x80000000# define na_i2c_1_avalonS 0x821208e0# define na_i2c_1_avalonS_irq 7# define na_i2c_1_ahbS 0x80000000 

 

Is this right? I get the same error as above. Why is there the _avalonS added and who add it? The Kernel Build process? 

 

I'm a little confused.. 

 

Thanx 

Marco
0 Kudos
Altera_Forum
Honored Contributor II
308 Views

HI Mabcom. 

I think the name is not important, You could try to add 2 I2C component in SOPC builder.  

It should be OK! 

Best Regards, 

Feiwu
0 Kudos
Reply