Проблема с загрузчиком Sparkfun Edge ... не работает
Привет, я читал здесь учебник по программированию с обнаружением человека на краю искр. (Код, указанный в ссылке на github, устарел, поэтому я использовал коды внутри библиотеки tensorflow_lite. У них уже были примеры кодов)
Учебник казался довольно простым и понятным, однако я всегда получаю эту ошибку, когда пытаюсь загрузить эскиз.
Artemis SVL Bootloader
Script version 1.7
Phase: Setup
Cleared startup blip
Failed to enter bootload phase
Phase: Setup
Cleared startup blip
Failed to enter bootload phase
Phase: Setup
Cleared startup blip
Failed to enter bootload phase
Target failed to enter bootload mode. Verify the right COM port is selected and that your board has the SVL bootloader.
Затем я понял, что даже простой (исходный набросок, который вы получаете при создании нового скетча) не будет загружен с таким же сообщением об ошибке.
Моя установка:
- новый Macbook Pro (а также Gentoo linux на моем рабочем столе и windows10 в virtualBox)
- Sparkfun серийный базовый прорыв (по умолчанию перешел на 3 на 3)
- Последовательный кабель FTDI 3v3
Настройки, которые я пробовал: \
Linux x86_64 (Gentoo Linux) -> также переустановил драйвер CH341SER.
Mac os Catalina(10.15.6) → снова также переустановил драйвер CH340 в соответствии с этим ответом stackru
Windows10 (в виртуальном боксе на дистрибутиве Gentoo Linux)
Я пробовал использовать не только последние библиотеки и менеджер плат apollo3 (1.1.2), но и более ранние версии (1.0.30 и ниже).
Пытался изменить скорость передачи на все возможные скорости, указанные в качестве опции.
Я пробовал использовать
Ambiq Secure Bootloader
вместо тогоSVL
и когда я это сделаю, он выдает это сообщение (сообщение об ошибке было в Linux, но такая же ошибка была и в Mac OS)
Connecting over serial port /dev/ttyUSB0...
Sending Hello.
No response for command 0x00000000
Failed to respond
Fail
Sending Hello.
No response for command 0x00000000
Failed to respond
Fail
Sending Hello.
No response for command 0x00000000
Failed to respond
Fail
Tries = 3
Upload failed
- также попытался сбросить настройки платы (чтобы светодиодный индикатор больше не мигал) перед загрузкой файла эскиза.
Может ли плата быть неисправной с самого начала? Микро логический вывод речи по умолчанию, кажется, работает, поскольку он реагирует на "да" и "нет". Поиск в Google не помог мне с этой проблемой... Я уже несколько дней пытаюсь заставить эту работу работать... Как вы думаете, есть ли другие возможности решить проблему?
1 ответ
Плата Edge, поставляемая SparkFun, не имеет загрузчика SVL. Ваши первые сообщения об ошибках указывают на попытку использовать загрузчик SVL для прошивки кода. Этого не должно происходить, если у вас в качестве платы в Arduino выбран Edge, если вы вручную не изменили параметр "загрузчик" в меню инструментов.
Вам также следует утомиться, какая скорость передачи данных установлена в вашем Ambiq Secure Bootloader. Вы говорите, что купили плату на прошлой неделе - все платы, проданные через SparkFun.com, настроены на 921600 бод для загрузчика ASB. Убедитесь, что в меню инструментов Arduino выбран правильный вариант.
Когда вы действительно используете загрузчик ASB (по умолчанию для Edge), вы должны принудительно перевести плату в режим загрузки с помощью кнопки 14. Плата перейдет в режим загрузки при нажатии кнопки 14 во время сброса платы. Инструменты загрузки сбросят плату автоматически, поэтому вы должны обязательно удерживать кнопку 14 при загрузке с помощью ASB. При желании вы можете выполнить ручной цикл (удерживайте 14, нажмите сброс, удерживайте 14 во время загрузки), если на плате много последовательного трафика.
Как только это сработает, вы также можете перейти на SVL (для этого потребуется прошить образ с помощью ASB). При использовании SVL не используйте последовательность сброса загрузки.
Попробуйте уменьшить последовательную скорость с 921600 до 115200. У меня работало как на Arduino, так и в SDK.
make BOARD=$YOUR_BOARD bootload_svl COM_PORT=/dev/ttyUSB0 SVL_UPLOAD_BAUD=115200
Makefile:112: Using BOARD=redboard_artemis_atp at ../../../../redboard_artemis_atp
Makefile:121: warning: you have not defined PYTHON3. assuming it is accessible by 'python3'
Makefile:125: defaulting to 115200 baud for ASB
Makefile:134: warning: you have not defined SDKPATH so will continue assuming that the SDK root is at ../../../../..
Makefile:142: warning: you have not defined COMMONPATH so will continue assuming that the COMMON root is at ../../../../common
Makefile:163: warning: you have not defined PROJECTPATH so will continue assuming that the PROJECT root is at ..
Makefile:170: CONFIG=../gcc/redboard_artemis_atp/bin
python3 ../../../../common/tools_sfe/svl/svl.py /dev/ttyUSB0 -f ../gcc/redboard_artemis_atp/bin/blinky_svl.bin -b 115200 -v
Artemis SVL Bootloader
Script version 1.7
Phase: Setup
Cleared startup blip
Got SVL Bootloader Version: 3
Sending 'enter bootloader' command
Phase: Bootload
have 4824 bytes to send in 3 frames
Sending frame #1, length: 2048
Sending frame #2, length: 2048
Sending frame #3, length: 728
Upload complete
Nominal bootload bps: 9724.7