我在tornado中移植tffs时一直遇到如下错误,请高人指教:
sysTffs.o(.data+0x0): multiple definition of `mtdTable'
bootConfig.o(.data+0x248): first defined here
sysTffs.o(.data+0x4): multiple definition of `noOfMTDs'
bootConfig.o(.data+0x24c): first defined here
sysTffs.o(.data+0x8): multiple definition of `tlTable'
bootConfig.o(.data+0x250): first defined here
sysTffs.o(.data+0x10): multiple definition of `noOfTLs'
bootConfig.o(.data+0x258): first defined here
sysTffs. In function `flRegisterComponents':
sysTffs.o(.text+0x4): multiple definition of `flRegisterComponents'
bootConfig.o(.text+0x19c0): first defined here
sysTffs. In function `flFitInSocketWindow':
sysTffs.o(.text+0x298): multiple definition of `flFitInSocketWindow'
bootConfig.o(.text+0x1afc): first defined here
sysTffs. In function `flDelayLoop':
sysTffs.o(.text+0x2c8): multiple definition of `flDelayLoop'
bootConfig.o(.text+0x1b2c): first defined here
make.exe: *** [bootrom_uncmp] Error 0x1
我的移植步骤如下:1.confi.c中加了#define INCLUDE_TFFS和#define INCLUDE_MTD_LV160(片子是sst39vf160,片子的驱动函数没有问题)2.tffsConfig.c的开头加了FLStatus lv160MTDIdentify(FLFlash vol); 在MTDidentifyRoutine mtdTable[] = {#ifdef INCLUDE_MTD_LV160 lv160MTDIdentify,#endif ...}中加了这一条
3.在sysTffs.c中按照班子的falsh地址和大小修改了相关的宏定义,并在Makefile中添加了MACH_EXTRA = sst39vf160.o sysTffs.o。
然后做bootRom时就遇到以上的问题,我不知道怎么解决希望那位高人可以帮助在下。
不胜感激!!!