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

 
 
 
Reply to this topicStart new topic
> USB host, bootloader
Serg_el
сообщение Jun 11 2012, 08:09
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 13-12-06
Из: Togliatti
Пользователь №: 23 473



Доброго времени суток всем форумчанам!

Возникла задача сделать загрузчик, который позволит обновлять прошивку с USB флешки, вставленной в девайс. Классическая стратегия подразумевает 2 отдельные программы для устройства: загрузчик и код, который будет обновляться. В данном случае загрузчик должен содержать библиотеки для работы с USB и FAT систему, т.е. размер загрузчика в данном случае достаточно большой. Сама же программа в период отладки также должна содержать USB и FAT для удобства работы, но это уже очень нерационально. Как в данном случае можно решить вопрос удобства? Как вариант вижу отключение в основной программе библиотек для работы с USB и FAT при окончательной компиляции, но боюсь не будет ли из-за этого постоянной путаницы.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 11 2012, 10:28
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Serg_el @ Jun 11 2012, 11:09) *
В данном случае загрузчик должен содержать библиотеки для работы с USB и FAT систему, т.е. размер загрузчика в данном случае достаточно большой.


Для того, чтобы на диске с FAT найти в корневом каталоге один файл с заданным названием и прочитать его, реализовывать в своем устройстве полную поддержку FAT нет необходимости. В этом случае задача многократно упрощается, особенно в случае с FAT16 ...
Go to the top of the page
 
+Quote Post
Serg_el
сообщение Jun 11 2012, 10:43
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 13-12-06
Из: Togliatti
Пользователь №: 23 473



Цитата(kovigor @ Jun 11 2012, 14:28) *
Для того, чтобы на диске с FAT найти в корневом каталоге один файл с заданным названием и прочитать его, реализовывать в своем устройстве полную поддержку FAT нет необходимости. В этом случае задача многократно упрощается, особенно в случае с FAT16 ...


Т.е. в любом случае имеем 2 копии FAT: полную и урезанную. Т.к. заниматься поиском нужных для копирования секторов при наличии реализованной FAT совсем не хочется.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 11 2012, 11:02
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Serg_el @ Jun 11 2012, 13:43) *
Т.е. в любом случае имеем 2 копии FAT: полную и урезанную. Т.к. заниматься поиском нужных для копирования секторов при наличии реализованной FAT совсем не хочется.


Делал очень похожую систему. Команда обновления прошивки приходила в устройство от компьютера. Получив эту команду, устройство перегружалось посредством Watchdog'а (WDT). После перезагрузки устройство анализировало, чем эта перезагрузка была вызвана. Если это была перезагрузка после обычного включения питания, то выполнялся переход к выполнению основной программы. Если же перезагрузка выполнялась по инициативе WDT, то выполнялся переход к выполнению загрузчика. В этом случае и основное ПО, и загрузчик использовали один и тот же код ...
Go to the top of the page
 
+Quote Post
skripach
сообщение Jun 11 2012, 11:15
Сообщение #5


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Ну сэкономите вы 10кБайт, ну 15 в лучшем случае. Что это вам даст? У вас контроллер с USB хостом и 32я кБайтами флеш?
Делал загрузчик с USB флешки + SD карта. Какое-то обединение загрузчика и приложения стоит делать только в самом крайнем случае я считаю.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
Serg_el
сообщение Jun 11 2012, 12:18
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 13-12-06
Из: Togliatti
Пользователь №: 23 473



Наверное и правда не стоит экономить особо сильно на flash памяти. Если память критична, то "вручную" искать файл без FAT.
Go to the top of the page
 
+Quote Post
Basilij
сообщение Jul 2 2012, 13:56
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 175
Регистрация: 7-04-11
Пользователь №: 64 190



Здравствуйте уважаемые Знатоки.

Дабы не плодить новых тем со схожей тематике, позволю себе задать вопрос в этой ветке.
Господа, где можно почитать про принципы реализации самопрошиви STM32 с USB флешки, или SD карты?

Заранее спасибо за комментарии.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th July 2025 - 16:35
Рейтинг@Mail.ru


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