主题 : mini210的ADC驱动问题 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 4912
精华: 0
发帖: 62
金钱: 315 两
威望: 63 点
综合积分: 124 分
注册时间: 2009-04-03
最后登录: 2018-06-26
楼主  发表于: 2012-06-27 11:25

 mini210的ADC驱动问题

mini210的开发板在使用ADC时遇到如下问题

将mach-s5pv210目录下的adc.c驱动编译进内核
启动内核时打印出

[    1.045328] ------------[ cut here ]------------
[    1.045387] WARNING: at fs/sysfs/dir.c:451 sysfs_add_one+0x6c/0x8c()
[    1.049822] sysfs: cannot create duplicate filename '/devices/virtual/misc/adc'
[    1.057086] Modules linked in:
[    1.060105] Backtrace:
[    1.062553] [<c0173efc>] (dump_backtrace+0x0/0x110) from [<c0574828>] (dump_stack+0x18/0x1c)
[    1.070957]  r6:c06e6656 r5:000001c3 r4:cfc27dc8 r3:00000002
[    1.076583] [<c0574810>] (dump_stack+0x0/0x1c) from [<c0193c84>] (warn_slowpath_common+0x54/0x6c)
[    1.085435] [<c0193c30>] (warn_slowpath_common+0x0/0x6c) from [<c0193d40>] (warn_slowpath_fmt+0x38/0x40)
[    1.094870]  r8:cff6fe70 r7:cfc27e08 r6:cff6fe70 r5:cfc14000 r4:ffffffef
[    1.101354] r3:00000009
[    1.103963] [<c0193d08>] (warn_slowpath_fmt+0x0/0x40) from [<c0240698>] (sysfs_add_one+0x6c/0x8c)
[    1.112811]  r3:cfc14000 r2:c06e6665
[    1.116354] [<c024062c>] (sysfs_add_one+0x0/0x8c) from [<c0240724>] (create_dir+0x6c/0xb8)
[    1.124596]  r7:00000000 r6:00000001 r5:cfc27e08 r4:cff0a570
[    1.130219] [<c02406b8>] (create_dir+0x0/0xb8) from [<c0240860>] (sysfs_create_dir+0xc4/0xe0)
[    1.138721]  r8:c0793f44 r7:cfc80c80 r6:cff0a570 r5:00000000 r4:cff0fc08
[    1.145387] [<c024079c>] (sysfs_create_dir+0x0/0xe0) from [<c02ccdf8>] (kobject_add_internal+0xd8/0x1f0)
[    1.154837]  r6:cfd62840 r5:cff0fc08 r4:cff0fc08
[    1.159422] [<c02ccd20>] (kobject_add_internal+0x0/0x1f0) from [<c02cd218>] (kobject_add+0x74/0x94)
[    1.168442]  r8:c0793f44 r7:cfc80c80 r6:00000000 r5:cfd62840 r4:cff0fc08
[    1.174927] r3:00000001
[    1.177541] [<c02cd1a4>] (kobject_add+0x0/0x94) from [<c0330150>] (device_add+0xa8/0x4ac)
[    1.185690]  r3:00000002 r2:00000000
[    1.189225]  r6:00a0003c r5:cff0fc08 r4:cff0fc00
[    1.193827] [<c03300a8>] (device_add+0x0/0x4ac) from [<c0330570>] (device_register+0x1c/0x20)
[    1.202333] [<c0330554>] (device_register+0x0/0x20) from [<c03305e8>] (device_create_vargs+0x74/0xb8)
[    1.211514]  r4:00000000 r3:00000000
[    1.215057] [<c0330574>] (device_create_vargs+0x0/0xb8) from [<c0330654>] (device_create+0x28/0x30)
[    1.224079]  r8:00000000 r7:00000001 r6:c08dc9f0 r5:c0793f50 r4:c0793f44
[    1.230564] r3:c0793f44
[    1.233173] [<c033062c>] (device_create+0x0/0x30) from [<c02f9cd8>] (misc_register+0xc8/0x138)
[    1.241767] [<c02f9c10>] (misc_register+0x0/0x138) from [<c00193d4>] (dev_init+0xc0/0x100)
[    1.249991]  r6:c0019314 r5:00000000 r4:c08de5c0
[    1.254574] [<c0019314>] (dev_init+0x0/0x100) from [<c016f4b8>] (do_one_initcall+0x68/0x1b0)
[    1.262986]  r5:c002c0a4 r4:c002bc9c
[    1.266532] [<c016f450>] (do_one_initcall+0x0/0x1b0) from [<c0008aa0>] (kernel_init+0xb4/0x170)
[    1.275208]  r7:00000013 r6:c0196e5c r5:c002c0a4 r4:c002bc9c
[    1.280832] [<c00089ec>] (kernel_init+0x0/0x170) from [<c0196e5c>] (do_exit+0x0/0x5f4)
[    1.288723]  r5:c00089ec r4:00000000
[    1.292275] ---[ end trace 540c8df756993d09 ]---
[    1.296874] kobject_add_internal failed for adc with -EEXIST, don't try to register things with the same name in the same directory.
[    1.308744] Backtrace:
[    1.311162] [<c0173efc>] (dump_backtrace+0x0/0x110) from [<c0574828>] (dump_stack+0x18/0x1c)
[    1.319577]  r6:cfd62840 r5:cff0fc08 r4:ffffffef r3:00000002
[    1.325200] [<c0574810>] (dump_stack+0x0/0x1c) from [<c02ccee4>] (kobject_add_internal+0x1c4/0x1f0)
[    1.334228] [<c02ccd20>] (kobject_add_internal+0x0/0x1f0) from [<c02cd218>] (kobject_add+0x74/0x94)
[    1.343234]  r8:c0793f44 r7:cfc80c80 r6:00000000 r5:cfd62840 r4:cff0fc08
[    1.349716] r3:00000001
[    1.352327] [<c02cd1a4>] (kobject_add+0x0/0x94) from [<c0330150>] (device_add+0xa8/0x4ac)
[    1.360476]  r3:00000002 r2:00000000
[    1.364015]  r6:00a0003c r5:cff0fc08 r4:cff0fc00
[    1.368615] [<c03300a8>] (device_add+0x0/0x4ac) from [<c0330570>] (device_register+0x1c/0x20)
[    1.377125] [<c0330554>] (device_register+0x0/0x20) from [<c03305e8>] (device_create_vargs+0x74/0xb8)
[    1.386299]  r4:00000000 r3:00000000
[    1.389847] [<c0330574>] (device_create_vargs+0x0/0xb8) from [<c0330654>] (device_create+0x28/0x30)
[    1.398866]  r8:00000000 r7:00000001 r6:c08dc9f0 r5:c0793f50 r4:c0793f44
[    1.405350] r3:c0793f44
[    1.407958] [<c033062c>] (device_create+0x0/0x30) from [<c02f9cd8>] (misc_register+0xc8/0x138)
[    1.416555] [<c02f9c10>] (misc_register+0x0/0x138) from [<c00193d4>] (dev_init+0xc0/0x100)
[    1.424776]  r6:c0019314 r5:00000000 r4:c08de5c0
[    1.429362] [<c0019314>] (dev_init+0x0/0x100) from [<c016f4b8>] (do_one_initcall+0x68/0x1b0)
[    1.437775]  r5:c002c0a4 r4:c002bc9c
[    1.441320] [<c016f450>] (do_one_initcall+0x0/0x1b0) from [<c0008aa0>] (kernel_init+0xb4/0x170)
[    1.449993]  r7:00000013 r6:c0196e5c r5:c002c0a4 r4:c002bc9c
[    1.455619] [<c00089ec>] (kernel_init+0x0/0x170) from [<c0196e5c>] (do_exit+0x0/0x5f4)
[    1.463515]  r5:c00089ec r4:00000000
[    1.467054] mini210-adc      initialized

下面也能正常启动内核

然后执行应用程序使用ADC时就会导致内核死掉
请问这是什么问题,是需要先创建文件系统吗
级别: 侠客
UID: 4912
精华: 0
发帖: 62
金钱: 315 两
威望: 63 点
综合积分: 124 分
注册时间: 2009-04-03
最后登录: 2018-06-26
1楼  发表于: 2012-06-27 12:16
找到问题了,原来不是这个C文件
级别: 侠客
UID: 4912
精华: 0
发帖: 62
金钱: 315 两
威望: 63 点
综合积分: 124 分
注册时间: 2009-04-03
最后登录: 2018-06-26
2楼  发表于: 2012-06-27 15:54
还是不行,使用mini210_adc.c文件,只能读出AIN0的adc值,没办法读出AIN1的值啊?
我将adcdev.channel赋值为1也不行吗?
请问怎么回事呢