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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Как устроен makefile для WINAVR, Помогите начинающему разoбраться в WINAVR
_Diman_
сообщение Sep 25 2006, 21:28
Сообщение #16


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

Группа: Свой
Сообщений: 92
Регистрация: 8-03-05
Пользователь №: 3 160



Посмотрите в WinAVR-user-manual пункт 2.3 PATH Environment Variable. Или панель управления-система-дополнительно-переменные среды. В переменную Path довавить C:\WINAVR\BIN;C:\WINAVR\UTILS\BIN
Go to the top of the page
 
+Quote Post
sseett
сообщение Sep 26 2006, 03:46
Сообщение #17


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

Группа: Участник
Сообщений: 165
Регистрация: 14-01-05
Из: РФ Приморский край (рег.25)
Пользователь №: 1 939



Возможно это поможет.
http://www.sapunoff.ru/1_top/mk/mk04.html
Удачи!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 26 2006, 05:55
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Alex_D @ Sep 25 2006, 23:42) *
Похоже что компилятор не видит исходника.

1. Сообщение не компилятора а make
2. Сообщение отностится не к исходнику а к отсутствию правила по которому создавать обьектный файл - о до наличия исходника из которого создавать дело вообще пока не дошло.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Alex_D
сообщение Sep 26 2006, 06:50
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 24-09-06
Пользователь №: 20 644



Цитата(_Diman_ @ Sep 26 2006, 00:28) *
Посмотрите в WinAVR-user-manual пункт 2.3 PATH Environment Variable. Или панель управления-система-дополнительно-переменные среды. В переменную Path довавить C:\WINAVR\BIN;C:\WINAVR\UTILS\BIN

При инстоляции WINAVR прописал выше упомянутое. В Autoexec тоже прописал пути как рекомендовано. Папку для рабочих проектов поместил в WINAVR. Результата нет.
Мало того компилирую родные проекты с папки SAMPELS происходит следующее.

Если сделать MakeALL не очищая папку то компиляция без ошибок.
> "make.exe" all
make.exe: Nothing to be done for `all'.
> Process Exit Code: 0
> Time Taken: 00:00

А еали
makeclean
> "make.exe" clean
rm -rf *.o demo.elf *.eps *.png *.pdf *.bak
rm -rf *.lst *.map *.hex *.bin *.srec
> Process Exit Code: 0
> Time Taken: 00:01

a потом makeall то результат следующий
> "make.exe" all
avr-gcc -g -Wall -O2 -mmcu=atmega8 -c -o demo.o demo.c
avr-gcc -g -Wall -O2 -mmcu=atmega8 -Wl,-Map,demo.map -o demo.elf demo.o
avr-objdump -h -S demo.elf > demo.lst
avr-objcopy -j .text -j .data -O ihex demo.elf demo.hex
avr-objcopy -j .text -j .data -O binary demo.elf demo.bin
avr-objcopy -j .text -j .data -O srec demo.elf demo.srec
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O ihex demo.elf demo_eeprom.hex
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O binary demo.elf demo_eeprom.bin
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O srec demo.elf demo_eeprom.srec

> Process Exit Code: 0
> Time Taken: 00:02

Компилятр что видит присуствие всех файлов и говорит что ему делать нечего?
Он их не переписывакт при makeall ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 26 2006, 07:18
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Alex_D @ Sep 26 2006, 09:50) *
Мало того компилирую родные проекты с папки SAMPELS происходит следующее.

Все происходит абсолютно правильно.
1. make all - НИЧЕГО вообще не делает, поскольку все уже сделано и ничего не менялось
Обращаю внимание, что 'all' и 'clean' это есть просто имена наборов действий описанных в makefile а отнюдь не какие-то встроенные ключи make, посему о правильности поведения при их задании судить можно только по тому КАК они описаны в конкретном makefile. В какой-то мере эти имена общеприняты и в общепринятом применении они выполняют разумные действия.
2. make clean - удалил указанные в makefile выходные файлы
3. make all - сделал все, что было описано в makefile для создания выходных файлов.

0. Ну почитайте наконец-то документацию.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Alex_D
сообщение Sep 26 2006, 09:32
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 24-09-06
Пользователь №: 20 644



Ошибка найдена!
Почемуто mfile при создании пути к исходному файлу прописывал в makefile только хвост пути
.../path/name.c
вручную ввел путь начиная от С: и все поехало. Для меня это странно.
Спасибо всем!
Go to the top of the page
 
+Quote Post
dimka76
сообщение Sep 27 2006, 07:09
Сообщение #22


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Лучше поставь AVRStudio 4.12 (www.atmel.com). Там есть возможность создавать проекты , компилировать и отлаживать на С/С++, при условии, если у тебя установлен WinAVR. И тогда не придется мучиться со всякими там makefile. Удачи !


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
ksv198
сообщение Sep 27 2006, 14:07
Сообщение #23


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

Группа: Участник
Сообщений: 177
Регистрация: 25-08-05
Из: Ставрополь
Пользователь №: 7 964



Цитата(Alex_D @ Sep 25 2006, 19:26) *
Начал изучать С++ с применением WINAVR по книге Шпака Программирование на языке Си для AVR и PIC (СD диска у меня нет) при первом же компилировании получил сообщение об ошибке

make.exe: *** No rule to make target `obj/main.o', needed by `sos.elf'. Stop.
> Process Exit Code: 2
> Time Taken: 00:01

Думаю что ,что то не так в makefile. Я взял этот файл с какогото примера похожего и задал 3 параметра
как описано в книге но не тут то было. В книге Шпака есть несколько слов на эту тему но для файла
makefile приведенного на прилагаемом CD. Кто укажет где описан этот файл. Как с ним бороться?

Если сделать makefile с помощью утилиты MFile входящей в состав WINAVR обычно все путем, кроме одного - по умолчанию там стоит CPPSRC = main.cpp, а ваш исходник судя по приведенному называется sos.с . Если написать ручками SRC =sos.с , а в CPPSRC =, то все будет в порядке.
Go to the top of the page
 
+Quote Post
SCMM
сообщение Oct 2 2006, 13:51
Сообщение #24





Группа: Новичок
Сообщений: 1
Регистрация: 2-10-06
Пользователь №: 20 899



Некоторая хорошая информация о makefile для стартеров:
avr-gcc-abc-1


--------------------
Go to the top of the page
 
+Quote Post
Gennadiy_
сообщение Oct 3 2006, 16:26
Сообщение #25


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

Группа: Свой
Сообщений: 79
Регистрация: 13-01-06
Из: Москва
Пользователь №: 13 133



Почитал ветку, сходил по ссылке
http://www.sapunoff.ru/1_top/mk/mk04.html
беру пример кода из ссылки и по указанным шагам начинаю пробовать.

Получаю отлуп от Mfile при попытке указать в качестве исходника probe.c - я её так обозвал.
Руками правлю Make файл, настраиваю редактор, и... чудо, компиляция проходит без ошибок,
только на выходе получаю некий test...hex
Смотрю в Mfile, там галочка стоит при вводе пути источника, и указан test... снимаю галочку, делаю Make clean, проверяю пути к probe.c, получаю ошибку, код 2

читаю внимательно, нужно проверить переменную TARGET, прописываю переменную, но получаю тотже результат:

> "make" all
Makefile:398: *** target pattern contains no `%'. Stop.

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

ЧТО НЕ ТАК?


версия редактора2.0.6.1 , мануал 20060421
Go to the top of the page
 
+Quote Post
AVR_Amator
сообщение Oct 12 2006, 14:57
Сообщение #26





Группа: Новичок
Сообщений: 6
Регистрация: 12-10-06
Пользователь №: 21 255



Есть целый урок по созданию makefile для начинающих на http://avr.h15.ru
Go to the top of the page
 
+Quote Post

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

 


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


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