Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите получить .cof в примере WinAVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
dowhile
Помогите получить .cof в примере C:\WinAVR\doc\avr-libc\examples\stdiodemo

он приложен http://slil.ru/27011869

Пример компилируется нормально, но выдает лишь .elf

подробнее - http://electronix.ru/forum/index.php?showt...mp;#entry554376

Вот текст родного мэйкфайла из примера и в прицепе архив всей папки этого примера из WinAVR

Код
PRG            = stdiodemo
OBJ            = stdiodemo.o hd44780.o lcd.o uart.o
MCU_TARGET     = atmega16
OPTIMIZE       = -Os

DEFS           =
LIBS           =

# You should not have to change anything below here.

CC             = avr-gcc

CFLAGS        = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS)
LDFLAGS       = -Wl,-Map,$(PRG).map

OBJCOPY        = avr-objcopy
OBJDUMP        = avr-objdump

all: $(PRG).elf lst text eeprom

$(PRG).elf: $(OBJ)
    $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)

clean:
    rm -rf *.o $(PRG).elf *.eps *.png *.pdf *.bak
    rm -rf *.lst *.map $(EXTRA_CLEAN_FILES)

lst:  $(PRG).lst

%.lst: %.elf
    $(OBJDUMP) -h -S $< > $@

# Rules for building the .text rom images

text: hex bin srec

hex:  $(PRG).hex
bin:  $(PRG).bin
srec: $(PRG).srec

%.hex: %.elf
    $(OBJCOPY) -j .text -j .data -O ihex $< $@

%.srec: %.elf
    $(OBJCOPY) -j .text -j .data -O srec $< $@

%.bin: %.elf
    $(OBJCOPY) -j .text -j .data -O binary $< $@

# Rules for building the .eeprom rom images

eeprom: ehex ebin esrec

ehex:  $(PRG)_eeprom.hex
ebin:  $(PRG)_eeprom.bin
esrec: $(PRG)_eeprom.srec

%_eeprom.hex: %.elf
    $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@

%_eeprom.srec: %.elf
    $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O srec $< $@

%_eeprom.bin: %.elf
    $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O binary $< $@

# Every thing below here is used by avr-libc's build system and can be ignored
# by the casual user.

JPEGFILES               = stdiodemo-setup.jpg

JPEG2PNM                = jpegtopnm
PNM2EPS                 = pnmtops
JPEGRESOLUTION          = 180
EXTRA_CLEAN_FILES       = *.hex *.bin *.srec *.eps

dox: ${JPEGFILES:.jpg=.eps}

%.eps: %.jpg
    $(JPEG2PNM) $< |\
    $(PNM2EPS) -noturn -dpi $(JPEGRESOLUTION) -equalpixels \
    > $@
dowhile
Makefile дающий .cof в примере WinAVR

На телесистемах помогли - http://telesys.ru/wwwboards/mcontrol/2300/...es/729474.shtml

Вот http://slil.ru/27013651
мэйкфайл дающий .cof в примере WinAVR
C:\WinAVR\doc\avr-libc\examples\stdiodemo

его текст:

Код
PRG            = stdiodemo
OBJ            = stdiodemo.o hd44780.o lcd.o uart.o
MCU_TARGET     = atmega16
OPTIMIZE       = -Os

DEFS           =
LIBS           =

# You should not have to change anything below here.

CC             = avr-gcc

CFLAGS        = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS)
LDFLAGS       = -Wl,-Map,$(PRG).map

OBJCOPY        = avr-objcopy
OBJDUMP        = avr-objdump

all: $(PRG).elf lst text eeprom coff

$(PRG).elf: $(OBJ)
    $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)

clean:
    rm -rf *.o $(PRG).elf *.eps *.png *.pdf *.bak
    rm -rf *.lst *.map $(EXTRA_CLEAN_FILES)

lst:  $(PRG).lst

%.lst: %.elf
    $(OBJDUMP) -h -S $< > $@

# Rules for building the .text rom images

text: hex bin srec

hex:  $(PRG).hex
bin:  $(PRG).bin
srec: $(PRG).srec

%.hex: %.elf
    $(OBJCOPY) -j .text -j .data -O ihex $< $@

%.srec: %.elf
    $(OBJCOPY) -j .text -j .data -O srec $< $@

%.bin: %.elf
    $(OBJCOPY) -j .text -j .data -O binary $< $@

# Rules for building the .eeprom rom images

eeprom: ehex ebin esrec

ehex:  $(PRG)_eeprom.hex
ebin:  $(PRG)_eeprom.bin
esrec: $(PRG)_eeprom.srec

%_eeprom.hex: %.elf
    $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@

%_eeprom.srec: %.elf
    $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O srec $< $@

%_eeprom.bin: %.elf
    $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O binary $< $@

# Every thing below here is used by avr-libc's build system and can be ignored
# by the casual user.

JPEGFILES               = stdiodemo-setup.jpg

JPEG2PNM                = jpegtopnm
PNM2EPS                 = pnmtops
JPEGRESOLUTION          = 180
EXTRA_CLEAN_FILES       = *.hex *.bin *.srec *.eps

dox: ${JPEGFILES:.jpg=.eps}

%.eps: %.jpg
    $(JPEG2PNM) $< |\
    $(PNM2EPS) -noturn -dpi $(JPEGRESOLUTION) -equalpixels \
    > $@

    # Convert ELF to COFF for use in debugging / simulating in AVR Studio

or VMLAB.
COFFCONVERT = $(OBJCOPY) --debugging
COFFCONVERT += --change-section-address .data-0x800000
COFFCONVERT += --change-section-address .bss-0x800000
COFFCONVERT += --change-section-address .noinit-0x800000
COFFCONVERT += --change-section-address .eeprom-0x810000



coff: $(PRG).elf
    @echo
    @echo $(MSG_COFF) $(PRG).cof
    $(COFFCONVERT) -O coff-avr $< $(PRG).cof


extcoff: $(PRG).elf
    @echo
    @echo $(MSG_EXTENDED_COFF) $(PRG).cof
    $(COFFCONVERT) -O coff-ext-avr $< $(PRG).cof
dowhile
Но только НЕ РАБОТЕТ ни фига ! Нет привязки к исходнику на Си ни в Студии ни в ВМЛАБ ни в ПРОТЕУС

в студии ругается:

Loaded plugin Proteus VSM Viewer
Loaded plugin STK500
Loaded partfile: C:\Program Files\Atmel\AVR Tools\PartDescriptionFiles\
AVR Simulator: Please wait while configuring simulator...
AVR Simulator: ATmega16 Configured OK
Coordinator: The object file does not contain source code information.
Loaded objectfile: C:\AVR\stdiodemo.cof
mdmitry
dowhile, выберите, пожалуйста, ветку для бесед. Две одинаковые темы с разным названием (тоже) повод для действий модератора.

1. Опция DEBUG задана в проекте?
2. Задан правильный тип опции?
3. Задан процесс отладки проекта в студии?

Я из студии ничего не собирал (использую Eclipse+winavr). Для отладки в студии создавал проект, имея все необходимые для отладки файлы.
Попробуйте использовать для начала симулятор, даже не симулятор2. Для отладки нужны несколько файлов, включая *.c, *.coff, *.elf и их расположение на диске не может быть произвольным по директориям.
dowhile
Цитата(mdmitry @ Mar 2 2009, 20:48) *
Я из студии ничего не собирал

Я тоже. Потому и прошу подправить мэйк для компиляции из PN в WinAVR

Цитата(mdmitry @ Mar 2 2009, 20:48) *
Попробуйте использовать для начала симулятор, даже не симулятор2. Для отладки нужны несколько файлов, включая *.c, *.coff, *.elf и их расположение на диске не может быть произвольным по директориям.

Когда .cof правильный его просто открываешь в студии и "поехали", тоже и в ВМЛАБ и в ПРОТЕУС.

А тут он создается но во всех ТРЕХ прогах нету исходника на Си.
mdmitry
Цитата(dowhile @ Mar 2 2009, 21:06) *
Когда .cof правильный его просто открываешь в студии и "поехали", тоже и в ВМЛАБ и в ПРОТЕУС.

А тут он создается но во всех ТРЕХ прогах нету исходника на Си.


Давно было, не помню, открывал ли coff? Скорее elf.

У меня опция:
DEBUG = dwarf-2
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.