Программа для прошивки Dfuse

Обновлено: 04.07.2024

Sparky — это очень недорогая и очень мощная доска.

  • 3 аппаратных последовательных порта.
  • Встроенные инверторы последовательного порта, которые позволяют использовать приемники S.BUS без внешних инверторов.
  • USB (можно использовать одновременно с последовательными портами).
  • 10 выходов ШИМ.
  • Выделенный входной контакт PPM/SerialRX.
  • MPU9150 I2C Acc/Gyro/Mag
  • Баро

Протестировано с платами ревизий 1 и 2.

  • Отображение (через порт Flex)
  • SoftSerial — хотя наличие 3 аппаратных последовательных портов делает его немного избыточным.
  • Сопоставления ШИМ самолета.

Посредством загрузки прошивки устройства (DFU, USB) — Windows

Для DFU требуется двоичный файл, а не файл .hex. Если он не включен в выпуск, создайте его следующим образом.

Переведите устройство в режим DFU, включив искру с временно замкнутыми контактами загрузчика. Должен загореться только синий светодиод PWR.

Проверьте диспетчер устройств Windows, чтобы убедиться, что плата распознана правильно. Оно должно отображаться как «STM-устройство в режиме DFU» в разделе «Контроллеры универсальной последовательной шины».

Если он отображается как «STMicroelectronics Virtual COM» в разделе «Порты (COM и LPT)», значит, плата не находится в режиме DFU. Отсоедините плату, снова замкните контакты загрузчика при подключении платы.

Если плата отображается в диспетчере устройств как устройство "STM 32 Bootloader", драйверы необходимо обновить вручную. Выберите устройство в диспетчере устройств, нажмите «обновить драйверы», выберите «ручное обновление драйверов» и выберите место, куда вы извлекли драйверы STM VCP, выберите «позвольте мне выбрать, какой драйвер установить». Теперь вы сможете выбрать либо драйвер загрузчика STM32, либо драйвер STM в режиме DFU. Выберите более позднюю версию и установите.

Затем запустите двоичный файл, как показано ниже.

Отключите и снова подключите плату к USB-кабелю и продолжайте настраивать ее с помощью конфигуратора Cleanflight, как обычно

Посредством загрузки прошивки устройства (DFU, USB) — Mac OS X/Linux

Эти инструкции предназначены для dfu-util, протестированного с использованием dfu-util 0.7 для OSX из проекта OpenTX.

Для DFU требуется двоичный файл, а не файл .hex. Если он не включен в выпуск, создайте его следующим образом.

Переведите устройство в режим DFU, включив искру с временно замкнутыми контактами загрузчика. Должен загореться только синий светодиод PWR.

Запустите 'dfu-util -l', чтобы убедиться, что устройство есть в списке, как показано ниже.

Затем запустите двоичный файл, как показано ниже.

Вывод должен быть примерно таким:

Чтобы выполнить полное стирание чипа, вы можете использовать файл, созданный

Это может быть использовано dfu-util.

Через SWD

В нижней части платы имеется разъем SWD-разъема, на переключатель можно припаять разъем JST-SH. После подключения SWD вы можете использовать инструменты st-link или j-link для прошивки двоичного файла.

См. схему Sparky для распиновки CONN2.

Загрузчик TauLabs

Прошивка cleanflight удалит загрузчик TauLabs, это не проблема, и его можно легко восстановить с помощью инструмента st flashloader.

< /tr>
Значение Идентификатор RX TX Примечания
1 USB VCP RX (USB) TX (USB)
2 USART1 RX/PB7 TX/PB6 Conn1/гибкий порт.
3 USART2 RX/PA3 PWM6/PA2 На RX находится заголовок INPUT. Лучший порт для последовательного входа RX
4 USART3 RX / PB11 TX / PB10< /td> RX/TX находится на одном конце 6-контактного разъема относительно выходов ШИМ.

USB VCP можно использовать одновременно с другими последовательными портами (в отличие от Naze32).

Все порты USART поддерживают автоматическую аппаратную инверсию, которая позволяет напрямую подключать последовательные приемники rx, такие как FrSky X4RSB, без необходимости внешнего инвертора.

< tr>
Вывод Сигнал Функция Сопротивление
PWM6 PA2 Пусковой контакт 1K Ом
PWM7 PB1 Echo pin 1K Ом

ВНИМАНИЕ! Контакты PWM6 и PWM7 НЕ рассчитаны на 5 В, поэтому между датчиком и контактами FC требуется резистор 1 кОм.

Контакт Сигнал Функция
PWM9 PA4 Напряжение батареи
PWM8 PA7 Измеритель тока

Мониторинг напряжения

Sparky не имеет схемы делителя батареи, PWM9 имеет встроенный резистор 10k, который необходимо учитывать при расчете сопротивления. Схема делителя должна в конечном итоге создать напряжение от 0 В до 3,3 В (МАКС.) на входном контакте MCU.

ВНИМАНИЕ! Дважды проверьте выход делителя напряжения с помощью вольтметра перед подключением к FC.

Пример схемы

Для делителя батареи 3Cell работает следующая схема:

Батарея (+) --- --- PWM9 --- --- Батарея (-)

  • R1 = 8k2 (серый красный красный)
  • R2 = 2k0 (красный черный красный)

Это дает 2,2k для 11,2-вольтовой батареи. Значение vbat_scale для этого делителя должно быть около 52 .

Текущий мониторинг

Подключите датчик тока к PWM8/PA7, который обеспечивает выходное напряжение в диапазоне от 0 В до 3,3 В (МАКС.).




DFU или DfuSe — это USB-пакет для обновления прошивки на STM32 через USB.
DfuSe содержит демонстрационный графический интерфейс, графический интерфейс отладки, все исходные файлы и уровень протокола
.


Для использования DFU на STM32 прочтите AN3156 и UM0412.

AN3156 — протокол USB DFU, используемый в загрузчике STM32
UM0412 — начало работы с обновлением прошивки USB-устройства DfuSe

Никаких специальных инструментов, таких как JTAG, ST-LINK или кабель USB-to-UART, не требуется.
Возможность программирования "пустого" устройства STM32 в только что собранной плате через USB.
И легко обновить прошивку STM32 во время разработки или подготовки к производству.




    Чтобы использовать DFU на STM32, прочитайте:

AN3156 — протокол USB DFU, используемый в загрузчике STM32
UM0412 — начало работы с обновлением прошивки USB-устройства DfuSe

  • После установки DfuSe в пакете есть утилита: DFU File Manager,
    которая используется для создания файла .DFU из файла .HEX или .S19, см. ниже.

    < /li>

  1. Вы должны создать файл .DFU из файла .HEX или .S19, для этого используйте файловый менеджер DFU.
  2. Вы должны перевести свою eval-плату в режим DFU (режим загрузки), в нашем случае это платаSTM32F072B-DISCO, и необходимо подключить контакт BOOT к контакту VDD, см. под красной рамкой.






Вы должны увидеть запуск программы, которую вы скачали через
демонстрацию DfuSe .

Опишите ошибку
"Обнаружено более одного USB-устройства с поддержкой DFU!" Ошибка при прошивке файла Pinecil 2.16 dfu в Windows.

Чтобы воспроизвести
Следуя руководству по перепрошивке Pinecil, я выполнил следующую команду:
dfu-util -D Pinecil_multi_compressed_European.dfu

Вывод следующий:
Найдено более одного USB-устройства с поддержкой DFU! Попробуйте --list и укажите серийный номер или отключите все устройства, кроме одного

Выполнение команды --list дает:

Прошивка с дополнительными флагами для установки раздела прошла успешно:
dfu-util -a 0 -D Pinecil_multi_compressed_European.dfu -s 0x08000000

Но устройство вообще не загружается. Экран черный, а usb сообщает о неисправности USB-устройства. Возврат к версии 2.15 работает нормально.

Ожидаемое поведение
Прошивка прошла успешно без ошибки

Информация о вашем устройстве:

Текст был успешно обновлен, но возникли следующие ошибки:

Johnex прокомментировал 25 сентября 2021 г. •

Возможно, вы также захотите предупредить этих парней. О новых изменениях DFU и бинарном файле, который они включают, несовместимом 👍

NVM, я их напишу :D

publicarray прокомментировано 25 сентября 2021 г.

Johnex прокомментировал 25 сентября 2021 г.

Прокомментировал Ралим 25 сентября 2021 г.

А, это могло бы стать причиной проблемы.
Я думаю, что лучше всего дождаться обновления этого программного обеспечения или загрузить более новую версию dfu-util :)

Johnex прокомментировал 25 сентября 2021 г.

И он успешно прошивается, но теперь вместо пустого экрана у меня искаженный экран?

photo_2021-09- 26_01-27-08

Johnex прокомментировал 25 сентября 2021 г. •

Странно. Если я позволю ему оставаться таким поврежденным в течение нескольких секунд, 10 или около того, он исправится. Затем, когда я переключаю питание, я получаю вот такую ​​красоту:

Прокомментировал Ралим 25 сентября 2021 г.

Теперь это странно
Чтобы подтвердить, вы прошивали файл .dfu или .bin?
Я прошил здесь 2.16-rc и не могу воспроизвести эту проблему:/
Не могли бы вы попробовать сбросить флешку обратно через dfu?

Johnex прокомментировал 25 сентября 2021 г. •

Да, я прошил файл dfu.У вас есть команда для сброса? Я попробовал просто dfu-util -d 28e9:0189 -U dump.bin, и он снова предупреждает о нескольких устройствах 😅

Johnex прокомментировал 25 сентября 2021 г. •

Просто отмечу, что я прошился до версии 2.15 только для проверки, и она работает нормально, так что, по крайней мере, без необратимых повреждений 😋

Прошил еще раз 2.16 и она такая же испорченная :(

Возможно, это не связано или связано с тем, что опция автоматической ориентации экрана в полукоррумпированной версии 2.16 не работает.

Я думал, что это может быть связано с изменениями в контроле качества, но я протестировал оба варианта, используя только устаревшее питание USB и USB-C PD, и та же проблема. Хотя может все же так? Существует постоянное время ожидания от включения питания -> поврежденный экран -> исправляет себя, около 70 секунд.

Прокомментировал Ралим 25 сентября 2021 г.

Вам нужно будет указать alt равным 0, добавив -a 0 к команде, которую я считаю

Повреждение похоже на то, что у I2C плохой день, но как вы доходите до такого состояния, я действительно не уверен.

На версии 2.16 работает ли PD? Акцерометр работает? (Вы можете проверить это, зайдя в меню отладки до опции PCB/ACC)

Sat1l прокомментировал 26 сентября 2021 г. •

У меня та же проблема на Mac OS (11.6), хотя -a 0 все исправляет
И да, на моем аппарате на 2.16 акселерометр чудит и показывает, что не обнаружен. Также не работает PD, блок питания MacBook мощностью 96 Вт выдает только 5 Вт

Прокомментировал Ралим 26 сентября 2021 г.

Вы не должны требовать -a 0, если вы используете файл .dfu и dfu-util 0.11
Какой файл вы прошиваете?
В версии 2.15 какая у вас модель акселерометра?

Sat1l прокомментировал 26 сентября 2021 г.

Обновил dfu-util, теперь нормально работает без -a 0
Прошиваю Pinecil_multi_compressed_Bulgarian+Русский+Сербский+Украинский.dfu
В меню отладки почему-то не видно акселерометра , меню ACC просто нет(после Вин показывает PCB), но меню MOVE регистрирует движения успешно

Прокомментировал Ралим 26 сентября 2021 г. •

Ah PCB — это старое название, извините,
Если MOVE обновляется, это хорошо. ПД сейчас работает?
Вы можете попробовать принудительно сбросить настройки, если из-за плохой прошивки в области настроек появилась хрень

Sat1l прокомментировал 26 сентября 2021 г.

На 2.15 все работает безупречно,
Но 2.16 PD по-прежнему не работает, даже после сброса настроек
Также, когда я пытался переустановить 2.16*, dfu-util сходил с ума и говорил мне, что DFU не поддерживается Наличие USB-устройства. Я был подключен через usb-c к usb-концентратору с кабелем usb-usb-c, и решение было таким же простым, как подключение его прямым кабелем usb-c к usb-c
И говоря об ACC, на 2.16 он показывает нет и MOVE не обновляется

*(получил такой же странный экран с точками, как у Johnex, через какое-то время все стало нормально, но после отключения питания и в нем просто отображается предварительный просмотр меню «Дополнительные параметры» и не восстанавливается даже через некоторое время)

Прокомментировал Ралим 26 сентября 2021 г.

Хм, очень странно,

Отсутствие доступного USB-устройства с поддержкой DFU часто означает, что вам просто нужно подождать (иногда загрузчику USB требуется несколько секунд для правильного запуска, и он может пропустить первый этап опроса USB).

Можете ли вы попробовать использовать не многоязычную версию встроенного ПО, чтобы уточнить, связана ли проблема с этим или нет? (Мы делаем некоторые интересные переупаковки, чтобы заставить их работать)

Кроме того, прикрепил локальную сборку с файлами bin и dfu; если у вас есть время, не могли бы вы попробовать и это 🙏🏼

Осознайте его усилия, и я приношу свои извинения, я не смог воспроизвести это с локальными сборками или сборками github, и хотел бы сузить круг, если это связано с прошивкой или dfu-util :)
v2.16.zip

tormodvolden прокомментировал 26 сентября 2021 г. •

Просто чтобы прояснить несколько недоразумений и заблуждений:

  • Если вы хотите выполнить загрузку с устройства, вам нужно использовать --dfuse-address 0x08000000, и вы получите двоичный файл (dfu-util не создаст файл DfuSe).
  • dfu-util никогда не будет записывать заголовки DfuSe на устройство DfuSe, потому что если вы используете --dfuse-address (для двоичных файлов) с файлом DfuSe, он остановится и выдаст сообщение: "Это файл DfuSe, а не предназначен для необработанной загрузки"
  • 0.11 по сравнению с 0.10 просто делает аргумент -a 0 необязательным (автоматически будут использоваться аргументы, найденные в файле DfuSe)

Прокомментировал HanaO00 26 сентября 2021 г.

У меня такая же проблема была с dfu-util 0.11, потом проблема исчезла и больше не делал, с другой стороны при каждом запуске зависает на 2/3 секунды как мини-фриз, а на ПД питание питания он как бы перепутал PD и QC, т.к. не превышает значения установленного в параметрах QC

Я использую pinepower USB-C PD 20V

Sat1l прокомментировал 26 сентября 2021 г.

Извините за ожидание, я вспомнил, что мой припой был сделан не для того, чтобы просто играться с прошивкой xd
Прикрепленный релиз прошивается без проблем ( .bin ), но на экране отображается тот же набор точек, что и раньше, но теперь он временный и не исчезает, что бы вы ни пытались с ним сделать

Прокомментировал Ралим 26 сентября 2021 г.

Мини-зависание указывает на то, что I2C не работает.

Вы должны увидеть модель акселерометра либо под ACC, либо под платой (в зависимости от версии прошивки).
Хотелось бы узнать, какую модель вы обнаружили под старой прошивкой.

Пытаюсь понять, из чего он состоит :

  • Драйвер I2C каким-то образом сломался (без изменений кода)
  • Неверный путь к коду акселерометра (поэтому требуется узнать модель)
  • Что-то сломалось из-за прошивки
  • Что-то сломалось в сборке

publicarray прокомментировано 26 сентября 2021 г. •

Вчера я попробовал RC, и у меня была такая же проблема с точками на экране. Старая прошивка (2.15.40087E6) указывает PCB 5. Но я собираюсь снова прошить RC с файлом bin, чтобы увидеть, если есть какие-то изменения. Изменить: без изменений. Просто точки на экране и кнопки, кажется, ничего не делают (я не стал ждать достаточно долго, чтобы посмотреть, исправится ли это само).

Мы уже публиковали руководство о том, как загрузить прошивку на радиостанцию ​​Taranis, однако время от времени этот метод может дать сбой, поэтому вам нужно использовать альтернативный метод. К счастью, есть еще один вариант — использовать программное обеспечение ST mico Dfuse для прямой прошивки прошивки на Taranis.

Загрузите программное обеспечение Dfuse и прошивку EU-LBT

Вам потребуется загрузить и установить программное обеспечение Dfuse с веб-сайта ST, а также последнюю версию прошивки Frsky Taranis EU-LBT. Ниже я предоставил ссылки для загрузки файлов. Однако, вероятно, лучше всего загрузить последнюю версию прошивки EU-LBT с веб-сайта Frsky на тот случай, если версия, которую я добавил, устарела.

Использование демонстрационного программного обеспечения Dfuse

После установки запустите программу Dfuse Demonstration и подключите Taranis Radio к компьютеру с помощью кабеля мини-USB. Вам не нужно включать Taranis, так как USB-кабель обеспечивает питание внутренней электроники.

Подсказка по дате и времени BlackBox

После того как вы подключите радиостанцию ​​Taranis к ПК, вы должны увидеть ее в верхнем поле приложения Dfuse под полем «Доступные устройства DFU». Вы также должны заметить, что флажки установлены, как показано на рисунке. Вы также заметите, что некоторые данные будут отображаться в разделе «Действия» приложения. Если нет, то, скорее всего, у вашего taranis аппаратная проблема, поэтому вам придется отправить его на завод для ремонта.

Прошивка новой прошивки

Теперь, когда вы убедились, что все выглядит нормально, вы можете спуститься вниз экрана и нажать кнопку выбора. Это позволит вам выбрать файл opentx_X9DP_mode2_EU.dfu, который вы загрузили ранее (он находится в загруженном файле .zip)

После того как вы загрузили файл микропрограммы .dfu, вы можете выбрать параметр «Проверить после загрузки», а затем нажать кнопку «Обновить». Вы увидите индикатор выполнения в нижней части экрана, а когда закончите, должно появиться сообщение Проверка прошла успешно.

Теперь на вашем радио X9D+ должна быть установлена ​​последняя версия прошивки Taranis EU-LBT. Если у вас возникнут какие-либо проблемы или вопросы, сообщите мне, и я буду рад помочь вам.

Читайте также: