Различные новые загрузчики STM32, включая MSD

Rogerclark
Пн 28 января 2019 г. 2:56 утра
Мне отправили эту ссылку http: // www.Утаскер.com/stm32/bluepill.HTML

(через проблему GitHub https: // github.com/rogerclarkmelbourne/ ... /проблемы/45 )



Который включает в себя загрузчик устройства для хранения USB.

Обратите внимание, однако.
Эти загрузчики, по -видимому, являются закрытым исходным исходным кодом, и только бесплатно для личного / образовательного использования. :-(

Squonk42
Пн 28 января 2019 г. 5:48 утра
Да, закрытый источник :плакать:

И это огромно: 12 КБ!

Также закрытый источник, я нашел этот, который занимает только 4 кб:
https: // www.Электрода.PL/RTVFORUM/TONA3212595.HTML

Никому не говори, но моя секретная цель во время работы над загрузчиком HID - уменьшить его размер, чтобы освободить место для версии MSD : mrgreen:

Hid Bootloader теперь снижается до менее 2 кб и достаточно модульный. Я также почти подготовил анализатор команды MSD/SCSI и псевдо-жир, который оба крошечные и должны соответствовать всего 4 кб, с драйвером USB, взятым из загрузчика Hid Bootloader.

И, конечно же, я буду реализовать это как открытый исходный код : D

Rogerclark
Пн 28 января 2019 г., 6:42
Я должен был указать на его 12K

Я не так удивлен размер этого загрузчика, поскольку он должен реализовать фальшивую файловую систему FAT32, и, похоже, поддерживает как написание, так и чтение приложения.
Я видел несколько меньших загрузчиков MSD, но они не реализуют фальшивые FS и работают только в режиме блока со специальными программами, такими как Win32Imager.
(Так что еще менее полезны)

Некоторые люди могут найти это полезным, но я не вижу никакого смысла в интеграции его в инструменты загрузки Libmaple, так как MSD - это немного боли для автоматизации, потому что загрузчик должен перечислять прикрепленные диски и найти один с правильным именем и т. Д.

Беннебой
Пн 28 января 2019 г., 7:20 утра
Хм, я думал, что точка MSD была так, чтобы люди могли тащить на него мусорное ведро, а не полную автоматизацию, которая... Было бы легко открыть исследователь файлов в папке Temp Sketch для людей...

Я думаю, 12 КБ было бы хорошо для F4, но я рад подождать и посмотреть, как выглядит Squonk42 : D

Squonk42
Пн 28 января 2019 г., 7:32 утра
[Rogerclark - Пн 28 января 2019 г. 6:42] - Я должен был указать на его 12K

Я не так удивлен размер этого загрузчика, поскольку он должен реализовать фальшивую файловую систему FAT32, и, похоже, поддерживает как написание, так и чтение приложения.
Я видел несколько меньших загрузчиков MSD, но они не реализуют фальшивые FS и работают только в режиме блока со специальными программами, такими как Win32Imager.
(Так что еще менее полезны)

Некоторые люди могут найти это полезным, но я не вижу никакого смысла в интеграции его в инструменты загрузки Libmaple, так как MSD - это немного боли для автоматизации, потому что загрузчик должен перечислять прикрепленные диски и найти один с правильным именем и т. Д.
Реализация поддельного жира FS не занимает 12 кб, я подозреваю, что Thay использует раздутый драйвер устройства USB STM.

Вам просто нужно обрабатывать операции блока 512B R/W и предоставить фиксированный ответ на загрузочный сектор (сектор 0), жиры (секторы 1 и 2) и запросы корневого каталога (сектор 3), все остальные принадлежат вашим псевдо -файлам. Единственный трюк, если вы хотите использовать его для вспышки, это то, что 512b записи не обязательно заказаны, так что вы должны поддерживать 64 или 128-битную растровую карту из секторов вспышки 1 кб (2x Fat), чтобы стирать заранее.

Вот моя попытка сделать это как приложение (еще не загрузчик!), который перечисляется как диск FAT12 на Linux, но еще не под окнами, из -за проблемы дескриптора, которую я должен решить:
https: // github.com/squonk42/stm32_msc_bootloader

Прямо сейчас я раскрываю только одну "прошивку.Файл бин, но идея разоблачить все вспышку, ОЗУ и HTML -файл для перенаправления на инструкции - хорошая идея.

Zoomx
Пн 28 января 2019 г. 8:39
MSD полезен, особенно для третьего человека, который может просто обновить устройство STM32 без каких -либо инструментов. Или обновить STM32 на месте без каких -либо инструментов.

Mrburnette
Пн 28 января 2019 г. 16:14
[Zoomx - Пн 28 января 2019 г. 8:39] - MSD полезен, особенно для третьего человека, который может просто обновить устройство STM32 без каких -либо инструментов. Или обновить STM32 на месте без каких -либо инструментов.
«Веселье» в дизайне & Реализация MSD, но в LAND STM32 UC, обновление прошивки конечного пользователя через перетаскивание & Dop Bull Bind My Doming, поскольку реализация USB-MSD подразумевает устройство UC, привязанное к ПК с помощью физического кабеля. Может быть, 5 или 7 лет назад, но текущее состояние искусства связано с реализациями, проведенными в Интернете.

Пример EspressiF: войдите на веб -страницу, размещенную ESP, выберите обновление прошивки, сценарий Java в локальном браузере ПК откроет небольшое окно обозревателя файлов, перемещается в новую прошивку, начинается загрузка, ESP перезагружается с новым изображением. Альтернативно сессия TFTP тоже может обеспечить.

Есть некоторые потребительские устройства, которые можно удалить из их полезного физического местоположения, транспортируемых на домашний компьютер, подключенные к ПК с помощью USB-кабеля, питания и повышенной прошивки. Но в тени Google и Amazon потребители ожидают, что их устройства будут обновлены по беспроводной связи с помощью веб -интерфейса, работающего на их планшете или смартфоне. Через несколько лет домохозяйство может не владеть USB -кабелем.

Луча

Squonk42
Пн 28 января 2019 г. 16:43
[Mrburnette - Пн 28 января 2019 г. 16:14] -
[Zoomx - Пн 28 января 2019 г. 8:39] - MSD полезен, особенно для третьего человека, который может просто обновить устройство STM32 без каких -либо инструментов. Или обновить STM32 на месте без каких -либо инструментов.
«Веселье» в дизайне & Реализация MSD, но в LAND STM32 UC, обновление прошивки конечного пользователя через перетаскивание & Dop Bull Bind My Doming, поскольку реализация USB-MSD подразумевает устройство UC, привязанное к ПК с помощью физического кабеля. Может быть, 5 или 7 лет назад, но текущее состояние искусства связано с реализациями, проведенными в Интернете.
Да, и стандарт UF2 от Microsoft, и он действительно основан на MSD:
https: // github.com/microsoft/uf2

Или есть также webusb/webdfu:
https: // wicg.GitHub.io/webusb/
https: // github.com/devanlai/webdfu

Mrburnette
Пн 28 января 2019 г., 21:26
[Squonk42 - Пн 28 января 2019 г. 16:43] - ...
Да, и стандарт UF2 от Microsoft, и он действительно основан на MSD:
...
Приятно знать направление подхода; Пусть кодирование начнется. : D

Одна из вещей, которые я скучаю на этом форуме, - это артикуляция финальной игры; Дизайн/архитектурное заявление о текущем состоянии и конечная цель с определены контрольно -пропускные пункты по пути.


Луча

Squonk42
Пн 28 января 2019 г., 21:55
[Mrburnette - Пн 28 января 2019 г., 21:26] - Одна из вещей, которые я скучаю на этом форуме, - это артикуляция финальной игры; Дизайн/архитектурное заявление о текущем состоянии и конечная цель с определены контрольно -пропускные пункты по пути.
Давай, это делает все слишком легким :ржу не могу:

Деван
Вторник 29 января 2019 г. 3:08
[Squonk42 - Пн 28 января 2019 г. 16:43] - Да, и стандарт UF2 от Microsoft, и он действительно основан на MSD:
https: // github.com/microsoft/uf2

Или есть также webusb/webdfu:
https: // wicg.GitHub.io/webusb/
https: // github.com/devanlai/webdfu
Я не пробовал это сам, но этот загрузчик UF2 утверждает, что весит в 16 киб. Он также имеет поддержку многим другим вещам, в том числе webusb, но я не уверен, что все эти конфигурации подходят для 16 киб, так как я на самом деле не пытался его создать:
https: // github.com/lupyuen/bluepill-bootloader

Zoomx
Вт 29 января 2019 г., 17:40
[Mrburnette - Пн 28 января 2019 г. 16:14] - Устройство UC привязано к ПК с помощью физического кабеля.
Вы можете использовать смартфон с USB OTG.
ESP8266 способ лучше!

Squonk42
Вт 29 января 2019 г., 21:07
Не то же самое: есть чипсы со встроенными встроенными RF, такие как ESP8266/ESP32 или NRFS, но это другое использование.

У вас по-прежнему есть микроконтроллеры, которые не должны общаться, но должны навсегда длиться от нерезарных аккумуляторов, некоторые другие с ультра низким мощным проприетарным ISM RF (среднее энергопотребление с обычным RX/TX < 10 мкА), и чипсы, которые общаются со стандартными радиочастотными сетями, такими как Bluetooth или Wi-Fi, оба они не считаются низкими мощными (даже BLE) для моих глаз, поскольку им требуются аккумуляторные батареи. Я знаю, что существует индуктивная зарядка, но это означает, что этим устройствам нужна ручная работа и не может быть оставлена ​​без присмотра в течение многих лет.

Для первой категории FOTA не является вариантом и не будет в ближайшем будущем, и программирование с использованием кабеля все еще будет там годами. Посмотрите: мы все еще используем UART, даже если на ПК больше нет RS232 в течение как минимум 10 лет ;)

STM32 определенно находятся в этой первой категории, хотя и не самая низкая мощность (EFM32s намного лучше в этом отношении), но они дешевые и полны периферийных устройств и много GPIO, поэтому у них все еще есть их место на солнце, даже если они иметь длинные зубы. То же самое для 555 или AVRS, разве это не?

Беннебой
Вторник 29 января 2019 г., 21:16
Рэй - архитектор, не забывай, навсегда синее небо :ржу не могу: :ржу не могу:

Mrburnette
Ср 30 января 2019 г. 1:57
[Беннебой - Вторник 29 января 2019 г. 9:16 вечера] - Рэй - архитектор, не забывай, навсегда синее небо :ржу не могу: :ржу не могу:
Теперь сейчас ...У моего неба тоже есть облака. Но только если я разрабатываю их в проекте.
[Squonk42 - Вторник 29 января 2019 г., 21:07] - ...
Для первой категории FOTA не является вариантом и не будет в ближайшем будущем, и программирование с использованием кабеля все еще будет там годами. Посмотрите: мы все еще используем UART, даже если на ПК больше нет RS232 в течение как минимум 10 лет ;)
...
STM32 определенно находятся в этой первой категории, хотя и не самая низкая мощность (EFM32s намного лучше в этом отношении), но они дешевые и полны периферийных устройств и много GPIO, поэтому у них все еще есть место на солнце, даже если они иметь длинные зубы. То же самое для 555 или AVRS, разве это не?
Мой последний проект по -прежнему использовал несколько (очень немногих) отдельных компонентов. Мы не обсуждаем здесь компоненты длинных в зубах; Тема - установка прошивки в UC. При рассмотрении этой потребности основным предположением является перепрограммирование конечными пользователями: как таковое, существует законная необходимость, чтобы процесс был простым и без ошибок. Моя точка зрения ранее проста: массовый рынок уже установил ожидание этой потребности (Alexa, Google Assistant, iPhone, Android, Kindle) и что ожидание клиента (как правило) не требует использования USB -кабеля.

Это только умный бизнес, чтобы использовать знания о массовом рынке, чтобы кататься на волне принятия. Конечно, это относится только к коммерческим продуктам, прототипам и случайным прототипам, отправляемым семье или друзьям. Чем больше мы теним рынок импульс, тем меньше сопротивления усыновлению & Чем проще роль поддержки пользователей.

Из перспективного форума идеальным решением является предоставление загрузчика, который может работать точно так же на всех платформах ПК: Linux, MacOS, Windows. Идеальный загрузчик не нуждается в установке драйверов на хост ОС. Этот идеальный загрузчик также потребляет как минимум ресурсов UC: Flash и SRAM - и SRAM следует оставить «бесплатно» непосредственно перед прыжком в пользовательскую программу. Общие методы загрузки для STM32DUINO А теперь HID Bootloader.

Для нас самых хобби, делайте то, что хотите, никаких оправдания не требуется, если вы используете загрузчик или кремниевый сериал или ST Link.


Луча

"бит" SPI PINS STM32F1

кленовый сериал на Android?