Идея для "конечный пользователь" Bootloader (устройство для хранения)

Мадиас
Ср. 16 сентября 2015 г. 8:14
В моей ветке-синтезаторе (я уверен, что никто не следит за ней, ожидайте Victor ;) ) Я написал об идее о "перетаскивании&DROP - загрузчик устройства для хранения массового хранения::

Это моя старая идея, играя с досками Nucleo: (на борту) ST-Link v2.1 Подключитесь к компьюте&Отбросить файл *bin для загрузки. Это должно быть (тихо) легкое решение для «перетаскивания&бросить "загрузчик. Таким образом, этот специальный загрузчик может быть загружен как «окончательный шаг» на готовый продукт (возможно, эта функция является обменом для «вечной загрузки»)).
Я считаю, что многие из нас будут работать не только на себя, но и создавать проекты для семьи, друзей или даже коммерческого. Таким образом, этот конечный пользователь может легко загрузить новую прошивку через перетаскивание&Drop Bootloader, не установив что -либо. Должно быть возможно - или? ;)

Martinayotte
Ср. 16 сентября 2015 г. 14:59
Мадиас написал:Я уверен, что никто не следит за этим, ожидай Виктора ;)

Zoomx
Ср. 16 сентября 2015 г. 16:04
Я тоже это прочитал. Я помню этот способ загрузки нуклео.

Mrburnette
Чт 17 сентября 2015 г. 12:52 утра
Таким образом, этот конечный пользователь может легко загрузить новую прошивку через перетаскивание&Drop Bootloader, не установив что -либо. Должно быть возможно - или? Я живу очень простой жизнью с клоном Maple Mini. Нужно ли миру перетаскивать&бросить загрузчик? Не вся магия, сделанная на хост -машине? То есть: редактор, компилятор, линкер и, наконец, использование, если пользовательская утилита для загрузки двоичного шестигранника на прикрепленную плату микроконтроллера. Кроме «вырезана», зачем вводить ручную операцию... Если кто -то не намерен публиковать только бинарные Джайлс?

Если я скучаю по очевидному, я прошу прощения, но я старая, и моя 34 -летняя дочь думает, что я проницатель.


Луча

Martinayotte
Чт 17 сентября 2015 г. 1:47 утра
Mrburnette написал:Но я старая, и моя 34 -летняя дочь думает, что я казался.

victor_pv
Чт 17 сентября 2015 г. 2:51 утра
Мадиас, проверьте эту ветку, я только что начал, я нашел проект, который реализует устройство массового хранения в эскизе:
http: // www.STM32duino.com/viewtopic.PHP?f = 13&t = 585

Может быть даже лучше, чем реализация его в загрузчике. Если вы можете реализовать MIDI и USB -хранилище одновременно в эскизе, нужно будет только написать определенный файл в массовое хранилище, чтобы обновить FW.

Rogerclark
Чт 17 сентября 2015 г. 7:36 утра
Интересно, как размер загрузчика будет больше, чем версия DFU?

Я предполагаю, что польза от этого была бы для разработки веб -оснований.глин. Как и MBED, а также то, что BBC в Великобритании делает со своим новым советом по школам "BBC Mico Bit" (я думаю, что это его имя)

Лично я не фанат онлайн -IDE, так как они, как правило, неуклюжие и медленнее, чем местные IDE, но, похоже, это то, как дела для образовательных систем разработчиков и других систем разработчиков для возможных менее технических людей E E.глин. Spark Photo Используйте онлайн Dev Env, я думаю.

Мадиас
Чт 17 сентября 2015 г., 7:50 утра
Я думаю, есть немного неправильно понята с моей идеей:
Этот загрузчик должен быть использован только для «конечного пользователя». В качестве примера: хорошо, я закончил свой проект синтезатора и построил около 5-10 прототипов. Я бы продал их на местном интернет -рынке для финансирования моего следующего проекта. Но синтезаторная программа все еще находится...). Ни один из людей, которые купили синтезатор, не способны (или желают) установить несколько драйверов/IDE/Toolchains.
Таким образом, им нужно только загрузить новую прошивку в Интернете, превратив синтезатор в режим загрузки (вечный загрузчик) и перетаскивать&оставить новую прошивку с ПК в синтезатор.
Включение этой процедуры загрузки в основной код будет очень опасной: просто небольшая ошибка, сломанная кабель, неправильный бинарный и синтезатор.

Для разработчиков этот загрузчик будет ... в основном бесполезно :)

Zoomx
Чт 17 сентября 2015 г. 9:49 утра
Мне тоже не нравится онлайн IDE, но, возможно, это лучший отбор для обучения Purpouse, так как обслуживание намного проще, и у всех учащихся есть один и тот же компилятор. Я не верю, что все школы, которые используют Arduino, имеют 1.6.5 IDE, например.

Мадиас,
Может быть, этот загрузчик можно использовать для удаленной загрузки.

Mrburnette
Чт 17 сентября 2015 12:15
Мадиас написал:Я думаю, есть немного неправильно понята с моей идеей:
Этот загрузчик должен быть использован только для «конечного пользователя». В качестве примера: хорошо, я закончил свой проект синтезатора и построил около 5-10 прототипов. Я бы продал их на местном интернет -рынке для финансирования моего следующего проекта. Но синтезаторная программа все еще находится...). Ни один из людей, которые купили синтезатор, не способны (или желают) установить несколько драйверов/IDE/Toolchains.
Таким образом, им нужно только загрузить новую прошивку в Интернете, превратив синтезатор в режим загрузки (вечный загрузчик) и перетаскивать&оставить новую прошивку с ПК в синтезатор.
Включение этой процедуры загрузки в основной код будет очень опасной: просто небольшая ошибка, сломанная кабель, неправильный бинарный и синтезатор.

Для разработчиков этот загрузчик будет ... в основном бесполезно :)

Вассилис
Чт 17 сентября 2015 г., 13:14
Может быть, использование программирования последовательного порта является хорошим решением для обновления прошивки вашего проекта.
Этот подход дает вам безопасность, которую вы хотите избежать кирпича STM32.
Кроме того, единственное дополнительное аппаратное обеспечение, которое вам нужно,-это дешевый конвертер USB-серии.

Программное обеспечение для программирования швов STM32 очень простое и компактное. Я еще не проверил это.
https: // github.com/mightydevices/stbootlib/releases

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

В любом случае, решать вам, что вы наконец -то выбираете. Каждый метод загрузки имеет преимущества и недостатки.

Мадиас
Чт 17 сентября 2015 г. 14:45
Выглядит нормально, но только Windows (ОК, компиляция должна быть возможна для другой ОС)
Недостаток: почти все преобразователь USB-TTL нуждаются в по крайней мере под Windows, дополнительный драйвер.
Для моего проекта я могу управлять им для загрузки прошивки через MIDI ;) Все, что вам нужно, это время и кофе. Итак, получите через Sysex новую прошивку, написав ее на мою 4-МБ Flash (рядом с оригинальной прошивкой), а затем обновите через программное обеспечение. Другой метод может быть: просто поместите прошивку на SD -карту.

Martinayotte
Чт 17 сентября 2015 г. 15:00
Другая возможность заключается в том, чтобы сделать наоборот: наличие некоторого USB OTG Mass Storage, где конечный пользователь просто подключите USB-ключ, где новая прошивка была загружена/скопирована, тогда прошивка может получить доступ к хранению USB, см. В том, что новая прошивка присутствует, и предложить выбор, чтобы обновить меню ЖК -дисплеев или серийное меню.

victor_pv
Пт 18 сентября 2015 г. 12:13
Мадиас написал:Выглядит нормально, но только Windows (ОК, компиляция должна быть возможна для другой ОС)
Недостаток: почти все преобразователь USB-TTL нуждаются в по крайней мере под Windows, дополнительный драйвер.
Для моего проекта я могу управлять им для загрузки прошивки через MIDI ;) Все, что вам нужно, это время и кофе. Итак, получите через Sysex новую прошивку, написав ее на мою 4-МБ Flash (рядом с оригинальной прошивкой), а затем обновите через программное обеспечение. Другой метод может быть: просто поместите прошивку на SD -карту.

Вассилис
Пт 18 сентября 2015 г. 5:52 утра
victor_pv написал: Если вы включаете 4MB -вспышку и имеете достаточно места, то, что я, вероятно, делаю, так это включите массовое хранилище в ваш эскиз.
Если пользователь записывает там файл, эскиз сохраняет его в зарезервированной области 4MB Flash (проверка контрольной суммы или что -то в этом роде, чтобы подтвердить, - это все хорошо).
Если это хорошо, то он устанавливает флаг где -то, чтобы указать, что новый FW доступен во Flash SPI.

Затем в вашем загрузчике, на загрузке, просто проверьте, есть ли новый FW во флэш -флэш -ной SPI, если это так, скопируйте его на Flash MCU (пропуская область загрузки) и очистите флаг.

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

Что касается представления Masstorage компьютеру, то он не должен быть там все время, но только если вы нажмете определенную кнопку во время загрузки или выберете опцию в меню. Затем устройство представляет себя как устройство хранения и ожидает, что правильный файл будет записан на него.

Таким образом, вмешательство пользователя было бы таким, как:
1.-Нажмите определенную кнопку или выберите обновление FW в меню.
2.-Напишите файл обновления FW на устройство массового хранения.
3.-Перезагрузить и позвольте этому обновить.
4.-Перезагрузитесь снова с обновленным FW.

Zoomx
Пт 18 сентября 2015 г. 10:11
Только если у STM32 есть флаг, чтобы избежать копии внутренней вспышки. В противном случае вы можете декомпилировать алгоритм или запустить его в эмуляторе.

victor_pv
Пт 18 сентября 2015 г. 11:33
Zoomx написал:Только если у STM32 есть флаг, чтобы избежать копии внутренней вспышки. В противном случае вы можете декомпилировать алгоритм или запустить его в эмуляторе.

[STM32Generic] FSMC - SRAM

Maple Bootloader 2.0