
Hello yannick.niane@micromentis.com,
yannick.niane@micromentis.com wrote:
Hi All, I'm trying to build u-boot with i2c support for a mba2440 board. U-boot version is mba2440-uboot1.1.1.
you use a very old version of u-boot, you should update to current version.
In mba2440.h config file i have selected the i2c commands :
I cannot find such a config file in mainline ...
#define CONFIG_COMMANDS \ (CONFIG_CMD_DFL | \ CFG_CMD_CACHE | \ CFG_CMD_NAND | \ CFG_CMD_PING | \ /*CFG_CMD_EEPROM |*/ \ CFG_CMD_I2C | \ /*CFG_CMD_USB |*/ \ CFG_CMD_REGINFO | \ CFG_CMD_DATE | \ CFG_CMD_FAT | \ CFG_CMD_MMC | \ CFG_CMD_NET | \ CFG_CMD_ELF)
I get the following error when trying to build:
UNDEF_SYM=`arm-linux-objdump -x lib_generic/libgeneric.a board/mba2440/libmba2440.a cpu/arm920t/libarm920t.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a |sed -n -e 's/.*(__u_boot_cmd_.*)/-u\1/p'|sort|uniq`;\ arm-linux-ld -Bstatic -T /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/board/mba2440/u-boot.lds -Ttext 0x30F00000 $UNDEF_SYM cpu/arm920t/start.o \ --start-group lib_generic/libgeneric.a board/mba2440/libmba2440.a cpu/arm920t/libarm920t.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a --no-warn-mismatch -L /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3 -lgcc --end-group \ -Map u-boot.map -o u-boot common/libcommon.a(cmd_i2c.o): dans la fonction << do_i2c_md >>: /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/common/cmd_i2c.c:188: undefined reference to `i2c_read' common/libcommon.a(cmd_i2c.o): dans la fonction << do_i2c_mw >>: /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/common/cmd_i2c.c:287: undefined reference to `i2c_write' common/libcommon.a(cmd_i2c.o): dans la fonction << do_i2c_crc >>: /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/common/cmd_i2c.c:369: undefined reference to `i2c_read' common/libcommon.a(cmd_i2c.o): dans la fonction << mod_i2c_mem >>: /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/common/cmd_i2c.c:458: undefined reference to `i2c_read' /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/common/cmd_i2c.c:507: undefined reference to `i2c_write' common/libcommon.a(cmd_i2c.o): dans la fonction << do_i2c_probe >>: /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/common/cmd_i2c.c:550: undefined reference to `i2c_probe' common/libcommon.a(cmd_i2c.o): dans la fonction << do_i2c_loop >>: /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/common/cmd_i2c.c:631: undefined reference to `i2c_read' common/libcommon.a(exports.o): dans la fonction << jumptable_init >>: /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/common/exports.c:35: undefined reference to `i2c_write' /home/developer/Documents/Sensor/CommunicationBoard/Devkit/kraken_bsp/bootloader/mba2440-uboot1.1.1-v2.1_1G/common/exports.c:35: undefined reference to `i2c_read' make: *** [u-boot] Erreur 1
As the error message says, some symbols are missing ... if you want to use i2c, you must enable through a CONFIG option, which i2c driver you want to use on your hardware. I cannot help you more here, because I do not know anything about your board.
I'm new to u-boot programing, am i missing something in the config file?
Yep!
bye, Heiko