slavokhire5 0 25 июля, 2014 Опубликовано 25 июля, 2014 · Жалоба Кто пробовал написать программу прошивки одного контроллера другим? Идея такова: главный контроллер (stm32f107 или f103) получает прошивку по USB или Ethernet, складывает ее в микросхему FLASH, проверяет, затем будит контроллер-программатор (stm8) и ребутится. stm8 потихоньку читает прошивку из FLASH и заливает ее в stm32 по USART. Вопрос: насколько это возможно, насколько серьезный уровень нужно иметь программисту, чтобы написать нужный код под stm8 (слышал, чтобы написать свой бутлоадер для STM32, нужно быть гуру), и сколько памяти может занять прошивка для stm8, чтобы заложить на будущее нужный камень. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewlekar 0 25 июля, 2014 Опубликовано 25 июля, 2014 · Жалоба Делал программирование LPC1768 через AtMega16. Принцип похожий, только процы в 2-х разных устройствах, а прошивка заливается пользователем без участия LPC1768. Задача у вас не очень сложная. Главное внимательно изучить алгоритм прошивки проца через UART. Но стоит подумать о схеме работы без участия STM8. Зачем он вам тут нужен? Складывайте прошивку во внешнюю флэш, потом перезагружайтесь в режиме загрузчика, обновляйте программу и стартуйте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ab1000 0 25 июля, 2014 Опубликовано 25 июля, 2014 · Жалоба А зачем так сложно? Пусть главный контроллер получает прошивку и программирует сам себя. Никаких сверхъестественных знаний для написания своего загрузчика не требуется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slavokhire5 0 25 июля, 2014 Опубликовано 25 июля, 2014 (изменено) · Жалоба Делал программирование LPC1768 через AtMega16. Принцип похожий, только процы в 2-х разных устройствах, а прошивка заливается пользователем без участия LPC1768. Задача у вас не очень сложная. Главное внимательно изучить алгоритм прошивки проца через UART. Но стоит подумать о схеме работы без участия STM8. Зачем он вам тут нужен? Складывайте прошивку во внешнюю флэш, потом перезагружайтесь в режиме загрузчика, обновляйте программу и стартуйте. у f103 нет встроенного загрузчика по spi, а свой я не уверен, что напишу. или программа загрузчика spi будет примерно равна по сложности программе под stm8? to ab1000: хочется получать обновления по Ethernet или USB, а в качестве загрузчика использовать встроенный, т.к. я только начал работать с stm32, до этого на любительском уровне занимался AVRками Изменено 25 июля, 2014 пользователем slavokhire5 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewlekar 0 25 июля, 2014 Опубликовано 25 июля, 2014 · Жалоба Не понял, при чём тут SPI. По-моему, вам всё же проще будет освоить реализацию собственного загрузчика, чем городить эту двухпроцессорную конфигурацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ab1000 0 25 июля, 2014 Опубликовано 25 июля, 2014 (изменено) · Жалоба Конечно же надо писать свой загрузчик. Он будет получать обновления по Ethernet или USB и программировать секцию приложения. Вы же собрались основным контроллером получать обновления и складывать их во внешнюю микросхему FLASH. Вот и складывайте, только не во внешнюю, а во внутреннюю. Изменено 25 июля, 2014 пользователем ab1000 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 10 25 июля, 2014 Опубликовано 25 июля, 2014 · Жалоба Если памяти мало, то можно и во внешнюю. Совет: пишите загрузчик и приложение как две независимых программы - так легче для понимания. Загрузчик - штука универсальная, к конкретному приложению имеет отношение с точностью до карты распределения flash. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться