Это пользовательский загрузчик STM32F1XX/STM32F4XX, который позволяет прошивлять двоичные файлы прошивки через USB, используя протоколы DFU или HID-FLASH. Амбинизируемое намерение проекта состоит в том, чтобы внедрить тонкости многих других MCU STM32 в один проект, который можно легко загрузить, настраивать, скомпилировать и мигать.
В некоторых случаях мигание новой прошивки с минимальным взаимодействием с физическим платой действительно удобно. В моем случае он прошивал плату моего 3D -принтера BTT GTR 1.0 через мой Octopi на нажатии кнопки (на самом деле, кнопку сброса + LCD), которую я теперь могу запустить через GPIO RPI и вспыхивать по желанию без какого -либо ручного взаимодействия.
Этот загрузчик находится в процессе работы, что означает, что он не был тестирован широко, и есть еще много чего рассмотреть в совместимости аппаратного обеспечения. Пожалуйста, считайте это чем -то экспериментальным, пока вы не убедитесь, что все аспекты работают на вашей конкретной доске.
Проект был вдохновлен Serasidis/STM32_HID_BOUTLOUDER (который происходит от Bootsector/STM32-Hid-Bootloader) и сохраняет совместимость с инструментом HID-Flash.
Проект адаптирован к Platformio (проект должен создавать и загружать как есть, при условии, что у вас подключено устройство ST-Link/V2). Он использует исходные библиотеки Framework STM32Cube вместо того, чтобы содержать слегка модифицированные его части. Протокол DFU реализуется и протестирован на платформах STM32F1XX/4XX. На данный момент совместимость с более старой версией Hid-Flash.exe поддерживается только в компиляции STM32F4XX. Источники инструмента Hid-Flash не включены в проект.
Прежде чем попробовать это, будьте абсолютно уверены, что у вас есть копия оригинального загрузчика вашей платы, которую вы успешно вспомнили на доску без проблем .
Настройка поведения загрузчика выполняется путем изменения файла configuration.h. Смотрите комментарии к файлу для подробностей.
Используйте устройство, совместимое с ST-Link, правильно подключенное к вашей плате и ПК. Используйте команду загрузки платформы для установки. Сброс платы с помощью PIN -кода Boot0, установленного на 3,3 В, также должно работать, но это зависит от вашей платы и MCU (проверьте вики для получения дополнительной информации по предмету).
Включите настройку настройки и сбросить плату (в случае запуска PIN-штифта, оставьте вывод включенным во время сброса и до тех пор, пока USB-устройство не появится на хосте. Depleding, на какой протокол вы включили ( dfu или hid ), используйте DFU-UTIL.EXE или, если ваш инструмент для строки CMD с Hid-Flash В качестве предпочтительного upload-protocol в разделе ENV в файле Platerio.ini вашей прошивки, например, в следующем примере:
#
# Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4)
#
[env:BIGTREE_GTR_V1_0]
extends = stm32_variant
board = marlin_BigTree_GTR_v1
board_build.offset = 0x8000
build_flags = ${stm32_variant.build_flags} -DSTM32F407IX
upload_protocol = dfu
Посетите вики для получения дополнительной информации о мигании и использовании.
Больше триггеров, больше методов мигания, больше MCUS / досок STM32 для поддержки.
До сих пор проект был протестирован на следующих досках:
STM32F4XX:
STM32F1XX: