Технический форум по робототехнике.
GIGOLAS » 16 июн 2012, 14:19
Люди всем привет. Возник такой вопрос или предложение как сказать не знаю точно. Интересует некое устройство которое работает в связке устройством. Например роботом или каким либо другим устройством. Смысл в чем, например написал программу а Васике, откомпилил и поместил на флешку, потом флешку вставил например в робота или что там еше, нажал кнопочку, и он сам себя перепрошил.
Вобшем кто что подобное делал, если да то можете скинуть ссылки, если нет то теоретически ко это сможет сделать и какие трудозатраты. Только не спрашивайте зачем, просто подумал что было бы удобно.
legion » 16 июн 2012, 14:32
Можно взять любой AVR с In-System Programmable Flash, например мега16. Устройство-программатор на любом МК сможет залить на него новую прошивку УАРТом через bootloader.
А вообще вроде бутлоадер можно написать так, чтобы он сам забирал прошивку, например, с EEPROMки.
UPD:
http://easyelectronics.ru/avr-uchebnyj- ... adera.htmlhttp://easyelectronics.ru/sozdanie-bootloadera.html
Angel71 » 16 июн 2012, 14:52
если кнопочкой будет ресет, то как вариант сделать через бутлоадер (аврки поддерживают самопрограммирование, но я не помню, есть ли лимит на размер бутлоадера). просто работа с картами памяти кушает много - кроме собственно работы с картой еще нужно много кода для поддержки файловой системы. для старта
тут много полезного + в сети можно другие примеры поискать. а дальше что-то примерно так: загрузился бутлоадер, как-то посмотрел текущую версию прошивки, проверил, есть ли на карте более новая прошивка, если есть, проверил контрольную сумму и начал шить.
у мега16 епром 512байт, у мега2560 всего 4кбайта. т.е. хорошо подходит для хранения информации о версии прошивки, но не для хранения прошивки. кстати можно сделать карту памяти без файловой системы, это намного упростит задачу - нужно будет только продумать структуру данных.
legion » 16 июн 2012, 15:37
Я имел в виду внешнюю EEPROM микросхему, которая и будет представлять собой отдельное устройство класса "флешка с прошивкой".
GIGOLAS » 16 июн 2012, 17:32
Angel71 я так примерно и думал, но я думал там стоит отдельно модуль с авркой-програматор связанный только с основным контролером только для програмирования.
Я как думал, на флешке лежит сам исходник и файл с параметрами программируемого контролера. И исходя из них он просто тупо вливает прошивку в устройство. Грубо говоря программатор не с компом связан, а берет что нужно с флешки или другого носителя
Это как я пока думаю, а там фиг знает что в итоге выйдет
elmot » 16 июн 2012, 17:43
Штатная фича на плате stm32f4discovery. Можно перепрошиваться с обычной флешки. Сам не пробовал, но в стандартных примерах видел.
legion » 16 июн 2012, 17:49
Отдельно в робота контроллер-программатор встраивать не нужно. Достаточно обеспечить подключение к основному МК какого-нибудь носителя информации и запрограммировать бутлоадер. Основной МК будет сам себе программатор.
Romikgy » 16 июн 2012, 23:17
только одно ... если влезет в размер атмеги
elmot » 17 июн 2012, 01:43
Осспадя. Забудте это страшное слово. Возьмите stm и будет там и бутлоадер, и черт с рогами. И в память все влезет.
GIGOLAS » 17 июн 2012, 03:39
stm32f4discovery вкусненькая вешь, чет я смотрю засиделся на аврках:)