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

 
 
 
Reply to this topicStart new topic
> Помогите! winAVR bootloader для ATmega128, Как заставить winAvr генерить hex с правильными адресами
Konste
сообщение Nov 9 2006, 06:11
Сообщение #1





Группа: Новичок
Сообщений: 14
Регистрация: 27-02-06
Пользователь №: 14 731



Здравствуйте.
Проблема в следующем:
Перешёл с CodeVision на winAVR. в CV для того, чтобы указать компилятору, что наша программа это bootloader и размещёть его надо соответственно достаточно было выставить опции в настройках проекта.

Как сделать такое же в winAVR?

- при генерации .hex в начало программы пишутся вектора прерываний (чего мне в bootloader`е не надо)
- адреса выставляются с 0x0000 (то есть моя программа пишется не в секцию bootloader`а)

===== Как и где всё это настраивается?

Игрался с параметрами avr-objcopy, генерящей .hex - ничего не вышло, но у меня такое чувство, что именно здесь "собака зарыта"...

Пожалуйста помогите.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Nov 9 2006, 07:18
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(Konste @ Nov 9 2006, 14:11) *
Здравствуйте.
Проблема в следующем:
Перешёл с CodeVision на winAVR. в CV для того, чтобы указать компилятору, что наша программа это bootloader и размещёть его надо соответственно достаточно было выставить опции в настройках проекта.

Как сделать такое же в winAVR?

- при генерации .hex в начало программы пишутся вектора прерываний (чего мне в bootloader`е не надо)
- адреса выставляются с 0x0000 (то есть моя программа пишется не в секцию bootloader`а)

===== Как и где всё это настраивается?

Игрался с параметрами avr-objcopy, генерящей .hex - ничего не вышло, но у меня такое чувство, что именно здесь "собака зарыта"...

Пожалуйста помогите.

Я, в опциях линкера, прописал следующее
LDFLAGS = -Wl,--section-start=.text=0x03800, для ATmega16, при этом область загрузчика 1024 байта.
Прикладываю полный вариант своего Makefile
Прикрепленные файлы
Прикрепленный файл  Makefile.rar ( 5.59 килобайт ) Кол-во скачиваний: 87
 


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Konste
сообщение Nov 9 2006, 07:51
Сообщение #3





Группа: Новичок
Сообщений: 14
Регистрация: 27-02-06
Пользователь №: 14 731



[/quote]
Я, в опциях линкера, прописал следующее
LDFLAGS = -Wl,--section-start=.text=0x03800, для ATmega16, при этом область загрузчика 1024 байта.
Прикладываю полный вариант своего Makefile
[/quote]

Спасибо, теперь пишет в hex начиная с нужного адреса smile.gif
- неужели единственный способ? - как-то некрасиво он смотриться - такое ощущение, что должен, скорее некий флаг меняться, определяющий тип программы.
... попробую теперь разобраться, как от туда вектора прерываний убрать.... если кому известно - буду рад smile.gif

Заранее спасибо.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Nov 9 2006, 08:13
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



[quote name='Konste' date='Nov 9 2006, 15:51' post='173789']
[/quote]
Я, в опциях линкера, прописал следующее
LDFLAGS = -Wl,--section-start=.text=0x03800, для ATmega16, при этом область загрузчика 1024 байта.
Прикладываю полный вариант своего Makefile
[/quote]

Спасибо, теперь пишет в hex начиная с нужного адреса smile.gif
- неужели единственный способ? - как-то некрасиво он смотриться - такое ощущение, что должен, скорее некий флаг меняться, определяющий тип программы.
... попробую теперь разобраться, как от туда вектора прерываний убрать.... если кому известно - буду рад smile.gif

Заранее спасибо.
[/quote]
Компилятор ничего не знает о термине "тип программы" в нашем случае. Он ничего не знает о понятие "область загрузчика", "программная область" и, соответственно, такого флага быль не должно. Способ этот наоборот очень красивый и изящный в отличии от менюшек того же CodeVision - все опции сборки проекта прописываются в одном скрипте, и имя ему Makefile.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Jan 22 2008, 07:25
Сообщение #5


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

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



Помогите пожалуйста, у меня та же ситуация, но не работает,
LDFLAGS = -Wl,--section-start=.text=0x1800
мега88,бутсектор 1к,
вектор фузом перенес, а майн не переносится?
help.gif
Go to the top of the page
 
+Quote Post

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

 


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


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