Jump to content
ART_ME

STM32 для чайника

Recommended Posts

Колееги подскажите пожалуйста такой момент: тут встала задача залить идентичную прошивку в 4 идентичных контроллера с помощью системного бутлоадера. Так вот собственно вопрос:

можно ли это сделать параллельно? Т.е. подтянуть у всех четырех разом выводы BOOT как положено и через один и тот же UART1 закинуть прошивку? Или контроллер в процессе прошивки что-то отвечает 

(тогда начнется каша на Rx UARTa)? Заранее спасибо!

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

Ну вот я тоже так думал...Хотя с другой стороны, вся логика (как я ее понимаю) применения системного бутлоадера основана на том, что можно прошить с любого устройства, которое как бы не знает, что становится программатором. Ну т.е. даже через "гипер терминал" можно запрограммировать. А если нужно организовывать какой-то там обмен, то все становится гораздо сложнее. Кроме того, я с ходу не сог найти протокол этого обмена...  

Share this post


Link to post
Share on other sites

Высокая надежность SiC! Как они этого добились?

За несколько лет кропотливых исследований и совершенствования технологии компания Infineon смогла довести показатели надежности и стабильности параметров высоковольтных и быстродействующих карбид-кремниевых транзисторов линейки CoolSiC практически до уровня их кремниевых собратьев.

Подробнее

И как Вы представляете себе заливку кода длиной превышающей буфер в ОЗУ? Откуда источник узнает когда делать паузу для собственно прошивки флеша? Вы отдаете себе отчет в том, сколько времени длится эта самая прошивка? Я уже не говорю о том, что ЛЮБОЙ системный протокол содержит верификацию, даже если это явно не следует из функций конкретного ПО. Это нужно для универсальности оного протокола. Прикладное ПО вызывает функции API для работы с периферией.

Edited by my504

Share this post


Link to post
Share on other sites

Материалы вебинара: МЭМС-датчики ST для работы со звуком – новые возможности

На вебинаре мы рассказали о микрофонах, их топологиях применения и возможностях, а так же о новых мультирежимных широкодиапазонных микрофонах с нижним портом и PDM-интерфейсом для систем с батарейным питанием. Вы можете посмотреть видеозапись вебинара, ознакомиться с презентацией и ответами на вопросы.

Подробнее

Да, согласен, аргументы железные...Но вопрос тот же: где этот протокол? Я в референсе ничего такого не нашел. Там как-то простенько так все написано...

Share this post


Link to post
Share on other sites

Использование экосистемы STMicroelectronics: подключение датчиков к STM32G4

В статье описаны основные составляющие экосистемы STMicroelectronics для работы с микроконтроллерами STM32, а также приведен пример ее практического применения: создание проекта на базе STM32G4 с подключением датчиков и использованием отладочной платы NUCLEO-G474RE и платы расширения X-NUCLEO-IKS01A2.

Подробнее

Ок, благодарю. Тогда придётся шить их всетаки по очередти

Share this post


Link to post
Share on other sites

Еще вопрос такой к знатокам: как можно поместить переменную в определенный адрес в STM32CubeIDE ?

Вариант типа: __attribute__((at(0x30000000))) uint32_t DCMI_Data [BUFF_Size]; я пробовал, не получилось, судя 

по дебагеру.

 

Share this post


Link to post
Share on other sites
13.09.2020 в 10:41, DimaK сказал:

можно ли это сделать параллельно

поставьте 4-ре прошивателя которые читают одну и ту же прошивку, это ж элементарно!


Можно сделать все! Но чем больше можно, тем больше нельзя!

Share this post


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

поставьте 4-ре прошивателя которые читают одну и ту же прошивку, это ж элементарно!

Да нет, там не вопрос чтобы обеспечить временную параллельность процесса прошивки. Пусть заливается хоть пять минут. Задача именно в том, чтобы обойтись одним каналом УАРТов на всех. Но теперь чую, придется все кроме программируемого держать в ресете и так по очереди. 

Share this post


Link to post
Share on other sites
30.09.2020 в 17:30, DimaK сказал:

Еще вопрос такой к знатокам: как можно поместить переменную в определенный адрес в STM32CubeIDE ?

Вариант типа: __attribute__((at(0x30000000))) uint32_t DCMI_Data [BUFF_Size]; я пробовал, не получилось, судя 

по дебагеру.

 

Просто так это сделать нельзя, нужно через скрипт линкера, а иначе будет лажа.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...