Перейти к содержанию
    

Прошивка STM32 через bootloader с помощью STM8

Кто пробовал написать программу прошивки одного контроллера другим?

Идея такова: главный контроллер (stm32f107 или f103) получает прошивку по USB или Ethernet, складывает ее в микросхему FLASH, проверяет, затем будит контроллер-программатор (stm8) и ребутится. stm8 потихоньку читает прошивку из FLASH и заливает ее в stm32 по USART.

Вопрос: насколько это возможно, насколько серьезный уровень нужно иметь программисту, чтобы написать нужный код под stm8 (слышал, чтобы написать свой бутлоадер для STM32, нужно быть гуру), и сколько памяти может занять прошивка для stm8, чтобы заложить на будущее нужный камень.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делал программирование LPC1768 через AtMega16. Принцип похожий, только процы в 2-х разных устройствах, а прошивка заливается пользователем без участия LPC1768.

Задача у вас не очень сложная. Главное внимательно изучить алгоритм прошивки проца через UART.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зачем так сложно? Пусть главный контроллер получает прошивку и программирует сам себя. Никаких сверхъестественных знаний для написания своего загрузчика не требуется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делал программирование LPC1768 через AtMega16. Принцип похожий, только процы в 2-х разных устройствах, а прошивка заливается пользователем без участия LPC1768.

Задача у вас не очень сложная. Главное внимательно изучить алгоритм прошивки проца через UART.

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

 

у f103 нет встроенного загрузчика по spi, а свой я не уверен, что напишу. или программа загрузчика spi будет примерно равна по сложности программе под stm8?

 

to ab1000: хочется получать обновления по Ethernet или USB, а в качестве загрузчика использовать встроенный, т.к. я только начал работать с stm32, до этого на любительском уровне занимался AVRками

Изменено пользователем slavokhire5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понял, при чём тут SPI.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно же надо писать свой загрузчик. Он будет получать обновления по Ethernet или USB и программировать секцию приложения. Вы же собрались основным контроллером получать обновления и складывать их во внешнюю микросхему FLASH. Вот и складывайте, только не во внешнюю, а во внутреннюю.

Изменено пользователем ab1000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если памяти мало, то можно и во внешнюю.

Совет: пишите загрузчик и приложение как две независимых программы - так легче для понимания.

Загрузчик - штука универсальная, к конкретному приложению имеет отношение с точностью до карты распределения flash.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...