2014-11-21 6 views
7

현재 BeagleBone Black (표준 Angstrom 배포판 사용)을위한 응용 프로그램을 개발 중입니다. GDB (Netbeans가 원격으로 제어)에서 꽤 오랫동안 (5 ~ 10 분) 실행되지만, 상대적으로 임의의 시점에서 멈추게됩니다. 하트 비트 LED가 깜박임을 멈추고 완전히 재부팅해야합니다.BeagleBone Black freezes

하나의 가능성은 단순히이 문제의 원인이되는 (USB) 장치의 수라는 것입니다. 우리는 내 개발 PC에 FTDI 직렬 링크로 연결되어 있습니다 (내 BBB 서버와 통신하는 클라이언트 응용 프로그램이 있습니다). 여러 개의 장치 (현재 3 개)가있는 4-way FTDI 허브가 있고, 다른 하나의 하드웨어가 연결된 또 하나의 FTDI 연결이 있습니다. 또한, 2 개의 I2C 장치. 플러스 마우스와 키보드.

물론 USB가 문제를 일으킨다는 소문 외에는 증거가 없습니다. 내 소프트웨어는 어떤 신호도 발생시키지 않는다. 로그 파일은 나에게 거의 알려주지 않는다. 나는 시스템 모니터링 애플리케이션을 실행하여 메모리 누수 여부를 확인했지만 제대로 동작하고 안정적으로 보입니다 (CPU가 크리프 업했지만). 나는 실패한 것을 발견 할 수있는 방법을 찾고 싶다.

+0

없음 피드백 :

디버그 시리얼 콘솔의 출력이 우리의 응용 프로그램의 경우로 확인? 오 잘, 던지기위한 수류탄이 있습니다. 우분투를 내 노트북에 설치했는데 (+ Netbeans + svn + ...), 코드를 빌드하고 실행하며 바위처럼 단단하고 하루 종일 (I2C 빼기, 일반적으로) 실행됩니다. 우리는 BBB/Angstrom에서 USB 스택을 강하게 의심합니다. –

답변

7

, 토끼 구멍의 바닥 :

http://e2e.ti.com/support/arm/sitara_arm/f/791/t/308549

TI 실리콘에서 문제가 발생하는 인터럽트 "배블"를 야기 구체적 인터럽트 컨트롤러,가 있다고 나타나는 USB가 지나치게 바쁠 때 이로 인해 호스트의 재설정 시도가 발생하고 그에 따라 응용 프로그램이 종료됩니다. 이것은 Angrstrom과 Debian 모두에 문제가있는 이유를 설명합니다. 스택/드라이버 문제는 아니지만 TI 칩의 문제입니다. 아야! 우리는 아마도 BBB를 우리의 플랫폼으로 선택해야 할 것입니다.

_handle_irq+0x39/0x58) 
[ 466.343796] [<c0008551>] (omap3_intc_handle_irq+0x39/0x58) from [<c045b95b>] 
(__irq_svc+0x3b/0x5c) 
[ 466.359334] Exception stack(0xd2759cf8 to 0xd2759d40) 
[ 466.368332] 9ce0:              00000000 c0849ac0 
[ 466.382735] 9d00: 00000000 00000000 c07a2080 00000000 d2758000 00000002 d2759db0 00000003 
[ 466.397178] 9d20: c0812610 d2758000 b405025a d2759d40 c0031241 c0030f4e 40000133 ffffffff 
[ 466.411686] [<c045b95b>] (__irq_svc+0x3b/0x5c) from [<c0030f4e>] (__do_softirq+0x46/0x174) 
[ 466.426346] [<c0030f4e>] (__do_softirq+0x46/0x174) from [<c0031241>] (irq_exit+0x29/0x50) 
[ 466.440833] [<c0031241>] (irq_exit+0x29/0x50) from [<c000c8cf>] (handle_IRQ+0x3f/0x5c) 
[ 466.454864] [<c000c8cf>] (handle_IRQ+0x3f/0x5c) from [<c0008551>]  (omap3_intc_handle_irq+0x39/0x58) 
[ 466.470777] [<c0008551>] (omap3_intc_handle_irq+0x39/0x58) from [<c045b95b>](__irq_svc+0x3b/0x5c) 
[ 466.486319] Exception stack(0xd2759db0 to 0xd2759df8) 
[ 466.495351] 9da0:          00000002 00000000 00007d00 00000000 
[ 466.509782] 9dc0: c07c81d0 c07c81d0 c07c75dc 00007d02 0000007d 00000003 c0812610 de5f4b40 
[ 466.524147] 9de0: 00000100 d2759df8 c0025b2d c0025bea 00000133 ffffffff 
[ 466.536019] [<c045b95b>] (__irq_svc+0x3b/0x5c) from [<c0025bea>] (omap3_noncore_dpll_set_rate+0x1f2/0x330) 
[ 466.553005] [<c0025bea>] (omap3_noncore_dpll_set_rate+0x1f2/0x330) from [<c0383273>] (clk_change_rate+0x1b/0x52) 
[ 466.570813] [<c0383273>] (clk_change_rate+0x1b/0x52) from [<c03832fb>] (clk_set_rate+0x51/0x72) 
[ 466.586199] [<c03832fb>] (clk_set_rate+0x51/0x72) from [<c034ba29>] (cpu0_set_target+0xf9/0x198) 
[ 466.601754] [<c034ba29>] (cpu0_set_target+0xf9/0x198) from [<c0348c5d>] (__cpufreq_driver_target+0x4d/0x70) 
[ 466.618890] [<c0348c5d>] (__cpufreq_driver_target+0x4d/0x70) from [<c034b33b>] (dbs_check_cpu+0x123/0x134) 
[ 466.635897] [<c034b33b>] (dbs_check_cpu+0x123/0x134) from [<c034ad31>] (od_dbs_timer+0x4d/0xb0) 
[ 466.651283] [<c034ad31>] (od_dbs_timer+0x4d/0xb0) from [<c003c8c5>] (process_one_work+0x1b5/0x2c0) 
[ 466.667088] [<c003c8c5>] (process_one_work+0x1b5/0x2c0) from [<c003cca3>] (worker_thread+0x19b/0x258) 
[ 466.683355] [<c003cca3>] (worker_thread+0x19b/0x258) from [<c003fb8f>] (kthread+0x67/0x74) 
[ 466.698026] [<c003fb8f>] (kthread+0x67/0x74) from [<c000c0dd>] (ret_from_fork+0x11/0x34) 
[ 466.712148] drm_kms_helper: panic occurred, switching back to text console 
[ 407.924892] CAUTION: musb: Babble Interrupt Occurred 
[ 407.965570] CAUTION: musb: Babble Interrupt Occurred 
[ 408.026994] gadget: high-speed config #1: Multifunction with RNDIS 
[ 413.918684] musb_g_ep0_irq 710: SetupEnd came in a wrong ep0stage wait 
+0

여기 BBB는 황금 시간대 준비가 아닙니다. 어떠한 경우에도 산업 디자인에 사용하지 마십시오. Element14는 자신의 문제에 대해 알고 있어야하며 앉아 있어야합니다. – RobC

0

USB 허브에 마우스를 꽂은 다음 BBB에 고정하면 IO에 연결된 다른 장치가있는 경우이 문제가 발생할 수 있습니다. 동료가 라즈베리 파이에도 그런 문제가 있다는 것을 알려줍니다. 마우스의 플러그를 뽑았을 때, 소프트웨어는 동결없이 1 시간 이상 잘 돌아갔다. 다시 플러그를 꽂으면 약 10 분 후에 얼어 붙었습니다. 마우스를 제거하고 다시 실행하면 아무런 문제없이 다시 30 분 동안 진행됩니다. 마지막

+0

사실 너무 좋았습니다. 여전히 얼고, 조금 더 오래 걸립니다. 한숨. –