Arduino Uno, запрограммированный с помощью Nvidia Jetson tx2

Я пытаюсь запрограммировать Arduino Uno с помощью Jetson tx2 и получаю ошибку

avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

Последовательный порт установлен на /dev/ttyS0

dmesg, когда Arduino подключен, возвращается

[78222.855639] usb 1-1: USB disconnect, device number 60
[78224.468387] usb 1-1: new full-speed USB device number 61 using xhci-tegra
[78224.605794] usb 1-1: feature bit otg_vbus_off set
[78224.610575] usb 1-1: New USB device found, idVendor=2341, idProduct=0043
[78224.617365] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[78224.624750] usb 1-1: Manufacturer: Arduino (www.arduino.cc)
[78224.630502] usb 1-1: SerialNumber: 55739323237351306122
[78224.636529] usb 1-1: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[78224.646057] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 6

lsusb возвращает

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 054: ID 413c:2107 Dell Computer Corp. 
Bus 001 Device 065: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

, 👍3

Обсуждение

Вы заметили, что в журнале не упоминается файл устройства?, @Ignacio Vazquez-Abrams

Я не сделал, что это значит, что я должен сделать, @Peter


3 ответа


0

Устройство должно быть /dev/ttyACM0, не /dev/ttyS0.

Поскольку он не предоставляет вам это устройство, скорее всего, на нем не установлены или не загружены драйверы устройств CDC/ACM.

В зависимости от того, какой дистрибутив Linux вы используете, вам может потребоваться установить дополнительные пакеты (вы, конечно, делаете это для OpenWRT, но я понятия не имею, что это за устройство вы используете или что на нем работает).

р>
,

Джетсон запускает Ubuntu. Я нашел сообщения о том, что он должен отображаться как /dev/ttyUSB0, но я не знаю, как это сделать., @Peter

Может быть, спросите на сайте, где кто-нибудь знает, что это за штука Jetson. CDC/ACM, который использует Arudino, будет /dev/ttyACM0. Это только /dev/ttyUSB0 для FT232 или других подобных пользовательских интерфейсов UART (CH340G и т. д.)., @Majenko


0

Когда вы собирали ядро Jenson, включили ли вы драйвер CDC/ACM с помощью менюconfig?

Из Игровая площадка Arduino:

Если вы настроили собственное ядро, драйвер находится либо в разделе «Устройство», либо в разделе «Устройство». Драйверы => Поддержка USB => Поддержка последовательного преобразователя USB => USB FTDI Драйвер последовательного порта для одного порта» или «Драйверы устройств => Поддержка USB => USB Поддержка модема (CDC ACM). Выберите [Y], чтобы он был «встроен» в kernel или [M], чтобы оно было собрано как модуль.

Я не знаком с Arduino и не знаю, будет ли она отображаться как /dev/ttyUSB0 или /dev/ttyACM0 согласно @Majko.

,

1

Версия Arduino IDE, содержащаяся в репозиториях Jetson, содержит ошибки на Jetson TX2 с Jetpack 3.2+, а Arduino IDE в репозитории довольно старая. Вместо этого попробуйте бета-версию, связанную с Github Issue #7302. Эта бета-версия должна работать с Jetson и другими платформами aarch64. Большое спасибо замечательным людям, работающим над поддержкой этой платформы.

Шаги

После скачивания и распаковки сборки выполните следующие действия:

#Install the OpenJDK Dependencies
sudo apt-get install openjdk-8-jre openjdk-8-jdk

#Remove the Packaged Java Folder
cd ${PATH}/arduino-PR-beta1.9-BUILD-69
sudo rm -r java

#Add armhf Architecture to Package Manager
sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get install libc6:armhf libstdc++6:armhf

#Install the Arduino IDE
sudo ./install.sh
sudo ./arduino-linux-setup.sh

#Reboot

Примечания

  • Скрипт arduino-linux-setup.sh обрабатывает разрешения IDE на общение с ttyACM0, обновляет правила udev и удаляет надоедливый диспетчер модемов.
  • Пакеты Armhf необходимы для предотвращения сбоев ctags.
  • Если у вас по-прежнему возникают проблемы с CDC/ACM, установите модуль, используя сценарии из JetsonHacks
,