Например TDA7294

Форум РадиоКот • Просмотр темы - Stm32F4 Bootloader dual bank
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Вт май 11, 2021 07:20:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Stm32F4 Bootloader dual bank
СообщениеДобавлено: Сб мар 27, 2021 08:58:32 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 17:46:37
Сообщений: 573
Рейтинг сообщения: 0
Добрый день.
Недавно увидел в процессорах stm32 с двумя банками памяти функцию SWAP банков.
И сразу загорелся добавить в приложение функцию bootloader, с возможностью откатиться предыдущую версию ПО (т.е хранение двух образов прошивки).
Основная логика работы в принципе понятна, основное приложение работает + принимает образ прошивки и записываться его во второй банк памяти, после чего проверяет CRC и выдает сообщение на перезагрузку для обновления. Вопрос встал как после перезагрузки указать с какого банка памяти грузиться? Много где находил другой алгоритм который после загрузки нового ПО копировал его в первый банк памяти и тогда такой проблемы не возникает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32F4 Bootloader dual bank
СообщениеДобавлено: Пт апр 02, 2021 13:23:48 
Вымогатель припоя

Карма: -17
Рейтинг сообщений: 11
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 625
Рейтинг сообщения: 0
Вопрос встал как после перезагрузки указать с какого банка памяти грузиться? Много где находил другой алгоритм который после загрузки нового ПО копировал его в первый банк памяти и тогда такой проблемы не возникает.

Создать заголовок прошивки (таблицу в определённом фиксированном месте каждого банка), где хранить некий индекс. При записи новой прошивки (в другой банк) формировать таблицу для него из таблицы активного банка с индексом активного банка увеличенным на 1.
При старте достаточно считать обе таблицы обоих банков; проверить обе на валидность; выбрать ту, которая валидна; если валидны обе - выбрать ту, индекс которой больше на 1 (сравнивать с учётом перехода индекса через 0). Если обе таблицы валидны, но индексы в них отличаются не на 1, а на другое значение - считать что валидной прошивки нет.
В этой же таблице можно хранить и например CRC прошивки. И при определении валидности таблицы, подсчитывать CRC прошивки данного банка.


Вернуться наверх
 

JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

Не в сети
 Заголовок сообщения: Re: Stm32F4 Bootloader dual bank
СообщениеДобавлено: Сб апр 24, 2021 17:38:56 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 17:46:37
Сообщений: 573
Рейтинг сообщения: 0
Что бы перезаписывать таблицу, надо выделить целый сектор а в F4 они не маленькие и как то жаба давит >16кб выделять на 100 байт


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Stm32F4 Bootloader dual bank
СообщениеДобавлено: Вс апр 25, 2021 21:03:19 
Прорезались зубы

Зарегистрирован: Ср дек 30, 2009 09:55:39
Сообщений: 249
Рейтинг сообщения: 0
...записываться его во второй банк памяти,....


такое делал на меге128. но в стм32 - там есть возможность прошивку делать из фрагментов загрузки, осталось как при бэкапе иметь возможность полностью проапдэйтить прошивку - фулл, только одного модуля - инкреемнтально или дифф. = для этого заводиться страница описания. Там не то что две версии, там можно и поболее хранить и выбирать более последнюю устойчивую. а грузить из любого канала, даже который сам себя "переписывает"...

(круглый)
ЗЫ
Ну это типо по большому секрету, дцатилетний дзэн в разработке под мк :)


Вернуться наверх
 
Вебинар «Экосистема MEAN WELL. Решения для любых задач электропитания» (20.05.2021)

Приглашаем 20 мая на вебинар, посвященный линейке поставок компании MEAN WELL и ее подходу к производству источников питания — как экосистемы продукции и услуг, которая позволяет подобрать оптимальный источник питания для любых задач электропитания. Рассмотрим весь спектр выпускаемой продукции MEAN WELL в области AC/DC-, DC/DC- и DC/AC-преобразователей с подробным разбором интересных и уникальных новинок, их применении и многое другое.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Stm32F4 Bootloader dual bank
СообщениеДобавлено: Чт апр 29, 2021 13:20:04 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 17:46:37
Сообщений: 573
Рейтинг сообщения: 0
Цитата:
но в стм32 - там есть возможность прошивку делать из фрагментов загрузки

А для чего так делали ? Линкером разделить ПО на модули и эти куски закидывать ? Правда делить модули надо по размеру сектора ?


Вернуться наверх
 
Интеллектуальные ключи верхнего плеча семейства PROFET™+2 12V от Infineon

Компания Infineon представила новое семейство защищенных силовых ключей PROFET™+2 12V. Изделия объединяют в себе функции диагностики и различные защиты. Ключи PROFET™+2 12V имеют одно из самых низких в отрасли сопротивлений в открытом состоянии RDS(ON) (от 2,6 мОм) и выпускаются в миниатюрном корпусе TSDSO-14 с шагом выводов 0,65 мм. Благодаря функции ReverseON все семейство соответствует строгим требованиям по защите от обратной полярности питания, впервые реализованной в одном чипе.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Stm32F4 Bootloader dual bank
СообщениеДобавлено: Сб май 01, 2021 19:46:08 
Прорезались зубы

Зарегистрирован: Ср дек 30, 2009 09:55:39
Сообщений: 249
Рейтинг сообщения: 0
...А для чего....Линкером разделить ПО....делить модули надо по размеру сектора ?



выше основную идею и профиты которые из этого следует - уже выше вскольз описал.
каждый кусок - имеет хидер описания. бутлодырю остаёться только, опираясь на статистику отказов, загрузить более устойчивую версию..
модули не обязательно кратны. но начинаются с кратным шагом во флэше - собственно как пзу драйвера железа во времена доса, если знаете...

(круглый)


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Stm32F4 Bootloader dual bank
СообщениеДобавлено: Ср май 05, 2021 11:29:55 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 17:46:37
Сообщений: 573
Рейтинг сообщения: 0
При записи новой прошивки (в другой банк) формировать таблицу для него из таблицы активного банка с индексом активного банка увеличенным на 1.

А как такое записывать в пустой процессор ?


Вернуться наверх
 


Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y