реклама на сайте
подробности

 
 
> Прошивка STM32 через bootloader с помощью STM8, Возможно ли?
slavokhire5
сообщение Jul 25 2014, 07:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 31-03-14
Из: Харьков
Пользователь №: 81 165



Кто пробовал написать программу прошивки одного контроллера другим?
Идея такова: главный контроллер (stm32f107 или f103) получает прошивку по USB или Ethernet, складывает ее в микросхему FLASH, проверяет, затем будит контроллер-программатор (stm8) и ребутится. stm8 потихоньку читает прошивку из FLASH и заливает ее в stm32 по USART.
Вопрос: насколько это возможно, насколько серьезный уровень нужно иметь программисту, чтобы написать нужный код под stm8 (слышал, чтобы написать свой бутлоадер для STM32, нужно быть гуру), и сколько памяти может занять прошивка для stm8, чтобы заложить на будущее нужный камень.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
andrewlekar
сообщение Jul 25 2014, 07:29
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Делал программирование LPC1768 через AtMega16. Принцип похожий, только процы в 2-х разных устройствах, а прошивка заливается пользователем без участия LPC1768.
Задача у вас не очень сложная. Главное внимательно изучить алгоритм прошивки проца через UART.
Но стоит подумать о схеме работы без участия STM8. Зачем он вам тут нужен? Складывайте прошивку во внешнюю флэш, потом перезагружайтесь в режиме загрузчика, обновляйте программу и стартуйте.
Go to the top of the page
 
+Quote Post
ab1000
сообщение Jul 25 2014, 07:30
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 26-05-05
Из: г. Челябинск
Пользователь №: 5 387



А зачем так сложно? Пусть главный контроллер получает прошивку и программирует сам себя. Никаких сверхъестественных знаний для написания своего загрузчика не требуется.
Go to the top of the page
 
+Quote Post
slavokhire5
сообщение Jul 25 2014, 07:33
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 31-03-14
Из: Харьков
Пользователь №: 81 165



Цитата(andrewlekar @ Jul 25 2014, 10:29) *
Делал программирование LPC1768 через AtMega16. Принцип похожий, только процы в 2-х разных устройствах, а прошивка заливается пользователем без участия LPC1768.
Задача у вас не очень сложная. Главное внимательно изучить алгоритм прошивки проца через UART.
Но стоит подумать о схеме работы без участия STM8. Зачем он вам тут нужен? Складывайте прошивку во внешнюю флэш, потом перезагружайтесь в режиме загрузчика, обновляйте программу и стартуйте.


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

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

Сообщение отредактировал slavokhire5 - Jul 25 2014, 07:36
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Jul 25 2014, 07:42
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Не понял, при чём тут SPI.
По-моему, вам всё же проще будет освоить реализацию собственного загрузчика, чем городить эту двухпроцессорную конфигурацию.
Go to the top of the page
 
+Quote Post
ab1000
сообщение Jul 25 2014, 07:50
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 26-05-05
Из: г. Челябинск
Пользователь №: 5 387



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

Сообщение отредактировал ab1000 - Jul 25 2014, 07:56
Go to the top of the page
 
+Quote Post
adnega
сообщение Jul 25 2014, 08:09
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Если памяти мало, то можно и во внешнюю.
Совет: пишите загрузчик и приложение как две независимых программы - так легче для понимания.
Загрузчик - штука универсальная, к конкретному приложению имеет отношение с точностью до карты распределения flash.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th August 2025 - 10:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.02191 секунд с 7
ELECTRONIX ©2004-2016