Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: bootloader
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
pitt
Что я делаю не так?
Хочу просто записать в начало флэша 0x5555. Только как тест. Страница стирается и не пишется ничего angry.gif

запускается :
make -fmakefile.test
haker_fox
Цитата(pitt @ Mar 13 2007, 06:20) *
Что я делаю не так?
Хочу просто записать в начало флэша 0x5555. Только как тест. Страница стирается и не пишется ничего angry.gif

запускается :
make -fmakefile.test

Посмотрите, пожалуйста, эти темы, может быть они Вам помогут в решении вопроса:
http://electronix.ru/forum/index.php?showtopic=23296&hl=
http://electronix.ru/forum/index.php?showtopic=18702&hl=
pitt
Увы, не помогло. Самое интересное, что в симуляторе (читай студия) все так, как и должно быть, а на железе- дудки!
haker_fox
Цитата(pitt @ Mar 13 2007, 09:22) *
Увы, не помогло. Самое интересное, что в симуляторе (читай студия) все так, как и должно быть, а на железе- дудки!

А на реальном микроконтроллере биты конфигурации верно выставлены? Должен быть включен режим старта с области бутлоадера и сконфигурирован его размер (см. даташит на ваш МК).
pitt
Уважаемый Лис!
Если бы Вы посмотрели присоединенный код, то, наверняка, Ваши вопросы были бы другими. Приведенный пример преднамеренно уменьшен до нескольких линий.
Screw
Все же проверьте фьюзы, имхо дело в этом.
haker_fox
Цитата(pitt @ Mar 13 2007, 09:54) *
Уважаемый Лис!
Если бы Вы посмотрели присоединенный код, то, наверняка, Ваши вопросы были бы другими. Приведенный пример преднамеренно уменьшен до нескольких линий.

Прошу прощения, а какое отношение приведенный код имеет ко фьюзам (битам конфигурации)? Лень качать даташит на can128, но я не думаю, что в нем фьюзы устанавливаются программно. В makefile посмотрел, но не обнаружил команд работы с программатором, плохо смотрел?
pitt
Уважаемые господа!
К моему сожалению, по-видимому, идея данного упражнения осталась в стороне от вашего внимания. Фьюзы не имеют никакого отношения к проблеме или я что-то упустил в понимании проблемы. Код переходит в секцию бутлодера
Код
void foo ( void ) __attribute__ (( section (".bootloader")));

и оттуда перепрограммирует секцию основного кода. По-моему убеждению это вполне легально. К тому же, стирание основной старнице, т.е. доступ к ней. происходит без проблем.
pitt
Похоже все сдались, или, что более верояно, отнеслись к проблеме ПОЛОЖИТельно...
arttab
попробуйте воспользоваться поиском по форуму. Эта тема подымалась нераз. Для асемблера есть апликухи (и на русском) и рекомендации от Atmel. Я пробовал под IAR. Есть прикрепленный пример (часть кода без реализации обмена). Загрузчик нормально стартовал, я скидывал данные для записи, он переписывал страници. проверял считыванием флеша.
Тема уж больно баянистая.
haker_fox
Цитата(pitt @ Mar 15 2007, 01:20) *
Похоже все сдались, или, что более верояно, отнеслись к проблеме ПОЛОЖИТельно...

По одной из ссылок, которые я дал, находится подправленный мной бутлоадер. Рабочий. Хотя в нем есть некоторые ошибки, но они связаны не с прошивкой памяти, а именно с логикой работы бутлоадера (например не всегда верно считается CRC принятого файла).
pitt
Я решил проблему. Спасибо за участие.
PS. В качестве пожелания, что ли: Господа, старайтесь отвечать по существу поставленного вопроса, а не на нечто около. Вопрос был не КАК писать bootloader, а что было сделано не так.
IgorKossak
Цитата(pitt @ Mar 15 2007, 15:04) *
Я решил проблему. Спасибо за участие.
PS. В качестве пожелания, что ли: Господа, старайтесь отвечать по существу поставленного вопроса, а не на нечто около. Вопрос был не КАК писать bootloader, а что было сделано не так.

Однако ж, Вы и не сказали КАК Вы решили эту проблему.
Выходит, что кому-то придётся всё с нуля проходить sad.gif
pitt
Код
LINK_FLAGS += -Wl,--section-start=.bootloader=0x1FC00
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.