Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 27.09.2017, 19:52  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: stm32 свой bootloader

serb-radio, ну уже ведь говорилось про arduino загрузчик. В его кодах все ответы - он точно работает. Он таки и под STM имеется. А источник получения потока для записи там совсем не важен. Можно подключить внешнюю память или даже flash накопитель и сначала на него с канала загружать, а потом при выполнении всех проверок - прошиваться.
При таком подходе можно даже и сам загрузчик перешить. Собственно такое сплошь и рядом - любая коробочка с мозгами это умеет.
Реклама:
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 27.09.2017 в 19:57.
mike-y-k вне форума  
Непрочитано 27.09.2017, 20:12  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: stm32 свой bootloader

Сообщение от serb-radio Посмотреть сообщение
поделитесь, кто чем память заливает (записывает основную прогу с бутлоудера), в смысле какой прогой
Либо своя прога под usb/bluetooth/wifi, либо c файла на карте памяти. Все просто)
realid вне форума  
Сказали "Спасибо" realid
mike-y-k (27.09.2017)
Непрочитано 27.09.2017, 20:55  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: stm32 свой bootloader

Вариант загрузки с карты памяти действительно пропустил, но ведь ТС изначально вообще про передачу прошивки по CAN шине писал .
В варианте с картой памяти собственно и загрузчик не нужен - компонент для прошивки просто всегда присутствует в коде и получает управление по сочетанию условий: карта, файл, содержимое, контрольная сумма, кнопка,…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 28.09.2017, 10:03  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: stm32 свой bootloader

Сообщение от mike-y-k Посмотреть сообщение
В варианте с картой памяти собственно и загрузчик не нужен - компонент для прошивки просто всегда присутствует в коде и получает управление по сочетанию условий: карта, файл, содержимое, контрольная сумма, кнопка,…
Именно так. Я считаю самый лучший вариант, ни от какой программы извне не зависящий.
realid вне форума  
Непрочитано 28.09.2017, 13:29  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: stm32 свой bootloader

serb-radio, кстати из нормальных решений для вариантам развития событий именно с загрузчиком. Формально беспроблемная практика.
Код загрузчика всегда включается в проект и присутствует в прошивке. Этим достигается отсутствие проблем с адресацией. Плюс подпрограммы загрузчика непосредственно и без ошибок доступны в основной части. А там может быть много неизменяемого кода библиотек, например. Что-то типа ядра у взрослых систем.
Программа для прошивки знает где и что лежит в бинарном файле. Это даже скармливанием ей или промежуточному компоненту листинга линкера делается.
При обновлении прошивки на устройстве программа инициализирует по каналу компонент, отвечающий за саму прошивку.
Дальше происходит передача данных с контролем, стирание и запись в память контроллера.
Деление потока на пакеты уже от ресурсов на целевом устройстве зависит.
По завершении операции считается контрольная сумма(в) для записанного и сверяются с переданными данными на обоих сторонах. При совпадении все нормально, иначе обработка ошибок.
При таком сценарии даже отключение питания не убивает устройство - оно должно стартовать в режиме продолжения или повторения прошивки.
Отдельно процедура перепрошивки самого загрузчика. Бывает и там что-то меняется. Тут уже немного сложнее, но тоже есть нормальные практики.
Главное разработать сначала методику обработки исключительных ситуаций, а сам алгоритм весьма прост - перемещение кода в RAM и выполнение его оттуда.
При таком подходе у Вас все нормально получится без лишних вопросов Как и Почему…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение DS18b20 к STM32 aftaev ARM 85 22.11.2016 10:58
STM32 и 9 бит SPI... всё так плохо? st__1 Микроконтроллеры, АЦП, память и т.д 94 07.08.2012 21:05
Проблема с ST-LINK +KEIL + STM32 LionRJ Микроконтроллеры, АЦП, память и т.д 5 06.03.2012 17:21
Bootloader Atmega LSergM Микроконтроллеры, АЦП, память и т.д 0 23.12.2007 02:32


Часовой пояс GMT +4, время: 14:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot