189 похожих чатов

Вопрос от хоббийщика, который делает в свое время девайсину и

хочет понять, как все делается в реальной разработке. Делаю девайсину на STM32, хочу сделать обновление прошивки через USB. Вопрос - есть какой-то стандартный bootloader, и стандартный же подход к обновлению прошивки, который используется в 90% случаев в реальной разработке? Типа - бутлоадер брать отсюда, мануал по тому, как для прошивку скорячить под него вот отсюда, софтина для прошивки делается обычно на основе вот того-то и сего-то? Почему спрашиваю - потому что все, что разыскал в сети вечно упирается в какие-то свои новоизобретенные колеса с кастомным бутом, прописыванием руками аплоада прошивки итп. А задача стандартная, городить колесо не хочется от слова "совсем".

17 ответов

21 просмотр

Есть возможность прошить камни через DFU по USB аппаратным бутлоадером (и утилитой Dfuse demo)

так ведь dfu, по аппноте

В STM32 с USB есть встроенный USB-bootloader в системной ROM.

Стас- Автор вопроса
shadowsoul
так ведь dfu, по аппноте

По аппноте понятно. Вопрос в том - а нет ли этой аппноты уже реализованной в готовом виде? Опять же - верно понимаю, что если потом надо написать утилитку для прошивки для распространения среди пользователей - то явно не кидают готовую вот эту Dfuse-демонстрашку, а просто пишут свой софт по той же аппноте (и опять - чего-то готового йок)? Я все тщусь надеждой, что получится по-легкому отъехать от этой восхитительной задачи.

Стас
По аппноте понятно. Вопрос в том - а нет ли этой а...

Еще раз повторяю, что в STM32 уже реализован USB DFU bootloader, причем он прошит в ROM и его даже нельзя случайно повредить. Его нужно только выбрать пинами BOOT, и все. Утилита для заливания прошивки у них тоже есть готовая.

Стас- Автор вопроса
Electronics Designer
Еще раз повторяю, что в STM32 уже реализован USB D...

Видимо, у меня некорректная терминология. Откинем слово "bootloader". Для того, чтобы DFU сработал, надо отконфигурировать USB в прошивке в режим DFU. Я скорее о том, нет ли куска готового, который делает это (потому что дневная битва с их сэмплом, который вроде бы должен ровно это делать, успехом не увенчалась). У меня stm32f103rct6, там другого варианта, как я понял, нет

Стас- Автор вопроса
Viacheslav Kaloshin
Гугл и https://m.habr.com/ru/post/432398/

Этот пост повторяет сэмпл. Не завелось.

Стас
Этот пост повторяет сэмпл. Не завелось.

Нет, не повторяет. Смотрите в код. Завелось и не только на этой серии

Стас
Этот пост повторяет сэмпл. Не завелось.

Может проблема в железе или окружении или руках? 🙂 Обычно из коробки такое работает

Leonid Zaliubovskyi
Может проблема в железе или окружении или руках? 🙂...

Не, в кубике в дфу зачем-то выкинули сам процесс записи флеша:) в итоге оно показывается, но не прошивается :)

Стас
Ок, отсмотрю еще раз.

Обрати внимание на функции read_fs и write, в них вся соль

Стас- Автор вопроса
Стас- Автор вопроса
Viacheslav Kaloshin
Обрати внимание на функции read_fs и write, в них ...

Да обращал я, я даже один в один этот пост брал. Может, по запарке продолбал что-то. Ладно, раз это должно работать - значит и правда криворукость

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта