
SAM3x8e에 Arduino Due가 있습니다. 저는 우분투 14.04를 사용하고 있습니다. 오늘 전에는 다음 명령을 사용하여 터미널을 통해 펌웨어를 업로드했습니다.
$ stty -F /dev/ttyACM0 speed 1200 cs8 -cstopb -parenb
$ /home/q/apps/devel/arduino/arduino-1.5.7/hardware/tools/bossac --port=ttyACM0 -U false -e -w -v -b /home/q/work/gk/j-v2/embedded/smib/Release/smib.bin -R
좋았는데 지금은 작동이 멈췄어요. Bossac은 전화를 끊습니다. '-d'는 아무것도 표시하지 않습니다. 그게 전부입니다.
Arduino IDE 1.6.5를 다운로드했지만 이것은 중요하지 않습니다. ide의 콘솔에서 나는 얻는다
Sketch uses 11,000 bytes (2%) of program storage space. Maximum is 524,288 bytes.
Forcing reset using 1200bps open/close on port /dev/ttyACM0
/home/q/.arduino15/packages/arduino/tools/bossac/1.3a-arduino/bossac -i -d --port=ttyACM0 -U false -e -w -v -b /tmp/build238086227206829290.tmp/AnalogReadSerial.cpp.bin -R
Arduino 보드에 LED가 깜박이지 않고 붙어 있습니다. CPU의 99%를 로드하기 때문에 실제로 작동이 중단되는 것 같습니다... Ubuntu 업데이트로 인해 이 문제가 발생한 것일 수도 있습니다...?
dmesg
[ 5168.658692] usb 3-3: new full-speed USB device number 7 using xhci_hcd
[ 5168.676969] usb 3-3: New USB device found, idVendor=2341, idProduct=003d
[ 5168.676979] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 5168.676985] usb 3-3: Product: Arduino Due Prog. Port
[ 5168.676989] usb 3-3: Manufacturer: Arduino (www.arduino.cc)
[ 5168.676994] usb 3-3: SerialNumber: 75438313633351A07051
[ 5168.677225] usb 3-3: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 5168.677652] cdc_acm 3-3:1.0: ttyACM0: USB ACM device
시스템 로그
Oct 4 21:49:01 4xybook kernel: [ 5356.553290] usb 3-3: new full-speed USB device number 8 using xhci_hcd
Oct 4 21:49:01 4xybook kernel: [ 5356.571623] usb 3-3: New USB device found, idVendor=2341, idProduct=003d
Oct 4 21:49:01 4xybook kernel: [ 5356.571635] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=220
Oct 4 21:49:01 4xybook kernel: [ 5356.571643] usb 3-3: Product: Arduino Due Prog. Port
Oct 4 21:49:01 4xybook kernel: [ 5356.571649] usb 3-3: Manufacturer: Arduino (www.arduino.cc)
Oct 4 21:49:01 4xybook kernel: [ 5356.571655] usb 3-3: SerialNumber: 75438313633351A07051
Oct 4 21:49:01 4xybook kernel: [ 5356.571923] usb 3-3: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
Oct 4 21:49:01 4xybook kernel: [ 5356.572506] cdc_acm 3-3:1.0: ttyACM0: USB ACM device
Oct 4 21:49:01 4xybook mtp-probe: checking bus 3, device 8: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-3"
Oct 4 21:49:01 4xybook mtp-probe: bus: 3, device: 8 was not an MTP device
lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 8087:07da Intel Corp.
Bus 001 Device 003: ID 064e:c336 Suyin Corp.
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 008: ID 2341:003d Arduino SA
Bus 003 Device 002: ID 1a2c:0e24 China Resource Semico Co., Ltd
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
strace는 이것을 제공합니다.
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99988})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99992})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99994})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99994})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99994})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99994})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99996})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
read(4, "", 1024) = 0
select(5, [4], NULL, NULL, {0, 100000}) = 1 (in [4], left {0, 99995})
설명자를 무기한 폴링합니다. select = 1은 데이터가 있음을 의미하지만 읽기는 0을 반환합니다. 낮은 수준의 무언가가 손상된 것 같습니다... 시스템 업데이트 때문일 수 있습니다(
어떤 도움이라도 정말 감사하겠습니다.
답변1
커널을 3.13.0-66-generic에서 3.13.0-67-generic으로 업그레이드하면 문제가 해결되는 것 같습니다.