Jump to content

    

Прошивка STM32 другим контроллером

Друзья, хочется иметь возможность прошивать контроллер STM32 не посредством компьютера и J-link, а другим контроллером, который читает прошивку откуда-нибудь (скажем с флешки).  Так же, по SWD.

Для тех, кто предложит написать бутлодер и научить его общаться с заливающим прошивку контроллером, хочу обратить внимание, что шить нужно голый контроллер и шить в него именно бутлодер. Может быть есть у кого примеры подобного или наработки какие? Не хочется велосипед с нуля изобретать.

 

Share this post


Link to post
Share on other sites
7 minutes ago, murmur said:

Друзья, хочется иметь возможность прошивать контроллер STM32 не посредством компьютера и J-link, а другим контроллером, который читает прошивку откуда-нибудь (скажем с флешки).  Так же, по SWD.

Можно. Описания SWD протокола на нужные МК есть в свободном доступе.

Share this post


Link to post
Share on other sites
7 minutes ago, murmur said:

хочу обратить внимание, что шить нужно голый контроллер и шить в него именно бутлодер

У голого контроллера уже есть в наличии "бутлодер".

Share this post


Link to post
Share on other sites
8 минут назад, murmur сказал:

Попытка найти подобное на али выдала

Странные у вас какие-то поиски.

http://jet-link.ru/

Share this post


Link to post
Share on other sites

https://www.st.com/content/ccc/resource/technical/document/application_note/51/5f/03/1e/bd/9b/45/be/CD00264342.pdf/files/CD00264342.pdf/jcr:content/translations/en.CD00264342.pdf

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

Share this post


Link to post
Share on other sites
1 час назад, murmur сказал:

Друзья, хочется иметь возможность прошивать контроллер STM32 не посредством компьютера и J-link, а другим контроллером, который читает прошивку откуда-нибудь (скажем с флешки).  Так же, по SWD.

Здесь была тема, там был и код и документы как шить по SWD.

 

Share this post


Link to post
Share on other sites

Чем не устраивает встроенный System Bootloader ?

Вообще непонятно.

Share this post


Link to post
Share on other sites
6 hours ago, murmur said:

Так же, по SWD.

Действительно, не понятно, почему именно SWD? В этих микроконтроллерах же уже есть загрузчик, протокол которого не скрывает сама фирма производитель.

Share this post


Link to post
Share on other sites

Был проект с двумя процами STM32+EFR32, чтобы не коммутировать SWD или не использовать два отлатчика на производстве, было решено прошивать STM32 через их встроенный загрузчик на этапе factory тестов. По началу не было доверия к загрузчику ST, ожидал каких либо проблем со скоростью, подвисанием или еще чего, но прошивка улетала как горячие пирожки!  Шил STM32L4 через SPI, код.

Share this post


Link to post
Share on other sites

А с чем связана необходимость прошивки? Чтобы в "полях", да без ББ?

Если так, смотрите в сторону китайского STLink v2 за 100р, OTG шнурка для телефона и STLinkP в PlayMarket

 

Share this post


Link to post
Share on other sites

Такое требовалось в пару проектах, нужно было одной прошивкой в основной проц F7 грузить прошивки двух F4, F0 процев на той же плате. За один заход программирования. Получилось через тот же SWD, благо описан.

Share this post


Link to post
Share on other sites
12 часов назад, haker_fox сказал:

Действительно, не понятно, почему именно SWD? В этих микроконтроллерах же уже есть загрузчик, протокол которого не скрывает сама фирма производитель.

bootloader слишком простой, а через swd можно и в регистрах покопаться и чего-то поправить на ходу :)

Ну и не у всех бутлоадер есть и/или доступен или пины все заняты. А SWD обычно свободен.

Share this post


Link to post
Share on other sites

Основная причина задействовать SWD для проца-супервайзера- желание снимать блюскрины ( дампы) в случае срабатывания трапов, слета стека, срабатывания "собаки" итд. Как вариант- возможность периодически проверить целостность программы во флеше "на лету" при использовании проца в "трудных условиях". Может кто встречал опенсоурсный такой проект софт для супервайзера?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now