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
@Peter, 👍3
Обсуждение3 ответа
Устройство должно быть /dev/ttyACM0
, не /dev/ttyS0
.
Поскольку он не предоставляет вам это устройство, скорее всего, на нем не установлены или не загружены драйверы устройств CDC/ACM.
В зависимости от того, какой дистрибутив Linux вы используете, вам может потребоваться установить дополнительные пакеты (вы, конечно, делаете это для OpenWRT, но я понятия не имею, что это за устройство вы используете или что на нем работает).
р>Джетсон запускает Ubuntu. Я нашел сообщения о том, что он должен отображаться как /dev/ttyUSB0, но я не знаю, как это сделать., @Peter
Может быть, спросите на сайте, где кто-нибудь знает, что это за штука Jetson. CDC/ACM, который использует Arudino, будет /dev/ttyACM0. Это только /dev/ttyUSB0 для FT232 или других подобных пользовательских интерфейсов UART (CH340G и т. д.)., @Majenko
Когда вы собирали ядро Jenson, включили ли вы драйвер CDC/ACM с помощью менюconfig?
Из Игровая площадка Arduino:
Если вы настроили собственное ядро, драйвер находится либо в разделе «Устройство», либо в разделе «Устройство». Драйверы => Поддержка USB => Поддержка последовательного преобразователя USB => USB FTDI Драйвер последовательного порта для одного порта» или «Драйверы устройств => Поддержка USB => USB Поддержка модема (CDC ACM). Выберите [Y], чтобы он был «встроен» в kernel или [M], чтобы оно было собрано как модуль.
Я не знаком с Arduino и не знаю, будет ли она отображаться как /dev/ttyUSB0
или /dev/ttyACM0
согласно @Majko.
Версия 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
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Ошибка "'Serial' does not name a type"
- Построение графика на Python с использованием Tkinter Canvas
- Команда strtok() с Serial связью
- Как отправить целое число через pyserial с Python на Arduino и получить тот же результат?
- Сделать плату Arduino одновременно и USB-накопителем, и клавиатурой?
- Ошибка 'Serial' was not declared in this scope
- Как изменить переменную при нажатии кнопки, подключенной к контакту 2
Вы заметили, что в журнале не упоминается файл устройства?, @Ignacio Vazquez-Abrams
Я не сделал, что это значит, что я должен сделать, @Peter