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

 
 
> WinAVR и проект AVR-CDC, помогите с перекомпиляцией
ozzy
сообщение Aug 2 2006, 08:28
Сообщение #1


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

Группа: Участник
Сообщений: 88
Регистрация: 14-03-06
Из: Житомир (UA)
Пользователь №: 15 228



Скачал проект с http://www.recursion.jp/avrcdc/index.html но не могу заново перекомпилировать с помощью WinAVR 20060421.
WinAVR выдает ошибку
Цитата
> "make.exe" all
Makefile:86: no file name for `-include'
make.exe: *** No rule to make target `../usbdrv/usbdrv.c', needed by `usbdrv.o'. Stop.

> Process Exit Code: 2

Делал так как сказал автор:
Цитата
This driver has been developed on AVR Studio 4.12 and WinAVR 20060421.
Create new GCC project named "cdctiny" or "cdcmega" under "avrcdc/" without
creating initial file.
Select each Makefile at "Configuration Options".

Правда пришлось переименовывать MakeFile в Makefile biggrin.gif
И еще: не могу никак попасть в "Configuration Options" пишет что нет таких. huh.gif
Помогите плиз у кого есть опыт работы с WinAVR.
То что скачал с выше указанного сайта прилагаю
[attachment=6503:attachment]
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
beer_warrior
сообщение Aug 2 2006, 08:55
Сообщение #2


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
Makefile:86: no file name for `-include'

Скорее всего пустой ключ -I
Приведите строки 80-90 из мэйкфайла.
Цитата
make.exe: *** No rule to make target `../usbdrv/usbdrv.c', needed by `usbdrv.o'. Stop.

А вот здесь скорее всего неправильно указан путь к usbdrv.c

Проверьте все пути к проекту.

Сообщение отредактировал beer_warrior - Aug 2 2006, 09:00


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
ozzy
сообщение Aug 2 2006, 09:09
Сообщение #3


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

Группа: Участник
Сообщений: 88
Регистрация: 14-03-06
Из: Житомир (UA)
Пользователь №: 15 228



Привожу листинг Makefile:
Код
###############################################################################
# Makefile for the project cdctiny
###############################################################################

## General Flags
PROJECT = cdcmega
MCU = atmega48
TARGET = $(PROJECT).elf
CC = avr-gcc.exe

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

## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall                                                                               -DF_CPU=12000000UL  -O2 -fsigned-char

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

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


## Intel Hex file production flags
HEX_FLASH_FLAGS = -R .eeprom


## Include Directories
INCLUDES = -I"." -I"..\usbdrv" -I"..\."

## Objects that must be built in order to link
OBJECTS = usbdrv.o usbdrvasm.o oddebug.o uart.o sw-uart-asm.o sw-uart.o main.o

## Objects explicitly added by the user
LINKONLYOBJECTS =

## Build
all: $(TARGET) $(PROJECT).hex $(PROJECT).lss size

## Compile
usbdrv.o: ../usbdrv/usbdrv.c
    $(CC) $(INCLUDES) $(CFLAGS) -c  $<

usbdrvasm.o: ../usbdrv/usbdrvasm.S
    $(CC) $(INCLUDES) $(ASMFLAGS) -c  $<

oddebug.o: ../usbdrv/oddebug.c
    $(CC) $(INCLUDES) $(CFLAGS) -c  $<

uart.o: ../uart.c
    $(CC) $(INCLUDES) $(CFLAGS) -c  $<

sw-uart-asm.o: ../sw-uart-asm.S
    $(CC) $(INCLUDES) $(ASMFLAGS) -c  $<

sw-uart.o: ../sw-uart.c
    $(CC) $(INCLUDES) $(CFLAGS) -c  $<

main.o: ../main.c
    $(CC) $(INCLUDES) $(CFLAGS) -c  $<

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

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

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

size: ${TARGET}
    @echo
    @avr-size -C --mcu=${MCU} ${TARGET}

## Clean target
.PHONY: clean
clean:
    -rm -rf $(OBJECTS) $(PROJECT).*


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


И повторно вложение:
Прикрепленный файл  AVR_CDC.2006_07_18.zip ( 115.69 килобайт ) Кол-во скачиваний: 153
Go to the top of the page
 
+Quote Post
aesok
сообщение Aug 2 2006, 10:01
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



У меня проект успешно собрался.

Код
Makefile:86: no file name for `-include'
avr-gcc.exe -I"." -I"..\usbdrv" -I"..\."  -mmcu=atmega48 -Wall
                                                             -DF_CPU=12000000UL
-O2 -fsigned-char -c  ../usbdrv/usbdrv.c
...


Ошибка на линии 86 есть, но это не помешало. У вас сохранилась структура каталогов при распоковке архива?

Анатолий.
Go to the top of the page
 
+Quote Post
ozzy
сообщение Aug 2 2006, 10:53
Сообщение #5


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

Группа: Участник
Сообщений: 88
Регистрация: 14-03-06
Из: Житомир (UA)
Пользователь №: 15 228



Структура каталогов сохранилась. Вот мой порядок действий:
1. Распаковую папку avrcdc из архива на диск D:\
2. C каталога cdcmega в каталог avrcdc копирую файл MakeFile
3. Переименовываю MakeFile в Makefile
4. Запускаю Programmers Notepad WinAvr
5. Создаю новый проект cdcmega и указваю папку D:\avrcdc
6. Добавляю в проект файл D:\avrcdc\main.c
7. Запускаю TOOLS->WINAVR[Make All]
8. blink.gif Получаю
Цитата
> "make.exe" all
Makefile:86: no file name for `-include'
make.exe: *** No rule to make target `../usbdrv/usbdrv.c', needed by `usbdrv.o'. Stop.

> Process Exit Code: 2
> Time Taken: 00:00


Что я не так делаю help.gif help.gif help.gif
Go to the top of the page
 
+Quote Post
aesok
сообщение Aug 2 2006, 11:12
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(ozzy @ Aug 2 2006, 14:53) *
Структура каталогов сохранилась. Вот мой порядок действий:
1. Распаковую папку avrcdc из архива на диск D:\
2. C каталога cdcmega в каталог avrcdc копирую файл MakeFile

Копировать MakeFile в другую директорию нельзя, в нем указаны относитальные пути. Поэтому make и не может нйти файл `../usbdrv/usbdrv.c'. Надо запускать make в директории 'avrcdc\cdcmega' или 'avrcdc\cdcmega'.
Цитата
3. Переименовываю MakeFile в Makefile
4. Запускаю Programmers Notepad WinAvr
5. Создаю новый проект cdcmega и указваю папку D:\avrcdc

Укажите папку 'avrcdc\cdcmega' или 'avrcdc\cdcmega'.
Цитата
6. Добавляю в проект файл D:\avrcdc\main.c

Проще добавить в проект уже существующий файл, например 'avrcdc\cdcmega\usbconfig.h'

Цитата
7. Запускаю TOOLS->WINAVR[Make All]
8. blink.gif Получаю
Цитата
> "make.exe" all
Makefile:86: no file name for `-include'
make.exe: *** No rule to make target `../usbdrv/usbdrv.c', needed by `usbdrv.o'. Stop.

> Process Exit Code: 2
> Time Taken: 00:00


У меня сейчас нет Programmers Notepad-а, так что пункты 5 и 6 я не проверял.

Анатолий

Сообщение отредактировал aesok - Aug 2 2006, 11:14
Go to the top of the page
 
+Quote Post
ozzy
сообщение Aug 2 2006, 11:44
Сообщение #7


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

Группа: Участник
Сообщений: 88
Регистрация: 14-03-06
Из: Житомир (UA)
Пользователь №: 15 228



Получилось.......
Ошибка в 86 строчке есть но самое главное что компилируется

Для Atmega8

1. Распаковую папку avrcdc из архива на диск D:\
2. В каталоге Переименовываю MakeFile в Makefile
3. Изменяю в Makefile строчку MCU = atmega8
4. Запускаю Programmers Notepad WinAvr
5. Создаю новый проект cdcmega и указваю папку D:\avrcdc\cdcmega
6. Добавляю в проект файл D:\avrcdc\cdcmega\usbconfig.h
7. Запускаю TOOLS->WINAVR[Make All]
8. Наслаждаемся результатом

Спасибо Анатолию cheers.gif cheers.gif cheers.gif

Вопрос исчерпан.
Go to the top of the page
 
+Quote Post

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

 


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


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