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

 
 
> bootloader на ATMega48
РоманО
сообщение Sep 25 2008, 15:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 25-09-08
Пользователь №: 40 478



Друзья. Сомнения мучают меня.
Хотя начну попорядку.
Появилась задумка сделать bootloader под Мегу48. В качестве среды програмирования выбрал IAR. Особенность 48 в том, что у нее нет bootsection. Приходится все описывать вручную. Для начала определяем местоположение загрузчика для чего в линкере прописываем
Цитата
-Z(CODE)MYSEGMENT=800-9FF

Все вроде бы в порядке и в выходном файле появляется в нужном месте содержание загрузчика. И все вроде бы хорошо. Загрузчиком начинаю стирать память контроллера, и вроде бы даже хорошо получается, но когда дохожу до определенного положения стирание прекращается и цикл стирания страниц памяти вылетает. Под пристальным взглядом дизассемблера выясняется, что напоролся на инициализацию секции MYSEGMENT.
Загрузчик начинается с адреса 0x0800, а инициализация секции загрузчика с 0x01C0. Кстати на этом месте заканчивается основная программа.
Могу ли я расположить код инициализации секции MYSEGMENT уже после самого bootloadera.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sensor_ua
сообщение Sep 30 2008, 06:25
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
Затолкнул. ровно в 1k под жвак (1024). Аплодируйте.

Ассемблерный вариант из AN109 (родной от Атмел) занимал 369 байтwink.gif Сишный - уже почти в 2 раза больше (родной), а потом розросся до примерно 1к плюс-минус трамвайная остановка.
Но я говорил не о загрузчике вообще, а о конкретном - STK500v2-совместимом с XTEA-шифрованием. Апплодировать?
Цитата
кому придет в голову править бутлоадер?

Иногда приходится. Классический случай - способ входа поправить (когда пин сменить, когда Break по UART прописать), кварц, UART и скорость поменять - это хоть и косметика, но править - часть через конфигурацию, а часть ручками.
Цитата
Целесообразность - втиснуться в заданный объем памяти. Экономия места для основной программы.

Абсолютно согласен. Но тут вопрос опять же не "любви к искусству", а конкретной задачи - может оказаться дешевле более жирный проц поставить, а может и на асме бутлоадер с минимумом фич прописать (или имеющийся под камень доточить), а может самопальный протокол нельзя и нужно конкретный верхний уровень использовать - тогда ещё раз нужно посмотреть, что выгоднее.
Цитата
Сопостовимы ли будут Ваши затраты?

Врядли больше. На вариант для ATmega128 ушло сначала пол дня. Потом появились пожелания и их пришлось добивать следующим утром. Тяжело говорить - столько готовых наработок, что говорить о написании с нуля несколько некорректно. Для того же C8051F120 есть практически готовый бутлоадер для F020 из аппликухи от Silabs - его подправить - только функции стирания/записи из другой аппликухи подтянуть - грубо до получаса с глупостями. Но мне он не подходит;( STK500 переделать - только с ограничением адресов снизу разобраться, индейцев кое-где сменить, опять же функции стирания/записи подтянуть, расстановку локов, ну и не забыть getchar/putchar и иниты. Работы, не напрягаясь, на день с перекурами.


--------------------
aka Vit
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- РоманО   bootloader на ATMega48   Sep 25 2008, 15:29
- - defunct   Цитата(РоманО @ Sep 25 2008, 18:29) Появи...   Sep 26 2008, 10:30
|- - haker_fox   Цитата(defunct @ Sep 26 2008, 19:30) Вы б...   Sep 27 2008, 03:07
|- - _Pasha   Цитата(defunct @ Sep 26 2008, 14:30) Вы б...   Sep 27 2008, 06:33
- - IgorKossak   РоманО, у Вас бутлоадер и приложение в одном проек...   Sep 26 2008, 12:10
- - sensor_ua   Можно подсмотреть, как делать bootloader для ATmeg...   Sep 27 2008, 03:57
- - sensor_ua   ЦитатаВопрос отнюдь не религиозный IMHO, именно ре...   Sep 27 2008, 07:28
|- - _Pasha   Цитата(sensor_ua @ Sep 27 2008, 11:28) IM...   Sep 27 2008, 11:30
|- - defunct   Цитата(sensor_ua @ Sep 27 2008, 10:28) IM...   Sep 29 2008, 13:46
- - sensor_ua   ЦитатаЭто не в счет, Почему же? В чужом исходнике ...   Sep 27 2008, 12:22
|- - _Pasha   Цитата(sensor_ua @ Sep 27 2008, 16:22) эт...   Sep 27 2008, 12:37
- - РоманО   Блин, я так и не увидел ответа. Может просто какой...   Sep 29 2008, 14:12
|- - defunct   Цитата(РоманО @ Sep 29 2008, 17:12) Идея ...   Sep 29 2008, 14:22
|- - РоманО   Цитата(defunct @ Sep 29 2008, 18:22) см. ...   Sep 29 2008, 14:50
|- - Огурцов   Цитата(РоманО @ Sep 29 2008, 14:50) цикл ...   Sep 30 2008, 05:44
|- - Сергей Борщ   Цитата(РоманО @ Sep 29 2008, 17:50) если ...   Oct 1 2008, 20:21
- - sensor_ua   ЦитатаОк, тогда затолкните эти 3.5k в 1k. для (m8/...   Sep 29 2008, 21:20
|- - defunct   Цитата(sensor_ua @ Sep 30 2008, 00:20) За...   Sep 29 2008, 23:58
- - Rst7   ЦитатаСопровождение: кому придет в голову править ...   Sep 30 2008, 04:55
- - GSG   Если не критично для программы, то поменяйте места...   Sep 30 2008, 10:40
- - bodja74   2PomanO Короче Здесь лежит готовый загрузчик п...   Oct 1 2008, 14:40
- - Огурцов   Цитата(bodja74 @ Oct 1 2008, 14:40) Прикр...   Oct 1 2008, 17:03


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:37
Рейтинг@Mail.ru


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