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

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

Share this post


Link to post
Share on other sites

Вебинар «STM32L5. Секреты оценки энергопотребления» (05.11.2020)

Компания КОМПЭЛ приглашает 5 ноября принять участие в вебинаре, посвященном первому семейству МК STM32L5 на ядре Cortex-M33. На вебинаре будет рассказано об ошибках при расчете энергопотребления МК с помощью отладки STM32L562E-DK. Отладки STM32L562E-DK будут разыгрываться среди участников. Информация об условиях участия будет озвучена на вебинаре.

Подробнее

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

Edited by my504

Share this post


Link to post
Share on other sites

Как снизить потери мощности на 30%? Транзисторы SiC MOSFET.

Прогресс в области широкозонных полупроводниковых материалов позволил создать карбид-кремниевые полевые транзисторы (SiC MOSFET) с повышенной рабочей частотой, обеспечивающие меньшие потери на переключение. Усовершенствованные корпуса с малой паразитной индуктивностью, в которых выпускаются такие транзисторы, позволяют разработчикам в полной мере использовать возможности этих компонентов для увеличения КПД силовых преобразователей.

Подробнее

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

Share this post


Link to post
Share on other sites

Нейросети в STM32G4 - пошаговое руководство!

Наличие программного пакета X-CUBE-AI, расширяющего функционал STM32CubeMX, поможет разработчику построить искусственную нейросеть на базе микроконтроллера из линейки STM32G4 производства STMicroelectronics. Статья включает пошаговое описание реализации такой нейросети.

Подробнее

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

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...