wod 发表于 2016-5-4 20:45:25

rk3288使用GPIO作为中断口发生中断时产生大量奇怪log,并且设置双边沿中断时只能触...

我使用gpio8 A7作为中断口,设置双边沿中断,代码如下:
my_ultrasonic_device.ultrasonic_gpio_echo = ULTRASONIC_GPIO_ECHO;
gpio_request(my_ultrasonic_device.ultrasonic_gpio_echo,"ultrasonic echo gpio.");
gpio_direction_input(my_ultrasonic_device.ultrasonic_gpio_echo);
request_irq(gpio_to_irq(my_ultrasonic_device.ultrasonic_gpio_echo),ultrasonic_irq_handle,IRQF_TRIGGER_RISING|IRQF_TRIGGER_FALLING , "ultrasonic_irq", &my_ultrasonic_device);




当有波形产生时,会产生大量log,然后只能产生一次中断。
shell@firefly:/sys/devices/eareye_ultrasonic_device.20 #
shell@firefly:/sys/devices/eareye_ultrasonic_device.20 # echo 1 > Ultrasonic   
shell@firefly:/sys/devices/eareye_ultrasonic_device.20 # [   68.509527] irq event 192: bogus return value c362f
[   68.509582] time:0,800303.
[   68.509756] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.10.0 #173
[   68.509919] [<c0013ec4>] (unwind_backtrace+0x0/0xe0) from [<c001176c>] (show_stack+0x10/0x14)
[   68.510058] [<c001176c>] (show_stack+0x10/0x14) from [<c009f6f8>] (__report_bad_irq+0x28/0xb8)
[   68.510195] [<c009f6f8>] (__report_bad_irq+0x28/0xb8) from [<c009dc58>] (handle_irq_event_percpu+0x25c/0x28c)
[   68.510325] [<c009dc58>] (handle_irq_event_percpu+0x25c/0x28c) from [<c009dcc4>] (handle_irq_event+0x3c/0x5c)
[   68.510453] [<c009dcc4>] (handle_irq_event+0x3c/0x5c) from [<c00a04c0>] (handle_edge_irq+0x114/0x14c)
[   68.510580] [<c00a04c0>] (handle_edge_irq+0x114/0x14c) from [<c009d498>] (generic_handle_irq+0x20/0x30)
[   68.510705] [<c009d498>] (generic_handle_irq+0x20/0x30) from [<c029841c>] (rockchip_irq_demux+0x130/0x228)
[   68.510828] [<c029841c>] (rockchip_irq_demux+0x130/0x228) from [<c009d498>] (generic_handle_irq+0x20/0x30)
[   68.510956] [<c009d498>] (generic_handle_irq+0x20/0x30) from [<c000e3cc>] (handle_IRQ+0x64/0x8c)
[   68.511076] [<c000e3cc>] (handle_IRQ+0x64/0x8c) from [<c000853c>] (gic_handle_irq+0x38/0x5c)
[   68.511191] [<c000853c>] (gic_handle_irq+0x38/0x5c) from [<c000d600>] (__irq_svc+0x40/0x70)
[   68.511271] Exception stack(0xc0bedf08 to 0xc0bedf50)
[   68.511366] df00:                   c0bedf50 00000044 17fb74b3 00000010 c1ef92e0 00000000
[   68.511476] df20: 17f65b09 00000010 c0bfefd8 c0bec000 c0bfefe8 00000000 132a9479 c0bedf50
[   68.511565] df40: c0079850 c05adce8 60030013 ffffffff
[   68.511692] [<c000d600>] (__irq_svc+0x40/0x70) from [<c05adce8>] (cpuidle_enter_state+0x54/0xec)
[   68.511829] [<c05adce8>] (cpuidle_enter_state+0x54/0xec) from [<c05adeec>] (cpuidle_idle_call+0x16c/0x27c)
[   68.511961] [<c05adeec>] (cpuidle_idle_call+0x16c/0x27c) from [<c000e750>] (arch_cpu_idle+0x8/0x38)
[   68.512091] [<c000e750>] (arch_cpu_idle+0x8/0x38) from [<c0078c14>] (cpu_idle_loop+0x1b8/0x224)
[   68.512215] [<c0078c14>] (cpu_idle_loop+0x1b8/0x224) from [<c0078c8c>] (freezing_slow_path+0x0/0x80)
[   68.512331] [<c0078c8c>] (freezing_slow_path+0x0/0x80) from [<ffffffff>] (0xffffffff)
[   68.512401] handlers:
[   68.512483] [<c0320fe4>] ultrasonic_irq_handle

shell@firefly:/sys/devices/eareye_ultrasonic_device.20 #

请问这个问题该如何解决?


andGo 发表于 2016-12-15 18:46:56

你好 ,请问你的中断问题解决没有,一直没有找到可靠的写io中断的资料,可以分享一下调试经验不,谢谢
页: [1]
查看完整版本: rk3288使用GPIO作为中断口发生中断时产生大量奇怪log,并且设置双边沿中断时只能触...