хочет понять, как все делается в реальной разработке. Делаю девайсину на STM32, хочу сделать обновление прошивки через USB. Вопрос - есть какой-то стандартный bootloader, и стандартный же подход к обновлению прошивки, который используется в 90% случаев в реальной разработке? Типа - бутлоадер брать отсюда, мануал по тому, как для прошивку скорячить под него вот отсюда, софтина для прошивки делается обычно на основе вот того-то и сего-то? Почему спрашиваю - потому что все, что разыскал в сети вечно упирается в какие-то свои новоизобретенные колеса с кастомным бутом, прописыванием руками аплоада прошивки итп. А задача стандартная, городить колесо не хочется от слова "совсем".
Есть возможность прошить камни через DFU по USB аппаратным бутлоадером (и утилитой Dfuse demo)
так ведь dfu, по аппноте
В STM32 с USB есть встроенный USB-bootloader в системной ROM.
По аппноте понятно. Вопрос в том - а нет ли этой аппноты уже реализованной в готовом виде? Опять же - верно понимаю, что если потом надо написать утилитку для прошивки для распространения среди пользователей - то явно не кидают готовую вот эту Dfuse-демонстрашку, а просто пишут свой софт по той же аппноте (и опять - чего-то готового йок)? Я все тщусь надеждой, что получится по-легкому отъехать от этой восхитительной задачи.
Еще раз повторяю, что в STM32 уже реализован USB DFU bootloader, причем он прошит в ROM и его даже нельзя случайно повредить. Его нужно только выбрать пинами BOOT, и все. Утилита для заливания прошивки у них тоже есть готовая.
Видимо, у меня некорректная терминология. Откинем слово "bootloader". Для того, чтобы DFU сработал, надо отконфигурировать USB в прошивке в режим DFU. Я скорее о том, нет ли куска готового, который делает это (потому что дневная битва с их сэмплом, который вроде бы должен ровно это делать, успехом не увенчалась). У меня stm32f103rct6, там другого варианта, как я понял, нет
Гугл и https://m.habr.com/ru/post/432398/
Этот пост повторяет сэмпл. Не завелось.
Нет, не повторяет. Смотрите в код. Завелось и не только на этой серии
Может проблема в железе или окружении или руках? 🙂 Обычно из коробки такое работает
Не, в кубике в дфу зачем-то выкинули сам процесс записи флеша:) в итоге оно показывается, но не прошивается :)
Ок, отсмотрю еще раз.
Я о том что dfu ROM работает из коробки
В f103 нет dfu usb из коробки :)
Обрати внимание на функции read_fs и write, в них вся соль
О чем я и говорю
Да обращал я, я даже один в один этот пост брал. Может, по запарке продолбал что-то. Ладно, раз это должно работать - значит и правда криворукость
Обсуждают сегодня