天嵌 ARM开发社区

 找回密码
 注册
查看: 3578|回复: 6

linux内核编译出错,,

[复制链接]
wangpeihui123 发表于 2010-10-16 16:48:10 | 显示全部楼层 |阅读模式
在按照手册的step by step 做的时候到做完声卡驱动后,,,编译内核镜像出错不能成功,,,,
也没该多少东西啊,,,就把arch/arm/plat-s3c24xx/dma.c的那两行代码该了改,,
但是编译出错后再改回来,,怎么还错,,,,不解
原来代码为
s3c2410_dma_ctrl(channel, S3C2410_DMAOP_STOP);
s3c2410_dma_ctrl(chan->number, S3C2410_DMAOP_STOP);
打印的信息如下:
[root@EmbedSky linux-2.6.30.4]# make zImage
  CHK     include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
  CHK     include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
  CALL    scripts/checksyscalls.sh
<stdin>:1097:2: warning: #warning syscall fadvise64 not implemented
<stdin>:1265:2: warning: #warning syscall migrate_pages not implemented
<stdin>:1321:2: warning: #warning syscall pselect6 not implemented
<stdin>:1325:2: warning: #warning syscall ppoll not implemented
<stdin>:1365:2: warning: #warning syscall epoll_pwait not implemented
  CHK     include/linux/compile.h
  LD      drivers/built-in.o
drivers/input/built-in.o:(.data+0x2e4): multiple definition of `ADC_LOCK'
drivers/char/built-in.o:(.data+0x41c): first defined here
make[1]: *** [drivers/built-in.o] Error 1
make: *** [drivers] Error 2
天嵌_support1 发表于 2010-10-16 16:51:32 | 显示全部楼层
1# wangpeihui123

看看自己的代码一下了,重复定义变量,这个错误应该好找
回复

使用道具 举报

 楼主| wangpeihui123 发表于 2010-10-16 17:50:09 | 显示全部楼层
我发现问题了,,就是在触摸屏移植时在tq2440_ts.c这文件中天的那句话,,说ADC_LOCK 重复定义,,,
用extern  struct  semaphore ADC_LOCK 就没有错了,,,但是就是触摸屏没有移植成功,,,移植说那个/bin/qtopia: line 10: ts_calibrate: not found,,,是怎么回事
回复

使用道具 举报

qazasdwsx 发表于 2010-11-7 03:31:34 | 显示全部楼层
我按照手册弄了DECLARE_MUTEX(ADC_LOCK);这句话 编译内核出现drivers/input/built-in.o:(.data+0x2e4): multiple definition of `ADC_LOCK'这个错误
回复

使用道具 举报

天嵌_support1 发表于 2010-11-8 11:50:38 | 显示全部楼层
4# qazasdwsx


把  DECLARE_MUTEX(ADC_LOCK) 改成;

extern struct semaphore ADC_LOCK
回复

使用道具 举报

半棵苗 发表于 2012-10-3 20:01:16 | 显示全部楼层
天嵌_support1 发表于 2010-10-16 16:51
1# wangpeihui123

看看自己的代码一下了,重复定义变量,这个错误应该好找

受教了,终于解决了问题!但是我想问的是以后碰到这种问题,应该怎么去排错?从以上的打印信息可以捉住两个关键词“ADC_LOCK ”   “drivers/input/built-in.o”。我也知道“ADC_LOCK ”重定义了,可是接下来去哪里找“ADC_LOCK ”,打印信息又没有提示路径。
回复

使用道具 举报

亚瑟王 发表于 2012-10-8 17:28:53 | 显示全部楼层
如果出现重定义了,最简单的做法就是删掉自己定义的那个,然后用extern,从外面引入;或者将自己定义的那个改名。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-8-3 19:09 , Processed in 2.031152 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表