android下调用SO操作串口,到read的时候,就产生了错误,当前屏回会出错退出
ret = select(uart_fd+1, &fdsr, NULL, NULL, &tv); if (ret < 0)
{
__android_log_write(ANDROID_LOG_INFO,"CL7202H","select!\n");
return;
}
else if (ret == 0)
{
__android_log_write(ANDROID_LOG_INFO,"CL7202H","timeout!\n");
return;
}
if (FD_ISSET(uart_fd, &fdsr))
{
__android_log_write(ANDROID_LOG_INFO,"CL7202H","uart recive data ********************\n");
retr = read(uart_fd, buf, ret);
if(retr == 0)
{
__android_log_write(ANDROID_LOG_INFO,"CL7202H","there is nothing uart recive data ********************\n");
return;
}
for(i=0;i<retr;i++)
__android_log_print(ANDROID_LOG_INFO,"buf[%d]=%d\n",i,buf[i]);
}下面是logcat打印的错误信息I/DEBUG ( 737): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 737): Build fingerprint: 'atmel/sam9g45/sam9g45/:2.1-update1/ERE27/eng.root.20110714.182809:eng/test-keys'
I/DEBUG ( 737): pid: 948, tid: 948 >>> com.clou.cl7202h <<<
I/DEBUG ( 737): signal 11 (SIGSEGV), fault addr 00000000
I/DEBUG ( 737): r0 afe38e08 r1 00000000 r2 00000000 r3 ffff79c0
I/DEBUG ( 737): r4 bef427b4 r5 00000001 r6 00000000 r7 00000000
I/DEBUG ( 737): r8 80402400 r9 00000025 10 0000001f fp 00000001
I/DEBUG ( 737): ip afbc30e8 sp bef42080 lr afe1746b pc afe15898 cpsr 20000030
I/DEBUG ( 737): #00 pc 00015898 /system/lib/libc.so
I/DEBUG ( 737): #01 pc 00017466 /system/lib/libc.so
I/DEBUG ( 737): #02 pc 000011dc /system/lib/liblog.so
I/DEBUG ( 737): #03 pc 00000fa6 /system/lib/libserial.so
I/DEBUG ( 737): #04 pc 0000f1f4 /system/lib/libdvm.so
I/DEBUG ( 737): #05 pc 00038018 /system/lib/libdvm.so
I/DEBUG ( 737): #06 pc 000316a2 /system/lib/libdvm.so
I/DEBUG ( 737): #07 pc 00013f58 /system/lib/libdvm.so
I/DEBUG ( 737): #08 pc 00019888 /system/lib/libdvm.so
I/DEBUG ( 737): #09 pc 00018d5c /system/lib/libdvm.so
I/DEBUG ( 737): #10 pc 0004d3bc /system/lib/libdvm.so
I/DEBUG ( 737): #11 pc 00054e74 /system/lib/libdvm.so
I/DEBUG ( 737): #12 pc 00013f58 /system/lib/libdvm.so
I/DEBUG ( 737): #13 pc 00019888 /system/lib/libdvm.so
I/DEBUG ( 737): #14 pc 00018d5c /system/lib/libdvm.so
I/DEBUG ( 737): #15 pc 0004d6d0 /system/lib/libdvm.so
I/DEBUG ( 737): #16 pc 0003a72c /system/lib/libdvm.so
I/DEBUG ( 737): #17 pc 0002be52 /system/lib/libdvm.so
I/DEBUG ( 737): #18 pc 00026f7c /system/lib/libandroid_runtime.so
I/DEBUG ( 737): #19 pc 00027c60 /system/lib/libandroid_runtime.so
I/DEBUG ( 737): #20 pc 00008cae /system/bin/app_process
I/DEBUG ( 737): #21 pc 0000c2c6 /system/lib/libc.so
I/DEBUG ( 737): #22 pc b00018aa /system/bin/linker
I/DEBUG ( 737):
I/DEBUG ( 737): code around pc:
I/DEBUG ( 737): afe15888 e0059f10 d1022b25 93092301 3701e006
I/DEBUG ( 737): afe15898 2b00783b 2101d1f6 90094248 1abe9a10
I/DEBUG ( 737): afe158a8 2e009605 9e1ad101 990ee01a 9a059b10
I/DEBUG ( 737):
I/DEBUG ( 737): code around lr:
I/DEBUG ( 737): afe17458 60a16120 1c206161 1c1a1c11 f7fe81a5
I/DEBUG ( 737): afe17468 9b01f9c3 b01b2200 bd30701a 7fffffff
I/DEBUG ( 737): afe17478 b099b530 2400ad15 606c950c 1c032501
I/DEBUG ( 737):
I/DEBUG ( 737): stack:
I/DEBUG ( 737): bef42040 804011ef /system/lib/libserial.so
I/DEBUG ( 737): bef42044 afe157e5 /system/lib/libc.so
I/DEBUG ( 737): bef42048 bef42788 [stack]
I/DEBUG ( 737): bef4204c afe169a9 /system/lib/libc.so
I/DEBUG ( 737): bef42050 000005b0
I/DEBUG ( 737): bef42054 00000096
I/DEBUG ( 737): bef42058 00000000
I/DEBUG ( 737): bef4205c afe0f2c0 /system/lib/libc.so
I/DEBUG ( 737): bef42060 bef422b0 [stack]
I/DEBUG ( 737): bef42064 00000001
I/DEBUG ( 737): bef42068 00000000
I/DEBUG ( 737): bef4206c 00000000
I/DEBUG ( 737): bef42070 bef42278 [stack]
I/DEBUG ( 737): bef42074 ffffffff
I/DEBUG ( 737): bef42078 df002777
I/DEBUG ( 737): bef4207c e3a070ad
I/DEBUG ( 737): #00 bef42080 bef422ec [stack]
I/DEBUG ( 737): bef42084 afe38e08 /system/lib/libc.so
I/DEBUG ( 737): bef42088 bef420d4 [stack]
I/DEBUG ( 737): bef4208c ffffffff
ret = select(uart_fd+1, &fdsr, NULL, NULL, &tv); if (ret < 0)
{
__android_log_write(ANDROID_LOG_INFO,"CL7202H","select!\n");
return;
}
else if (ret == 0)
{
__android_log_write(ANDROID_LOG_INFO,"CL7202H","timeout!\n");
return;
}
if (FD_ISSET(uart_fd, &fdsr))
{
__android_log_write(ANDROID_LOG_INFO,"CL7202H","uart recive data ********************\n");
retr = read(uart_fd, buf, ret);
if(retr == 0)
{
__android_log_write(ANDROID_LOG_INFO,"CL7202H","there is nothing uart recive data ********************\n");
return;
}
for(i=0;i<retr;i++)
__android_log_print(ANDROID_LOG_INFO,"buf[%d]=%d\n",i,buf[i]);
}下面是logcat打印的错误信息I/DEBUG ( 737): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 737): Build fingerprint: 'atmel/sam9g45/sam9g45/:2.1-update1/ERE27/eng.root.20110714.182809:eng/test-keys'
I/DEBUG ( 737): pid: 948, tid: 948 >>> com.clou.cl7202h <<<
I/DEBUG ( 737): signal 11 (SIGSEGV), fault addr 00000000
I/DEBUG ( 737): r0 afe38e08 r1 00000000 r2 00000000 r3 ffff79c0
I/DEBUG ( 737): r4 bef427b4 r5 00000001 r6 00000000 r7 00000000
I/DEBUG ( 737): r8 80402400 r9 00000025 10 0000001f fp 00000001
I/DEBUG ( 737): ip afbc30e8 sp bef42080 lr afe1746b pc afe15898 cpsr 20000030
I/DEBUG ( 737): #00 pc 00015898 /system/lib/libc.so
I/DEBUG ( 737): #01 pc 00017466 /system/lib/libc.so
I/DEBUG ( 737): #02 pc 000011dc /system/lib/liblog.so
I/DEBUG ( 737): #03 pc 00000fa6 /system/lib/libserial.so
I/DEBUG ( 737): #04 pc 0000f1f4 /system/lib/libdvm.so
I/DEBUG ( 737): #05 pc 00038018 /system/lib/libdvm.so
I/DEBUG ( 737): #06 pc 000316a2 /system/lib/libdvm.so
I/DEBUG ( 737): #07 pc 00013f58 /system/lib/libdvm.so
I/DEBUG ( 737): #08 pc 00019888 /system/lib/libdvm.so
I/DEBUG ( 737): #09 pc 00018d5c /system/lib/libdvm.so
I/DEBUG ( 737): #10 pc 0004d3bc /system/lib/libdvm.so
I/DEBUG ( 737): #11 pc 00054e74 /system/lib/libdvm.so
I/DEBUG ( 737): #12 pc 00013f58 /system/lib/libdvm.so
I/DEBUG ( 737): #13 pc 00019888 /system/lib/libdvm.so
I/DEBUG ( 737): #14 pc 00018d5c /system/lib/libdvm.so
I/DEBUG ( 737): #15 pc 0004d6d0 /system/lib/libdvm.so
I/DEBUG ( 737): #16 pc 0003a72c /system/lib/libdvm.so
I/DEBUG ( 737): #17 pc 0002be52 /system/lib/libdvm.so
I/DEBUG ( 737): #18 pc 00026f7c /system/lib/libandroid_runtime.so
I/DEBUG ( 737): #19 pc 00027c60 /system/lib/libandroid_runtime.so
I/DEBUG ( 737): #20 pc 00008cae /system/bin/app_process
I/DEBUG ( 737): #21 pc 0000c2c6 /system/lib/libc.so
I/DEBUG ( 737): #22 pc b00018aa /system/bin/linker
I/DEBUG ( 737):
I/DEBUG ( 737): code around pc:
I/DEBUG ( 737): afe15888 e0059f10 d1022b25 93092301 3701e006
I/DEBUG ( 737): afe15898 2b00783b 2101d1f6 90094248 1abe9a10
I/DEBUG ( 737): afe158a8 2e009605 9e1ad101 990ee01a 9a059b10
I/DEBUG ( 737):
I/DEBUG ( 737): code around lr:
I/DEBUG ( 737): afe17458 60a16120 1c206161 1c1a1c11 f7fe81a5
I/DEBUG ( 737): afe17468 9b01f9c3 b01b2200 bd30701a 7fffffff
I/DEBUG ( 737): afe17478 b099b530 2400ad15 606c950c 1c032501
I/DEBUG ( 737):
I/DEBUG ( 737): stack:
I/DEBUG ( 737): bef42040 804011ef /system/lib/libserial.so
I/DEBUG ( 737): bef42044 afe157e5 /system/lib/libc.so
I/DEBUG ( 737): bef42048 bef42788 [stack]
I/DEBUG ( 737): bef4204c afe169a9 /system/lib/libc.so
I/DEBUG ( 737): bef42050 000005b0
I/DEBUG ( 737): bef42054 00000096
I/DEBUG ( 737): bef42058 00000000
I/DEBUG ( 737): bef4205c afe0f2c0 /system/lib/libc.so
I/DEBUG ( 737): bef42060 bef422b0 [stack]
I/DEBUG ( 737): bef42064 00000001
I/DEBUG ( 737): bef42068 00000000
I/DEBUG ( 737): bef4206c 00000000
I/DEBUG ( 737): bef42070 bef42278 [stack]
I/DEBUG ( 737): bef42074 ffffffff
I/DEBUG ( 737): bef42078 df002777
I/DEBUG ( 737): bef4207c e3a070ad
I/DEBUG ( 737): #00 bef42080 bef422ec [stack]
I/DEBUG ( 737): bef42084 afe38e08 /system/lib/libc.so
I/DEBUG ( 737): bef42088 bef420d4 [stack]
I/DEBUG ( 737): bef4208c ffffffff
I/DEBUG ( 737): bef42094 ac062034 /system/lib/libskia.so
I/DEBUG ( 737): bef42098 00000000
I/DEBUG ( 737): bef4209c 00000006
I/DEBUG ( 737): bef420a0 00000000
I/DEBUG ( 737): bef420a4 00000001
I/DEBUG ( 737): bef420a8 00000000
I/DEBUG ( 737): bef420ac 00000000
I/DEBUG ( 737): bef420b0 bef4231c [stack]
I/DEBUG ( 737): bef420b4 afe38e08 /system/lib/libc.so
I/DEBUG ( 737): bef420b8 bef42104 [stack]
I/DEBUG ( 737): bef420bc afe30949 /system/lib/libc.so
I/DEBUG ( 737): bef420c0 00000000
I/DEBUG ( 737): bef420c4 00000000
I/DEBUG ( 737): bef420c8 afe307c8 /system/lib/libc.so
I/DEBUG ( 737): bef420cc 00000000
I/DEBUG ( 737): bef420d0 00000000
I/DEBUG ( 737): bef420d4 804011ee /system/lib/libserial.so
I/DEBUG ( 737): bef420d8 00000000
I/DEBUG ( 737): bef420dc 00000000
I/DEBUG ( 737): bef420e0 00000001
I/DEBUG ( 737): bef420e4 00000000
I/DEBUG ( 737): bef420e8 bef42104 [stack]
I/DEBUG ( 737): bef420ec 00000000
I/DEBUG ( 737): bef420f0 00000000
I/DEBUG ( 737): bef420f4 000b2eb0 [heap]
I/DEBUG ( 737): bef420f8 afe307c8 /system/lib/libc.so
I/DEBUG ( 737): bef420fc 000000dc
I/DEBUG ( 737): bef42100 000000dc
I/DEBUG ( 737): bef42104 00000052
I/DEBUG ( 737): bef42108 00000100
I/DEBUG ( 737): bef4210c 00000390
I/DEBUG ( 737): bef42110 000001d8
I/DEBUG ( 737): bef42114 ac0b5a30 /system/lib/libskia.so
I/DEBUG ( 737): bef42118 000000c0
I/DEBUG ( 737): bef4211c 000005a4
I/DEBUG ( 737): bef42120 00000000
I/DEBUG ( 737): bef42124 000baf90 [heap]
I/DEBUG ( 737): bef42128 00000000
I/DEBUG ( 737): bef4212c 00000000
I/DEBUG ( 737): bef42130 000baa0b [heap]
I/DEBUG ( 737): bef42134 bef420d4 [stack]
I/DEBUG ( 737): bef42138 00000000
I/DEBUG ( 737): bef4213c 00000000
I/DEBUG ( 737): bef42140 000b2eb0 [heap]
I/DEBUG ( 737): bef42144 ac0b5a70 /system/lib/libskia.so
I/DEBUG ( 737): bef42148 000baf90 [heap]
I/DEBUG ( 737): bef4214c ac09fdd0 /system/lib/libskia.so
I/DEBUG ( 737): bef42150 0001080b [heap]
I/DEBUG ( 737): bef42154 bef42188 [stack]
I/DEBUG ( 737): bef42158 bef42784 [stack]
I/DEBUG ( 737): bef4215c 000b3284 [heap]
I/DEBUG ( 737): bef42160 00000000
I/DEBUG ( 737): bef42164 bef42104 [stack]
I/DEBUG ( 737): bef42168 00000000
I/DEBUG ( 737): bef4216c 00000000
I/DEBUG ( 737): bef42170 bef42178 [stack]
I/DEBUG ( 737): bef42174 bef42198 [stack]
I/DEBUG ( 737): bef42178 0035ead0 [heap]
I/DEBUG ( 737): bef4217c 0035e9e0 [heap]
I/DEBUG ( 737): bef42180 00000037
I/DEBUG ( 737): bef42184 00000052
I/DEBUG ( 737): bef42188 bef427b4 [stack]
I/DEBUG ( 737): bef4218c 0000003d
I/DEBUG ( 737): bef42190 00000000
I/DEBUG ( 737): bef42194 00000070
I/DEBUG ( 737): bef42198 00000037
I/DEBUG ( 737): bef4219c 00000052
I/DEBUG ( 737): bef421a0 000b7830 [heap]
I/DEBUG ( 737): bef421a4 00000000
I/DEBUG ( 737): bef421a8 000b2eb0 [heap]
I/DEBUG ( 737): bef421ac 00000004
I/DEBUG ( 737): bef421b0 00000004
I/DEBUG ( 737): bef421b4 bef4238c [stack]
I/DEBUG ( 737): bef421b8 00000004
I/DEBUG ( 737): bef421bc 00000000
I/DEBUG ( 737): bef421c0 bef426b4 [stack]
I/DEBUG ( 737): bef421c4 ac0b5c7c /system/lib/libskia.so
I/DEBUG ( 737): bef421c8 bef42678 [stack]
I/DEBUG ( 737): bef421cc bef42678 [stack]
I/DEBUG ( 737): bef421d0 ac1435a4 /system/lib/libskia.so
I/DEBUG ( 737): bef421d4 bef42500 [stack]
I/DEBUG ( 737): bef421d8 00000001
I/DEBUG ( 737): bef421dc bef42500 [stack]
I/DEBUG ( 737): bef421e0 00000001
I/DEBUG ( 737): bef421e4 438d8000
I/DEBUG ( 737): bef421e8 43780000
I/DEBUG ( 737): bef421ec 00000086
I/DEBUG ( 737): bef421f0 00000000
I/DEBUG ( 737): bef421f4 00004051
I/DEBUG ( 737): bef421f8 0000011a
I/DEBUG ( 737): bef421fc 00000000
I/DEBUG ( 737): bef42200 45609418 /dev/ashmem/gralloc-buffer (deleted)
I/DEBUG ( 737): bef42204 0024b7a4 [heap]
I/DEBUG ( 737): bef42208 0000014c
I/DEBUG ( 737): bef4220c 000003c0
I/DEBUG ( 737): bef42210 ac14427c
I/DEBUG ( 737): bef42214 afe0f3b0 /system/lib/libc.so
I/DEBUG ( 737): bef42218 00130168 [heap]
I/DEBUG ( 737): bef4221c ac14427c
I/DEBUG ( 737): bef42220 00259840 [heap]
I/DEBUG ( 737): bef42224 bef424c0 [stack]
I/DEBUG ( 737): bef42228 00000000
I/DEBUG ( 737): bef4222c afe0f2c0 /system/lib/libc.so
I/DEBUG ( 737): bef42230 bef426a0 [stack]
I/DEBUG ( 737): bef42234 bef425b8 [stack]
I/DEBUG ( 737): bef42238 00259840 [heap]
I/DEBUG ( 737): bef4223c bef424c0 [stack]
I/DEBUG ( 737): bef42240 bef426a0 [stack]
I/DEBUG ( 737): bef42244 bef425b8 [stack]
I/DEBUG ( 737): bef42248 00259840 [heap]
I/DEBUG ( 737): bef4224c ac06ec10 /system/lib/libskia.so
I/DEBUG ( 737): bef42250 00000023
I/DEBUG ( 737): bef42254 bef4239c [stack]
I/DEBUG ( 737): bef42258 00000124
I/DEBUG ( 737): bef4225c ac06ec10 /system/lib/libskia.so
I/DEBUG ( 737): bef42260 bef42678 [stack]
I/DEBUG ( 737): bef42264 000000f8
I/DEBUG ( 737): bef42268 bef4239c [stack]
I/DEBUG ( 737): bef4226c 000000f8
I/DEBUG ( 737): bef42270 00259840 [heap]
I/DEBUG ( 737): bef42274 00000000
I/DEBUG ( 737): bef42278 ac141498 /system/lib/libskia.so
I/DEBUG ( 737): bef4227c 00000001
I/DEBUG ( 737): bef42280 00000000
I/DEBUG ( 737): bef42284 3c340b41
I/DEBUG ( 737): bef42288 80000000 /system/lib/libicudata.so
I/DEBUG ( 737): bef4228c bfd2fd30
I/DEBUG ( 737): bef42290 80000000 /system/lib/libicudata.so
I/DEBUG ( 737): bef42294 3f800000
I/DEBUG ( 737): bef42298 c3780000
I/DEBUG ( 737): bef4229c 00000000
I/DEBUG ( 737): bef422a0 00000000
I/DEBUG ( 737): bef422a4 3f800000
I/DEBUG ( 737): bef422a8 c2900013
I/DEBUG ( 737): bef422ac 000004ff
I/DEBUG ( 737): bef422b0 00000000
I/DEBUG ( 737): bef422b4 00000000
I/DEBUG ( 737): bef422b8 00000000
I/DEBUG ( 737): bef422bc 00000000
I/DEBUG ( 737): bef422c0 00000000
I/DEBUG ( 737): bef422c4 00000000
I/DEBUG ( 737): bef422c8 30330088
I/DEBUG ( 737): bef422cc 090e842f
I/DEBUG ( 737): bef422d0 00000023
I/DEBUG ( 737): bef422d4 bef422ec [stack]
I/DEBUG ( 737): bef422d8 00000208
I/DEBUG ( 737): bef422dc 00000004
I/DEBUG ( 737): bef422e0 804010bc /system/lib/libserial.so
I/DEBUG ( 737): bef422e4 afe1746b /system/lib/libc.so
I/DEBUG ( 737): bef422e8 ac050a38 /system/lib/libskia.so
I/DEBUG ( 737): bef422ec bef4236a [stack]
I/DEBUG ( 737): bef422f0 bef42284 [stack]
I/DEBUG ( 737): bef422f4 000003f9
I/DEBUG ( 737): bef422f8 ffff0208
I/DEBUG ( 737): bef422fc 090e842f
I/DEBUG ( 737): bef42300 000003ff
I/DEBUG ( 737): bef42304 bef4231c [stack]
I/DEBUG ( 737): bef42308 00000208
I/DEBUG ( 737): bef4230c 00000004
I/DEBUG ( 737): bef42310 80401284 /system/lib/libserial.so
I/DEBUG ( 737): bef42314 afe1746b /system/lib/libc.so
I/DEBUG ( 737): #01 bef42318 000000b4
I/DEBUG ( 737): bef4231c bef42394 [stack]
I/DEBUG ( 737): bef42320 afbc1031 /system/lib/liblog.so
I/DEBUG ( 737): bef42324 000003ff
I/DEBUG ( 737): bef42328 ffff0208
I/DEBUG ( 737): bef4232c bef42394 [stack]
I/DEBUG ( 737): bef42330 000003ff
I/DEBUG ( 737): bef42334 00000001
I/DEBUG ( 737): bef42338 804010bc /system/lib/libserial.so
I/DEBUG ( 737): bef4233c 00000008
I/DEBUG ( 737): bef42340 bef42364 [stack]
I/DEBUG ( 737): bef42344 00000007
I/DEBUG ( 737): bef42348 00000000
I/DEBUG ( 737): bef4234c bef42370 [stack]
I/DEBUG ( 737): bef42350 afe42c20
I/DEBUG ( 737): bef42354 00000004
I/DEBUG ( 737): bef42358 804010bc /system/lib/libserial.so
I/DEBUG ( 737): bef4235c afbc11e9 /system/lib/liblog.so
I/DEBUG ( 737): bef42360 bef42784 [stack]
I/DEBUG ( 737): bef42364 20756162
I/DEBUG ( 737): bef42368 00000a30
I/DEBUG ( 737): bef4236c 3d646620
I/DEBUG ( 737): bef42370 00000000
I/DEBUG ( 737): bef42374 00000000
I/DEBUG ( 737): bef42378 00000000
I/DEBUG ( 737): bef4237c 00000000
I/DEBUG ( 737): bef42380 00000000
I/DEBUG ( 737): bef42384 bef42394 [stack]
I/DEBUG ( 737): bef42388 afe42c20
I/DEBUG ( 737): bef4238c afbc11df /system/lib/liblog.so
看看是不是你想要的
不是的话
再进一步查找原因
http://blog.csdn.net/yylklshmyt20090217/article/details/4807390