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

 
 
> WinAvr gcc, Помогите! Неверный скрипт для avr-ld ???...
картошка
сообщение Dec 28 2005, 22:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 28-12-05
Из: Odessa
Пользователь №: 12 673



Здраствуйте.

Разбираюсь с пакетом WINAVR ни разу не писал для микроконтролеров на "C".
Откомпилировал файл : avr-gcc -mmcu=atmega16 -S tavr.c -o tavr.s . И получил текстовый ассемблерный файл с именем tavr.s, как заказывал в командной строке.
При запуске командной строки : avr-as -mmcu=avr5 -ahls=asm.l freqpomp.s tavr.s -o tavr.o - создается обьектный файл для линковщика и ненужно-контрольный файл asm.l который я заказал в командной строке. Все хорошо и нет никаких ошибок.

Но при обработке обьектного файла дизасемблером (avr-objdump) на командах jmp и call нулевые указатели адреса. И после запуска линковщика : avr-ld -Map maps.l -T tavr.lnk tavr.o -o file.bin создается мною попрошенный файл maps.l и сама готовая програма в файле file.bin. При просмотре бинарника дизасемблером IDA PRO ADVANCE ну и просто визуально, я замечаю что в командах jmp и call нулевые физические адреса.
У меня есть подозрительно-вопросительные соображения что возможно я что-то в скипте недописал? , вот его код:

OUTPUT_FORMAT ("binary")
SECTIONS
{
.text : { * ( .text )}
. = 0x00020000; --- адресное смещение для формирования файла
.data : { * ( .data )}
.bss : { * ( .bss )}
__do_copy_data = 0;
__do_clear_bss = 0;
__stack = 0x0300;
}

примечание: сегменты .data и .bss у меня не использованы и не создаются , я просто не создавал пока никаких переменных.

Помогите словом добрым пожалуйста.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andy Great
сообщение Jan 1 2006, 16:12
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



ключ -nostdlib (уточнил) - это ключ линкера. Я ни словом не упомянул про make. С Вашим нежеланием читать доку Вам трудно будет работать.

Сообщение отредактировал Andy Great - Jan 1 2006, 16:39
Go to the top of the page
 
+Quote Post
картошка
сообщение Jan 1 2006, 17:35
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 28-12-05
Из: Odessa
Пользователь №: 12 673



Цитата(Andy Great @ Jan 1 2006, 19:12) *
ключ -nostdlib (уточнил) - это ключ линкера. Я ни словом не упомянул про make. С Вашим нежеланием читать доку Вам трудно будет работать.


Всю документацию по WINAVR просмотрел. Ничего такого там нет. Нет там таких ключей ни на : avr-ld, avr-gcc, avr-as.
Так-же внимательно смотрел с сайта www.gnu.org/manual всю доку по этим трем утилитам. Тоже ничего по поводу этого ключа.

вот что у меня записано в bat файле:
avr-gcc -mmcu=avr2 -S tavr.c -o tavr.s
avr-as -mmcu=avr2 -al=asm.l freqpomp.s -o tavrs.o
avr-ld -Map maps.l -T tavr.lnk tavrs.o -o file.bin

tavr.lnk - не привожу вроде мне все там понятно.

Вот что может linker avr-ld, и на gnu.org небольше этого написано, поможите поподробнее Вы наверняка же знаете, заранее спасибо.

Кроме -Lpath ближе тем там нет: blink.gif

Controlling the linker avr-ld:
Selected linker options
While there are no machine-specific options for avr-ld, a number of the standard options might be of interest to AVR users.

-lname
Locate the archive library named libname.a, and use it to resolve currently unresolved symbols from it. The library is searched along a path that consists of builtin pathname entries that have been specified at compile time (e. g. /usr/local/avr/lib on Unix systems), possibly extended by pathname entries as specified by -L options (that must precede the -l options on the command-line).


-Lpath
Additional location to look for archive libraries requested by -l options.


--defsym symbol=expr
Define a global symbol symbol using expr as the value.


-M
Print a linker map to stdout.


-Map mapfile
Print a linker map to mapfile.


--cref
Output a cross reference table to the map file (in case -Map is also present), or to stdout.


--section-start sectionname=org
Start section sectionname at absolute address org.


-Tbss org
-Tdata org
-Ttext org
Start the bss, data, or text section at org, respectively.


-T scriptfile
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- картошка   WinAvr gcc   Dec 28 2005, 22:23
- - haker_fox   2картошка: а может все упростить??? Я так понимаю,...   Dec 29 2005, 02:14
- - unichorn   А мне нравится WinAVR20050214+AVRStudio4.11 А вот...   Dec 29 2005, 10:02
|- - haker_fox   Цитата(unichorn @ Dec 29 2005, 18:02) А м...   Dec 29 2005, 10:58
|- - картошка   Спасибо. Вот хочу поделится че вышло за сегодня. ...   Dec 29 2005, 23:58
- - haker_fox   Ну не должно быть таких граблей... Какой версией W...   Dec 30 2005, 01:58
|- - картошка   Цитата(haker_fox @ Dec 30 2005, 04:58) Ка...   Dec 30 2005, 15:31
- - Andy Great   Ключ --no-stdlib спасет гиганта мысли. GCC настраи...   Dec 31 2005, 08:43
- - beer_warrior   Пару слов вдогонку. 1. Я бы не советовал пользоват...   Jan 1 2006, 09:34
|- - картошка   С наступившем. И с наступающим Рождеством. Я не р...   Jan 1 2006, 13:34
- - Andy Great   avr-ld --help выдает список ключей. Для моего v2.1...   Jan 2 2006, 09:08
|- - картошка   Цитата(Andy Great @ Jan 2 2006, 12:08) av...   Jan 2 2006, 22:38
|- - картошка   Все ключи для avr-ld и avr-as перепробовал ничего ...   Jan 3 2006, 02:20
- - Andy Great   Что касается особенностей работы GNU-программ, чит...   Jan 3 2006, 09:23
- - картошка   Всем! Всем! Всем! Действительно глюк к...   Jan 3 2006, 23:20
- - Petka   скажу сразу что с вопросом не разбирался... просто...   Jan 4 2006, 17:53
- - картошка   Спасибо "Petka" . Я уже все перепробовал...   Jan 5 2006, 02:58
|- - Petka   Цитата(картошка @ Jan 5 2006, 05:58) Спас...   Jan 6 2006, 12:51
- - Laura   ничего не понимаю второй год с GCC работаю, все но...   Jan 18 2006, 05:58


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 04:43
Рейтинг@Mail.ru


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