ОШИБКА: истекло время ожидания Arduino 101 - что я могу сделать?
Я только что получил Arduino 101, поэтому на волне волнения я сделал следующее ...
- Подсоединил USB-кабель между ним и моим Macbook Pro
- Запущен Arduino IDE версии
1.6.7
- Написал немного кода
- Выбрал
Инструменты | платы | Менеджер плат ...
и установилплаты Intel Curie
в соответствии с началом работы - Выбранные
инструменты | Плата: "Arduino 101"
- Выбранные
инструменты | порт: "/dev/cu.usbmodemFA141 (Arduino 101)"
- Выбранный
Скетч | Загрузка
Я ожидал чего-то удивительного, но получил сообщение об ошибке:
Starting upload script
Payload: /var/folders/jr/5rmqcrqj58103d4p1f6_3sjr0000gn/T/build7c6ce067b9e8a57f9917c651ec494989.tmp/orientation.ino.bin
Waiting for device...
ERROR: Timed out waiting for Arduino 101.
Есть ли что-нибудь, что я могу сделать для отладки этого, или, возможно, я пропустил какой-то шаг?
(Я попробовал старый добрый способ выключить и снова включить его, включая выключение IDE).
@kmp, 👍9
7 ответов
Лучший ответ:
Нажмите кнопку сброса рядом с USB-портом. (в любом случае главный сброс находится между разъемом постоянного тока и USB).
Это приведет к перезагрузке Arduino 101 и переходу в режим DFU на 5 секунд, если он подключен по USB. Загрузка продолжится, когда Кюри войдет в DFU.
IDE использует сигнал со скоростью передачи данных через USB. Это виртуальный последовательный порт, поэтому скорость передачи данных не имеет значения. Но когда хост-сторона (Arduino IDE) переключает скорость передачи данных на 1200, плата перезагружается и переходит в режим DFU для загрузки. Если он по какой-то причине зависает и пропускает сообщение о перезагрузке, вы можете просто нажать кнопку сброса и выполнить то же самое.
Если путь к исходному файлу содержит пробел, это может быть причиной этой ошибки. Для получения дополнительной информации и решения проблемы см. Этот раздел на форуме Arduino.
У меня была та же проблема: не удалось загрузить программу на совершенно новый 101. Теперь это работает.
Я могу успешно загрузить как примеры программ BLE LED, так и программу ReadTime, считываемую через последовательный монитор. (Кстати, используя приложение MCP для iOS, вам нужно отправить либо 00, либо 01, чтобы включить / выключить светодиод.)
Я использую современный 64-разрядный ноутбук с портами USB 3.0. Все порты отлично работают с любым из двух USB-кабелей, которые у меня есть. Поэтому я не верю, что проблема связана с USB-кабелями или USB 2.0 / 3.0.
Как я это исправил? Ну, я попробовал несколько вещей, и я не уверен, какая из них исправила это, так что, возможно, кто-то может попробовать это методично и подтвердить лучшее исправление.
Удалите Arduino IDE и вручную удалите папку Arduino15 в user .. \ AppsData.
Перезагрузите ноутбук.
Загрузите и установите IDE 1.6.8. (Предыдущая неудачная попытка была с текущим 1.6.9.)
Перезагрузите ноутбук.
Откройте IDE. В диспетчере плат выполните поиск в Intel, выберите платы Curie и установите версию v1.0.4. (Предыдущая неудачная попытка была с текущим 1.0.5.)
Перезагрузите ноутбук.
Откройте IDE. Подключите 101 в первый раз. Устройство нормально отображалось в диспетчере устройств.
Выберите подходящий порт (COM5 для меня) и подходящую плату (101). Выберите файл примера, приведенный в разделе CurieBle. Нажмите кнопку подтвердить. Выглядит неплохо. Нажмите кнопку Загрузить. УСПЕХ! Теперь вы можете видеть 101 в nRF MCP, можете включать / выключать светодиод. Функции BLE теперь работают с USB-зарядным устройством 5V. (но не батарея 9 В, думаю, это не вариант) При подключении к порту USB 3.0 ноутбука 101 теперь остается в COM5 все время, больше не включаясь / выключаясь при попытке загрузки. Нет необходимости нажимать любую кнопку сброса во время загрузки.
Таким образом, исправление заключается либо в одном из понижений версии программного обеспечения, либо в тщательной процедуре установки.
Ранее я пробовал обновления dfu-utils, но это не решило эту проблему.
Это уже задокументировано в arduino.cc , но я просто добавлю здесь в качестве ссылки:
Только для Linux: для выполнения загрузки необходимо настроить некоторые дистрибутивы . После установки ядра выполните
sudo ~/.arduino15/packages/Intel/tools/arduino101load/1.6.4+1.18/scripts/create_dfu_udev_rule
внутри оболочки, чтобы получить разрешения на загрузку.
Ссылка: Процедура загрузки
Я использую Ubuntu 18.04, и у меня была похожая проблема, но в конце концов я решил ее.
Что сработало для меня, так это:
Обновите драйвер Arduino Curie в диспетчере плат до последней версии, которая на момент написания этого сообщения является версией 2.02
Выполните следующую команду в терминале, чтобы предоставить права на выполнение:
chmod +x ~/.arduino15/packages/Intel/hardware/arc32/2.0.2/scripts/create_dfu_udev_rule
Запустите исполняемый файл
sudo ~/.arduino15/packages/Intel/hardware/arc32/2.0.2/scripts/create_dfu_udev_rule
Перезапустите Arduino и попробуйте повторно загрузить
Редактировать для тестирования Debian
На момент этого редактирования все предыдущие шаги работают для дистрибутива Bookworm с последней версией Arduino IDE (1.8.19) и последней версией драйвера Arduino Curie (2.0.5). Просто напомните адаптировать предыдущий путь в соответствии с версией драйвера.
Я опубликовал исправление здесь:
https://forum.arduino.cc/index.php?action=profile ;area=выставочные стенды;u=1472279
Я действительно с нетерпением ждал, что это будет исправлением всех ошибок Arduino 101
Я очень настойчиво искал способы исправить ошибку тайм-аута Arduino / Genuino 101, я искал разные форумы и прочитал много предложений о том, как исправить ошибку, но все равно все потерпели неудачу, я знаю, что некоторые из 101 пользователей уже замуровали свои 101 или другие просто оставили это позади. Мы все знаем, что Arduino 101 уже снят с производства и даже поддержка уже прекращена, поэтому этот маленький, но мощный микроконтроллер все еще существует и, вероятно, используется некоторыми. Во всяком случае, если быть прямолинейным, я, наконец, обнаружил исправление ошибки. Обратите внимание, что когда вы вставляете свой 101 в USB-разъем, он считывает и устанавливает устройство, проверка его в диспетчере устройств покажет Arduino / Genuino 101 в разделе "Другие устройства", и будет добавлен новый интерфейс (COMX), затем вы устанавливаете Arduino IDE (независимо от версии), затем установите плату Arduino 101 через "Диспетчер платы", менеджер установит Arduino 101, но не уведомит вас о том, что драйвер для Arduino 101 не установлен из-за ошибки. Короче говоря, мы предполагаем, что драйвер для Arduino 101 успешно установлен. Вот в этом-то и кроется ошибка. Программный драйвер "dpinst-amd64" не имеет цифровой подписи, и Windows блокирует установку неподписанных драйверов. Так в чем же заключается решение проблемы? Исправление здесь по-прежнему заключается в установке "dpinst-amd64", поскольку это драйвер, необходимый для распознавания вашего 101, хитрость здесь в том, что вам нужно установить его другим способом, а не при обычной работе с ПК. Вам необходимо получить доступ к "отключить принудительное использование подписи" в разделе параметры запуска (не безопасный режим). Этот режим запуска позволит вам установить неподписанные драйверы (я доверяю этому драйверу Intel Curie, поскольку он был загружен вместе с платой). После установки перезагрузите компьютер в обычном режиме и снова подключите Arduino / Genuino 101, на этот раз компьютер распознает микроконтроллер, и теперь вы можете загружать скетчи без ошибки тайм-аута.
Для пошаговой процедуры:
- Доступ к обновлению и безопасности> Восстановление> Расширенный запуск
- В конечном итоге ваш компьютер перезагрузится и приведет вас к расширенному запуску, откройте "Устранение неполадок"> "Настройки запуска". Ваш компьютер снова перезагрузится, и отобразятся параметры для запуска, выберите номер 7 "отключить принудительное использование подписи".
- Ваш компьютер запустится. Найти "dpinst-amd64.exe " в C:> Пользователи> ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ> AppData> Local> Arduino15> пакеты> Intel> оборудование> arc32> 2.0.4 (последняя версия)> драйверы> dpinst-amd64
- Во время установки появится сообщение с запросом, хотите ли вы установить неподписанный драйвер, просто нажмите кнопку установить.
- После установки перезагрузите компьютер, и ваш Arduino / Genuino 101 готов к работе.
- Чтобы подтвердить, что ваш Arduino / Genuino 101 установлен, перейдите в Диспетчер устройств, и вы увидите, что Arduino / Genuino 101 больше нет на других устройствах.
Я надеюсь, что это поможет. : D Я постараюсь снять видео об этом исправлении. : D Спасибо!
С уважением,
Раф
- avrdude: ошибка проверки, первое несоответствие в байте 0x0000 : 0x00 != 0x16 с использованием USBasp
- Нет заголовочных файлов (.h) в Documents\Arduino\libraries\arduino_144469 с демонстрационным кодом
- Последовательный порт не распознается Arduino IDE
- Где параметры avrdude определяются в Arduino IDE?
- Софт Arduino не открывается в Mac OSX 10.10.1
- Можно ли обновить загрузчик Arduino (Nano) через себя и Arduino IDE или требуется ISP?
- avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied Upload error:
- Невозможно загрузить скетчс помощью Platformio (но Arduino IDE работает)
Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы только для ссылок могут стать недействительными, если страница, на которую дана ссылка, изменится., @sempaiscuba
О да, конечно, я просто скопирую и вставлю шаги здесь, @Raf