Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по WinAVR ассемблеру!
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
ex51
В чем может быть проблема?

Вот привожу содержимое Makefile:

## General Flags
PROJECT = name_project
MCU = at90s1200
TARGET = name_project.elf
CC = avr-gcc

## Options common to compile, link and assembly rules
COMMON = -mmcu=$(MCU)

## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall -gdwarf-2 -DF_CPU=10000000 -O0 -fsigned-char
CFLAGS += -Wp,-M,-MP,-MT,$(*F).o,-MF,dep/$(@F).d

## Assembly specific flags
ASMFLAGS = $(COMMON)
ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2

## Linker flags
LDFLAGS = $(COMMON)
LDFLAGS += -nostdlib -Wl,-Map=name_project.map


## Include Directories
INCLUDES = -I"D:\Develop\WinAVR\avr\include"

## Objects that must be built in order to link
OBJECTS = tvdecnew.o

## Build
all: $(TARGET) name_project.lss

## Compile
tvdecnew.o: ./tvdecnew.S
$(CC) $(INCLUDES) $(ASMFLAGS) -c $<

##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)

%.hex: $(TARGET)
avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@

%.eep: $(TARGET)
avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@

%.lss: $(TARGET)
avr-objdump -h -S $< > $@

## Clean target
.PHONY: clean
clean:
-rm -rf $(OBJECTS) name_project.elf dep/ name_project.lss name_project.map


## Other dependencies
-include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)

При запуске отладки говорит что:

Coordinator: The object file does not contain source code information.

И переходит на отладку в окне disassembler, что не удобно.
С этим же файлом при компиляции "C" проекта отладчик работает по исходнику нормально!
haker_fox
Цитата
Coordinator: The object file does not contain source code information.

Объектный файл не содержит информации об исходном коде...

А в чем отлаживаете программу? Я так понял что в WinAVR'овском отладчике
Цитата
TARGET = name_project.elf


Может быть попробывать отлаживать в AVRStudio?
Прошу прощения, если что-то напутал, а путаюсь я частоsmile.gif
И еще, я так понял, что это у Вас ассеблерная вставка в "сишном" коде?
ex51
То что объектный файл не содержит отладочной информации это я и так понял из сообщения, вопрос как раз в том почему!
Вроде все ключи для её генерации стоят.

Отлаживать я как раз и пытаюсь в студии(последняя 4,12), а она не хочет, только по дизассемблеру.
haker_fox
Цитата
То что объектный файл не содержит отладочной информации это я и так понял из сообщения, вопрос как раз в том почему!

Да, извините... этобыли мысли вслух...
Цитата
Отлаживать я как раз и пытаюсь в студии(последняя 4,12), а она не хочет, только по дизассемблеру.

Понятно, меня немного сбил makefile. Просто когда я работал с WinAVR, то там формат отладочного файла был coff (AVRStudio3) или extcoff (AVRStudio4). А строк, содержащих coff - я не нашел, поэтому и сделал такой глупый вывод.

Теперь, у меня возникли более осмысленные вопросы:
1. Версия WinAVR.
2. Вы подготавливаете makefile вручную или с помощью специальной программы, входящей в последнюю версию WinAVR20050214.
3. Какой отладочный файл Вы загружаете в AVRStudio? Coff или extcoff формат? Или ELF?
inco
Версия WinAVR-20050214

Makefile делал сам и пробовал использовть тот что генерит новая студия результат одинаковый.

Для отладки используется elf файл. Глядя на его содержимое видно что там нет ссылки на исходный файл, в то время как в elf файле который генерится для сишного исходника видна ссылка на source file
haker_fox
Хм, Вы под разными никами на форуме?

Я так понял, Вы используете Си "встроенный" в AVRStudio? Я лично работал только с отдельным компиляторм. А makefile генерил, программой, которая входит в пакет компилятора и отладочный формат был extcoff.
ex51
Нет я использую винавр тот который я указал, не всроенный.
Я его использую давно, еще новой студии не было.
Но вот отлаживать ассемблерный текст у меня не получалось и раньше, даже с coff форматом.

Если Вам не трудно пришлите свой Makefile который у Вас работает в студии с ассемблерными файлами.
Или покажите здесь ту часть которая у Вас генерит coff из ассемблерного файла.
haker_fox
Цитата
Если Вам не трудно пришлите свой Makefile который у Вас работает в студии с ассемблерными файлами.
Или покажите здесь ту часть которая у Вас генерит coff из ассемблерного файла.


К сожалению я никогда не пользовался ассембером в WinAVR, только в самой AVRStudio. Я только предполагал, что coff-формат может подойти. Прошу прощения, если я где-то выразился не так и ввел Вас в заблуждение.

P.S. Я уже 3 месяца, как использую IAR. Но все-равно у меня не было (пока) необходимости в ассембере.
И еще я что-то не совсем понял Вы используете чистый ассембер или вставки на ассембере в коде на Си? Если чистый, то лучше писать в AVRStudio на ассеблере, там с отладкой все ок. Сорри, если сказал известноеsmile.gif

В догонку... похоже тема интересна нам двоим... так может пообщаемся в аське? Мой ICQ UIN 339085018. А то вести диалог (именно диалог) в форуме не очень удобно.
Trollix
Меня тоже интересует, как добиться появления исходников ассемблерных модулей при отладке в Studio в связке WinAVR+AVR Studio!
Второй день пытаюсь добиться этого, но никак не получается.
"Родной" ассемблер при отладке в Studio позволяет видеть исходные тексты вместе с полученным итоговым результатом (особенно удобно проверять макросы), но, увы, этот ассемблер слишком убогий - нет даже возможности объявить несколько секций и т.д.и т.п.

И еще. Где есть документация по ключам командной строки WinAVR'овского С и ассемблера ( и командам последнего)? В полном виде и чтобы можно было нормально распечатать (pdf, html, doc, rtf)?
ReAl
Цитата(Trollix @ Nov 28 2005, 15:30) *
И еще. Где есть документация по ключам командной строки WinAVR'овского С и ассемблера ( и командам последнего)? В полном виде и чтобы можно было нормально распечатать (pdf, html, doc, rtf)?

В поставке WinAVR идут info и читалка tkinfo - прикручивается иконка на десктоп при инсталляции WinAVR. Мне хватает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.