Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прошивка STM32 через bootloader с помощью STM8
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
slavokhire5
Кто пробовал написать программу прошивки одного контроллера другим?
Идея такова: главный контроллер (stm32f107 или f103) получает прошивку по USB или Ethernet, складывает ее в микросхему FLASH, проверяет, затем будит контроллер-программатор (stm8) и ребутится. stm8 потихоньку читает прошивку из FLASH и заливает ее в stm32 по USART.
Вопрос: насколько это возможно, насколько серьезный уровень нужно иметь программисту, чтобы написать нужный код под stm8 (слышал, чтобы написать свой бутлоадер для STM32, нужно быть гуру), и сколько памяти может занять прошивка для stm8, чтобы заложить на будущее нужный камень.
andrewlekar
Делал программирование LPC1768 через AtMega16. Принцип похожий, только процы в 2-х разных устройствах, а прошивка заливается пользователем без участия LPC1768.
Задача у вас не очень сложная. Главное внимательно изучить алгоритм прошивки проца через UART.
Но стоит подумать о схеме работы без участия STM8. Зачем он вам тут нужен? Складывайте прошивку во внешнюю флэш, потом перезагружайтесь в режиме загрузчика, обновляйте программу и стартуйте.
ab1000
А зачем так сложно? Пусть главный контроллер получает прошивку и программирует сам себя. Никаких сверхъестественных знаний для написания своего загрузчика не требуется.
slavokhire5
Цитата(andrewlekar @ Jul 25 2014, 10:29) *
Делал программирование LPC1768 через AtMega16. Принцип похожий, только процы в 2-х разных устройствах, а прошивка заливается пользователем без участия LPC1768.
Задача у вас не очень сложная. Главное внимательно изучить алгоритм прошивки проца через UART.
Но стоит подумать о схеме работы без участия STM8. Зачем он вам тут нужен? Складывайте прошивку во внешнюю флэш, потом перезагружайтесь в режиме загрузчика, обновляйте программу и стартуйте.


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

to ab1000: хочется получать обновления по Ethernet или USB, а в качестве загрузчика использовать встроенный, т.к. я только начал работать с stm32, до этого на любительском уровне занимался AVRками
andrewlekar
Не понял, при чём тут SPI.
По-моему, вам всё же проще будет освоить реализацию собственного загрузчика, чем городить эту двухпроцессорную конфигурацию.
ab1000
Конечно же надо писать свой загрузчик. Он будет получать обновления по Ethernet или USB и программировать секцию приложения. Вы же собрались основным контроллером получать обновления и складывать их во внешнюю микросхему FLASH. Вот и складывайте, только не во внешнюю, а во внутреннюю.
adnega
Если памяти мало, то можно и во внешнюю.
Совет: пишите загрузчик и приложение как две независимых программы - так легче для понимания.
Загрузчик - штука универсальная, к конкретному приложению имеет отношение с точностью до карты распределения flash.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.