|
Работа с WinAVR+AVRStudio4.12+avrlib, Не могу использовать библиотеки. |
|
|
|
Mar 6 2006, 18:23
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 17-06-04
Пользователь №: 36

|
Решил я перейти с Асма на С. Поставил WinAVR, avr-lib. Пишу в AVRStudio 4.12. Все бы хорошо, но решил использовать библиотеки из avr-lib (http://hubbard.engr.scu.edu/embedded/avr/avrlib/). При использовании библиотек (например uart/h) компиллер выдает ошибки. Помогите неучу, только сильно не пинайте, как подключать библиотеки ьакого плана, где есть .h файл и описание функций в .c файле.
Интересно поподробнее узнать как это все работает. Пробовал CodeVision, но там он сам все как-то делает, что мне не нравится. Хочется процес контролировать.
Сообщение отредактировал MRW - Mar 6 2006, 18:37
|
|
|
|
|
Mar 7 2006, 09:07
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 17-06-04
Пользователь №: 36

|
Все используеиые компоненты .c подключать в AVRStudio (Add to file)? Я думал он сам понимает, что подключать.
|
|
|
|
|
Mar 7 2006, 12:43
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 17-06-04
Пользователь №: 36

|
Спасибо большое, а то я кучу времени пытался это победить. Теперь пошло.
|
|
|
|
|
Jun 23 2007, 11:23
|

пуля
   
Группа: Свой
Сообщений: 674
Регистрация: 10-05-06
Из: Уфа
Пользователь №: 16 959

|
Папка с моими программами находится не в папке с WinAvr и Avrlib. Структура папок в приложенном файле. Подключил его так: #include <AVRLib/uart.h> и в "" заключал и прямой путь указывал, все бестолку И в мейк файле, через Mfile.exe, дабавлял uart.c файл? как сишный сорс. Ошибка такая: uartproba.c:11:25: warning: AVRLib/uart.h: No such file or directoryЧто нетак делаю. Притом программы экземплы внутри avrlib выполняются. Что теперь пути менять, но как? И почему это происходит? Объясните пожалуйста. Переменная среды как AVRLIB есть. Или такую ошибку: make: *** No rule to make target `uartproba.elf', needed by `elf'. Stop.
Прикрепленные изображения
|
|
|
|
|
Jun 24 2007, 12:46
|
Группа: Новичок
Сообщений: 8
Регистрация: 7-04-07
Из: Пермь
Пользователь №: 26 848

|
Цитата(bullit @ Jun 23 2007, 14:23)  #include <AVRLib/uart.h> и в "" заключал и прямой путь указывал, все бестолку И в мейк файле, через Mfile.exe, дабавлял uart.c файл? как сишный сорс. Ошибка такая: uartproba.c:11:25: warning: AVRLib/uart.h: No such file or directory путь указан не верно прописать полный путь #include <d:\dev\avr\AVRLib\uart.h> или #include <..\AVRLib\uart.h> Цитата Или такую ошибку: make: *** No rule to make target `uartproba.elf', needed by `elf'. Stop. хз, может косяк с makefile. попробовать создать при помощи входящей в комплект winavr утилиты MFile [WinAVR]
|
|
|
|
|
Jun 24 2007, 21:13
|

пуля
   
Группа: Свой
Сообщений: 674
Регистрация: 10-05-06
Из: Уфа
Пользователь №: 16 959

|
Выглядит эта строка в мейкфайле так? Код ########### you should not need to change the following line ############# include bla-bla-bla И почему ругается на это: $(AVRLIB)/ в майкфайле? Хотя переменная среды существует. Avrlib конечно заработал, но после того как я все его файлы кторые упоминались в инклудах себе в папку запихал. А нельзя без такого гемороя?
|
|
|
|
|
Jun 25 2007, 06:47
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Цитата(bullit @ Jun 25 2007, 01:13)  Выглядит эта строка в мейкфайле так? Код ########### you should not need to change the following line ############# include bla-bla-bla Конечно не так! Для утилиты make существуют свои правила написания makefile. -I и другие команды. В файле существуют комментированные строки с описанием того, что за команда. Их можно раскомментировать и дополнить. Почитайте, пожалуйста, документацию к этой утилите. С помощью нее можно много чего делать.
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
Jun 27 2007, 18:53
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Цитата(bullit @ Jun 27 2007, 16:09)  А может быть тому причина наклон слеша. В хелпе написанно обратный слеш. Не пробывали. Кстати тоже примеры из АВРЛИБа не компилировались - странно. Думаю перенести папку с АВРЛИБом в WINAVR - может поможет. Одним словом танцы с бубном и тыканье пальца... Слэшы пробовал оба, не прошло. Перенос папки скорее всего не поможет. Сам AVRLIB довольно старый по времени создания, в нем используются старые макро. Современный WINAVR более "строгий". Я включаю почти все предупреждения и на AVRLIB их идет масса, причем не всегда безобидных. Для своих проектов не использую AVRLIB.
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
Jun 29 2007, 10:49
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
В добавлении к предыдущему: Для компиляции из нескольких мест можно использовать VPATH, надо только аккуратно обойтись с путями для объектных файлов (команда notdir). В приложении описания GNU make на русском с примерами, надеюсь поможет подправить Вам свой makefile.
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
Jun 29 2007, 15:52
|
Участник

Группа: Validating
Сообщений: 56
Регистрация: 15-10-06
Пользователь №: 21 335

|
Если еще актуально Код AVRLIB=C:\Programming\AvrLib
AVRLIBMODULES = buffer.c uart.c rprintf.c timer.c vt100.c debug.c cmdline.c extint.c VPATH = .:$(AVRLIB)
SRC = main.c intelIf2.c $(AVRLIBMODULES) Кусок рабочего makefile  Цитата(bullit @ Jun 26 2007, 12:28)  Гы. С ангельским не очень дружу. Пойду смотреть дальше. Просто думал кто подскажет. Придется самому, нет времени. програмирую в свободное время, которого нет. opennetи Программа управления компиляцией GNU make 3.73- Старовато , но для начала сойдет
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|