linux i2c-gpio 模拟i2c时序出现oops错误
来源:互联网 发布:win10仿mac主题 编辑:程序博客网 时间:2024/05/16 13:05
用i2c-gpio模型调试模拟gpio,所用器件是cm3212。
probe里面打印调试结果成功:
while(1)
{
ssleep(1);
ret = i2c_smbus_write_byte(cm3212->i2c_client,CM3212_POWER_ON);
printk(KERN_INFO "ret = %d $$$$$$$$$$$$$$\n\n",ret);
ret = i2c_smbus_read_byte_data(cm3212->i2c_client,0x90>>1);
printk(KERN_INFO "read light_h = %d $$$$$$$$$$$$$$\n\n",ret);
ret = i2c_smbus_read_byte_data(cm3212->i2c_client,0x91>>1);
printk(KERN_INFO "write light_l = %d $$$$$$$$$$$$$$\n\n",ret);
}
读写正常
将读写函数放到fileops的read函数里面,郁闷的事情发生了。oops信息出来,实在费解!
Unable to handle kernel paging request at virtual address 5fc48a80
pgd = de0f8000
[5fc48a80] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT
last sysfs file: /sys/devices/platform/s3c2410-i2c.2/i2c-2/2-0034/wm831x-power/power_supply/wm831x-battery/capacity
Modules linked in: dhd s3c_bc s3c_lcd pvrsrvkm
CPU: 0 Not tainted (2.6.32.9 #223)
PC is at __gpio_get_value+0x24/0x4c
LR is at i2c_gpio_getscl+0x1c/0x20
pc : [<c0250180>] lr : [<c025fae0>] psr: 60000013
sp : de63bd50 ip : c0250170 fp : de63bd5c
r10: 00000003 r9 : 00000000 r8 : ea311480
r7 : 00000000 r6 : 00000090 r5 : ffff027d r4 : ea311480
r3 : c0754100 r2 : f7f14620 r1 : 9f4f4980 r0 : f7f14620
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c5387d Table: 3e0f8019 DAC: 00000015
PC: 0xc0250100:
0100 e92dd800 e24cb004 e92d4000 ebf8fc06 e590302c e30021ce e0813003 e1530002
0120 8a00000a e3a0200c e59fc028 e0030392 e083200c e793300c e1530000 1a000003
0140 e5923004 e3130001 15920008 189da800 e3a00000 e89da800 c0754100 e1a0c00d
0160 e92dd800 e24cb004 e92d4000 ebf8fbee e3a0100c e0010091 e59f3024 e1a02000
0180 e7910003 e5903018 e3530000 01a00003 089da800 e590102c e0611002 e12fff33
01a0 e89da800 c0754100 e1a0c00d e92dd800 e24cb004 e92d4000 ebf8fbdb e3a0300c
01c0 e0030093 e1a02001 e59f101c e1a0c000 e7933001 e593102c e1a00003 e061100c
01e0 e1a0e00f e593f020 e89da800 c0754100 e1a0c00d e92dd800 e24cb004 e92d4000
LR: 0xc025fa60:
fa60 e89da800 e5900004 ebffc3d2 e89da800 e1a0c00d e92dd800 e24cb004 e92d4000
fa80 ebf8bda9 e3510000 0a000002 e5900000 ebffc40d e89da800 e5900000 ebffc3c5
faa0 e89da800 e1a0c00d e92dd800 e24cb004 e92d4000 ebf8bd9c e5900000 ebffc1a6
fac0 e89da800 e1a0c00d e92dd800 e24cb004 e92d4000 ebf8bd94 e5900004 ebffc19e
fae0 e89da800 e1a0c00d e92dd800 e24cb004 e92d4000 ebf8bd8c e5900004 ebffc1a9
fb00 e89da800 e1a0c00d e92dd800 e24cb004 e92d4000 ebf8bd84 e5900000 ebffc1a1
fb20 e89da800 e1a0c00d e92dd800 e24cb004 e92d4000 ebf8bd7c e59f0000 e89da800
fb40 0eff000d e1a0c00d e92dd800 e24cb004 e92d4000 ebf8bd74 eb023bb8 e5d02028
SP: 0xde63bcd0:
bcd0 00000001 00000000 c0af7764 c0af7760 c00ba208 c01195ac ffffffff de63bd3c
bcf0 00000090 00000000 de63bd5c de63bd08 c008eb2c c008e2d8 f7f14620 9f4f4980
bd10 f7f14620 c0754100 ea311480 ffff027d 00000090 00000000 ea311480 00000000
bd30 00000003 de63bd5c c0250170 de63bd50 c025fae0 c0250180 60000013 ffffffff
bd50 de63bd6c de63bd60 c025fae0 c0250168 de63bd84 de63bd70 c0260af8 c025fad0
bd70 ea311480 00000006 de63bda4 de63bd88 c0260bf4 c0260a8c ea311480 00000000
bd90 ea8f9400 00000090 de63bdcc de63bda8 c02610a8 c0260bac 00000000 ea8f9400
bdb0 de63beb0 00000003 00000000 00000090 de63be14 de63bdd0 c026127c c0261080
IP: 0xc02500f0:
00f0 e89da8f0 e3a00000 e89da8f0 e1a0c00d e92dd800 e24cb004 e92d4000 ebf8fc06
0110 e590302c e30021ce e0813003 e1530002 8a00000a e3a0200c e59fc028 e0030392
0130 e083200c e793300c e1530000 1a000003 e5923004 e3130001 15920008 189da800
0150 e3a00000 e89da800 c0754100 e1a0c00d e92dd800 e24cb004 e92d4000 ebf8fbee
0170 e3a0100c e0010091 e59f3024 e1a02000 e7910003 e5903018 e3530000 01a00003
0190 089da800 e590102c e0611002 e12fff33 e89da800 c0754100 e1a0c00d e92dd800
01b0 e24cb004 e92d4000 ebf8fbdb e3a0300c e0030093 e1a02001 e59f101c e1a0c000
01d0 e7933001 e593102c e1a00003 e061100c e1a0e00f e593f020 e89da800 c0754100
FP: 0xde63bcdc:
bcdc c0af7760 c00ba208 c01195ac ffffffff de63bd3c 00000090 00000000 de63bd5c
bcfc de63bd08 c008eb2c c008e2d8 f7f14620 9f4f4980 f7f14620 c0754100 ea311480
bd1c ffff027d 00000090 00000000 ea311480 00000000 00000003 de63bd5c c0250170
bd3c de63bd50 c025fae0 c0250180 60000013 ffffffff de63bd6c de63bd60 c025fae0
bd5c c0250168 de63bd84 de63bd70 c0260af8 c025fad0 ea311480 00000006 de63bda4
bd7c de63bd88 c0260bf4 c0260a8c ea311480 00000000 ea8f9400 00000090 de63bdcc
bd9c de63bda8 c02610a8 c0260bac 00000000 ea8f9400 de63beb0 00000003 00000000
bdbc 00000090 de63be14 de63bdd0 c026127c c0261080 00000001 22222222 ea311480
R0: 0xf7f145a0:
45a0 ******** ******** ******** ******** ******** ******** ******** ********
45c0 ******** ******** ******** ******** ******** ******** ******** ********
45e0 ******** ******** ******** ******** ******** ******** ******** ********
4600 ******** ******** ******** ******** ******** ******** ******** ********
4620 ******** ******** ******** ******** ******** ******** ******** ********
4640 ******** ******** ******** ******** ******** ******** ******** ********
4660 ******** ******** ******** ******** ******** ******** ******** ********
4680 ******** ******** ******** ******** ******** ******** ******** ********
R2: 0xf7f145a0:
45a0 ******** ******** ******** ******** ******** ******** ******** ********
45c0 ******** ******** ******** ******** ******** ******** ******** ********
45e0 ******** ******** ******** ******** ******** ******** ******** ********
4600 ******** ******** ******** ******** ******** ******** ******** ********
4620 ******** ******** ******** ******** ******** ******** ******** ********
4640 ******** ******** ******** ******** ******** ******** ******** ********
4660 ******** ******** ******** ******** ******** ******** ******** ********
4680 ******** ******** ******** ******** ******** ******** ******** ********
R3: 0xc0754080:
4080 00050014 0005000c 0005001c 00050002 00050012 0005000a 0005001a 00050006
40a0 00050016 0005000e 0005001e 00050001 00050011 00050009 00050019 00050005
40c0 00050015 0005000d 0005001d 00050003 00050013 0005000b 0005001b 00050007
40e0 00050017 00000000 00000000 00000000 00000000 00000000 00000000 00000000
4100 c06b18f4 00000000 00000000 c06b18f4 00000000 00000000 c06b18f4 00000000
4120 00000000 c06b18f4 00000000 00000000 c06b18f4 00000000 00000000 c06b18f4
4140 00000000 00000000 c06b18f4 00000000 00000000 c06b18f4 00000001 c05cd5cc
4160 00000000 00000000 00000000 c06b194c 00000000 00000000 c06b194c 00000000
R4: 0xea311400:
1400 2d633269 6f697067 0000332e 00000000 00000000 00000000 00000000 00000000
1420 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1440 76697264 00007265 00000000 00000000 00000000 00000000 00000000 00000000
1460 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1480 c002c634 c025fa70 c025fa3c c025faa4 c025fac4 00000005 00000019 00000000
14a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
14c0 2d633269 00000033 00000000 00000000 00000000 00000000 00000000 00000000
14e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
R5: 0xffff01fd:
01fc 00000000 e24ee004 e88d4001 e14fe000 e58de008 e10f0000 e2200001 e16ff000
021c e20ee00f e1a0000d e79fe10e e1b0f00e c008ed80 c008eaa0 c008eaa0 c008eb40
023c c008eaa0 c008eaa0 c008eaa0 c008eaa0 c008eaa0 c008eaa0 c008eaa0 c008eaa0
025c c008eaa0 c008eaa0 c008eaa0 c008eaa0 e320f000 e320f000 e320f000 e320f000
027c e320f000 e24ee008 e88d4001 e14fe000 e58de008 e10f0000 e2200004 e16ff000
029c e20ee00f e1a0000d e79fe10e e1b0f00e c008ed20 c008ea90 c008ea90 c008eae0
02bc c008ea90 c008ea90 c008ea90 c008ea90 c008ea90 c008ea90 c008ea90 c008ea90
02dc c008ea90 c008ea90 c008ea90 c008ea90 e320f000 e320f000 e320f000 e320f000
02fc e320f000 e24ee004 e88d4001 e14fe000 e58de008 e10f0000 e2200004 e16ff000
R8: 0xea311400:
1400 2d633269 6f697067 0000332e 00000000 00000000 00000000 00000000 00000000
1420 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1440 76697264 00007265 00000000 00000000 00000000 00000000 00000000 00000000
1460 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1480 c002c634 c025fa70 c025fa3c c025faa4 c025fac4 00000005 00000019 00000000
14a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
14c0 2d633269 00000033 00000000 00000000 00000000 00000000 00000000 00000000
14e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Process lightsensor (pid: 2638, stack limit = 0xde63a2e8)
Stack: (0xde63bd50 to 0xde63c000)
bd40: de63bd6c de63bd60 c025fae0 c0250168
bd60: de63bd84 de63bd70 c0260af8 c025fad0 ea311480 00000006 de63bda4 de63bd88
bd80: c0260bf4 c0260a8c ea311480 00000000 ea8f9400 00000090 de63bdcc de63bda8
bda0: c02610a8 c0260bac 00000000 ea8f9400 de63beb0 00000003 00000000 00000090
bdc0: de63be14 de63bdd0 c026127c c0261080 00000001 22222222 ea311480 00000000
bde0: ea8f9448 ea311480 de63bea8 ea8f9400 00000000 00000001 de63bea8 00000001
be00: 00000000 ffff027d de63be3c de63be18 c025cdcc c02610fc 00000000 ea8f9400
be20: c075d074 00000000 00000001 00000000 de63beec de63be40 c025d210 c025cd2c
be40: de63be84 de63be50 c014a7bc c0121d4c de63bea8 ead4ad90 00000000 de35cd80
be60: db6af600 00000000 de63bec8 ffffff9c de63a000 00000001 de63bea4 de63be88
be80: c014a9ac c014a580 00000000 db6af600 00000001 00000024 de63bf5c de63bea8
bea0: c015914c c014a960 00000048 60000001 de63be60 00010048 c00b0000 de63be84
bec0: de63bee4 da15a000 beb59b6c c075d074 00002000 c02febe0 de63a000 00000000
bee0: de63bf0c de63bef0 c025d6ec c025ce30 00000000 00000001 00000000 00000000
bf00: de63bf3c de63bf10 c02fecd0 c025d6b4 de33c980 da127000 da124000 00000080
bf20: de35cd80 beb59b6c de63bf70 00000080 de63bf6c de63bf40 c014cf4c c02febec
bf40: 00000080 beb59b6c c014d66c de35cd80 beb59b6c 00000000 00000000 00000080
bf60: de63bfa4 de63bf70 c014d0cc c014ce9c 00000000 00000000 00000005 00000000
bf80: de63a000 00008214 00000000 00000000 00000003 c008f2ac 00000000 de63bfa8
bfa0: c008f080 c014d08c 00008214 00000000 00000003 beb59b6c 00000080 beb59b6c
bfc0: 00008214 00000000 00000000 00000003 00000000 00000000 00000000 beb59bf4
bfe0: 00000000 beb59b68 00008264 0001ac1c 60000010 00000003 00000000 00000000
[<c0250180>] (__gpio_get_value+0x24/0x4c) from [<c025fae0>] (i2c_gpio_getscl+0x1c/0x20)
[<c025fae0>] (i2c_gpio_getscl+0x1c/0x20) from [<c0260af8>] (sclhi+0x78/0xa0)
[<c0260af8>] (sclhi+0x78/0xa0) from [<c0260bf4>] (i2c_outb+0x54/0x100)
[<c0260bf4>] (i2c_outb+0x54/0x100) from [<c02610a8>] (try_address+0x34/0x7c)
[<c02610a8>] (try_address+0x34/0x7c) from [<c026127c>] (bit_xfer+0x18c/0x424)
[<c026127c>] (bit_xfer+0x18c/0x424) from [<c025cdcc>] (i2c_transfer+0xac/0x104)
[<c025cdcc>] (i2c_transfer+0xac/0x104) from [<c025d210>] (i2c_smbus_xfer+0x3ec/0x534)
[<c025d210>] (i2c_smbus_xfer+0x3ec/0x534) from [<c025d6ec>] (i2c_smbus_write_byte+0x44/0x4c)
[<c025d6ec>] (i2c_smbus_write_byte+0x44/0x4c) from [<c02fecd0>] (cm3212_read+0xf0/0x1c0)
[<c02fecd0>] (cm3212_read+0xf0/0x1c0) from [<c014cf4c>] (vfs_read+0xbc/0x168)
[<c014cf4c>] (vfs_read+0xbc/0x168) from [<c014d0cc>] (sys_read+0x4c/0x78)
[<c014d0cc>] (sys_read+0x4c/0x78) from [<c008f080>] (ret_fast_syscall+0x0/0x2c)
Code: e3a0100c e0010091 e59f3024 e1a02000 (e7910003)
---[ end trace 4bc23a8c275827c6 ]---
__gpio_get_value这个函数用了非法地址???这可是内核提供的函数,难道kernel提供的i2c-gpio模型有bug???实在郁闷,找不到解决的方法呢。。。
- linux i2c-gpio 模拟i2c时序出现oops错误
- GPIO模拟i2c时序
- linux gpio模拟i2c
- linux gpio模拟i2c
- Linux GPIO 模拟I2C
- Linux 内核gpio模拟I2C
- linux 内核GPIO 模拟 I2C
- GPIO模拟I2C / I2C注意事项
- i2c 驱动gpio模拟i2c
- GPIO模拟I2C快速入门 与程序实现+软件模拟I2C时序
- GPIO软件模拟I2C
- GPIO模拟I2C-1
- GPIO软件模拟I2C
- GPIO模拟I2C操作
- GPIO模拟I2C操作
- gpio模拟I2C
- GPIO 模拟 I2C
- GPIO 模拟 i2c
- oracle中exp,imp的使用详解
- 非常简单的搞懂JSON!实例! .
- ThreadPoolExecutor运转机制详解
- VMWare 中3种网络模式
- Linux开机启动过程详细分析
- linux i2c-gpio 模拟i2c时序出现oops错误
- jquery ajax,ashx,json用法小结
- 通过map可以避免创建实体
- 基于Cadence_Allegro的高速PCB设计信号完整性分析与仿真
- WebLogic 10.3.5.0 集群环境配置(一)
- Objective-C - 异常处理(Exception)
- 防止ASP.NET按钮多次提交的办法 .
- ubuntu下加入eclipse启动菜单
- 静态select绑定数据