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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
mdmitry
сообщение Jun 26 2007, 09:56
Сообщение #16


Начинающий профессионал
*****

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



Из makefile:
SRC = сюда файлы для компиляции через пробел, указать полный пуль к необходимым исходникам от avrlib ( типа $AVRLIB\xxx.c)
EXTRAINCDIRS = указать директорию, где лежат *.h от avrlib
LDFLAGS к этому ключу при необходимости добавить указания на библиотеки.

удачи.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
bullit
сообщение Jun 26 2007, 10:13
Сообщение #17


пуля
****

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



Спасибо. Только перед этим хотел проверить эту директиву.
А вот по поводу строки $AVRLIB\xxx.c , её так нужно писать или так: $(AVRLIB)\xxx.c ? Я конечно проверю, но в makefile написанно с скобках.
И по поводу LDFLAGS, какие библиотеки сюда подключаются. Если можно в примере.
Go to the top of the page
 
+Quote Post
bullit
сообщение Jun 26 2007, 11:26
Сообщение #18


пуля
****

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



Что-то не помогло. Может кто скинет пример. так чеб все видно было. + структуру катологов. Где проекты и где avrlib с WinAVR.
Ошибка не исчезла: undefined reference to `uartInit'
Все как выше написанно сделал. Не помогает.
Работа стоит.
Заранее большое спасибо.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jun 27 2007, 11:59
Сообщение #19


Начинающий профессионал
*****

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



В makefile для include
EXTRAINCDIRS = $(AVRLIB)/conf $(AVRLIB)

Исходники от AVRLIB я не смог скомпилировать указав что-то похожее
SRC = test1.c test2.c $(AVRLIB)/uart2.c
Make ругается на цели, похоже не любит исходники в разных директориях. Даже указание полного пути к test2.c приводит к ошибке.
Возможный путь решения:
IMHO: avrlib дается в исходниках, то соответствующие xxx.c в рабочий каталог, а в makefile их добавить и указать EXTRAINCDIRS = $(AVRLIB)/conf $(AVRLIB)
В этом случае все собирается. Библиотека универсальная. Например, работа с COM портом сильно навороченная (буферы). Можно взять идеи и сделать покороче и быстрее, о чем в форуме уже говорилось.

успехов.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
bullit
сообщение Jun 27 2007, 12:09
Сообщение #20


пуля
****

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



Именно тот способ что вы предлагаете у меня и за работал изначально. Просто я считал, что можно и без переносов файлов. Просто указал пути и всё. А может быть тому причина наклон слеша. В хелпе написанно обратный слеш. Не пробывали.
Кстати тоже примеры из АВРЛИБа не компилировались - странно.
Думаю перенести папку с АВРЛИБом в WINAVR - может поможет. Одним словом танцы с бубном и тыканье пальца...
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jun 27 2007, 18:53
Сообщение #21


Начинающий профессионал
*****

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



Цитата(bullit @ Jun 27 2007, 16:09) *
А может быть тому причина наклон слеша. В хелпе написанно обратный слеш. Не пробывали.
Кстати тоже примеры из АВРЛИБа не компилировались - странно.
Думаю перенести папку с АВРЛИБом в WINAVR - может поможет. Одним словом танцы с бубном и тыканье пальца...

Слэшы пробовал оба, не прошло.
Перенос папки скорее всего не поможет.
Сам AVRLIB довольно старый по времени создания, в нем используются старые макро. Современный WINAVR более "строгий". Я включаю почти все предупреждения и на AVRLIB их идет масса, причем не всегда безобидных. Для своих проектов не использую AVRLIB.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
bullit
сообщение Jun 27 2007, 19:10
Сообщение #22


пуля
****

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



Не используете их в чистом виде? Или используете в переработанном виде?
А как avrlib подключать в AVRStudio? Где именно? И главное как?
Чтоб такой проблемы не было.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jun 28 2007, 20:36
Сообщение #23


Начинающий профессионал
*****

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



Цитата(bullit @ Jun 27 2007, 23:10) *
Не используете их в чистом виде? Или используете в переработанном виде?
А как avrlib подключать в AVRStudio? Где именно? И главное как?

Не использую, библиотека универсальная в ущерб скорости (IMXO), идеи работы хорошие, их и использую. Например, UART на мой взгляд наворочен сильно, своя версия с кольцевыми буферами быстрее работает.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jun 29 2007, 10:49
Сообщение #24


Начинающий профессионал
*****

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



В добавлении к предыдущему:
Для компиляции из нескольких мест можно использовать VPATH, надо только аккуратно обойтись с путями для объектных файлов (команда notdir).
В приложении описания GNU make на русском с примерами, надеюсь поможет подправить Вам свой makefile.
Прикрепленные файлы
Прикрепленный файл  gnumake.zip ( 178 килобайт ) Кол-во скачиваний: 254
 


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
bullit
сообщение Jun 29 2007, 10:54
Сообщение #25


пуля
****

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



Большое спасибо.
Как не крути, а на первых парах лучше разобраться как роботает чужой код, чем его править.
Пока все не заработает как нужно, переделкой либа я не буду заниматься. А там глядиш и не надо будет.
Go to the top of the page
 
+Quote Post
Maddy
сообщение Jun 29 2007, 15:52
Сообщение #26


Участник
*

Группа: 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 wink.gif

Цитата(bullit @ Jun 26 2007, 12:28) *
Гы. С ангельским не очень дружу.
Пойду смотреть дальше. Просто думал кто подскажет. Придется самому, нет времени. програмирую в свободное время, которого нет.

opennet
и Программа управления компиляцией GNU make 3.73- Старовато , но для начала сойдет wink.gif
Go to the top of the page
 
+Quote Post
bullit
сообщение Jun 29 2007, 17:09
Сообщение #27


пуля
****

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



Спасибо большое.
Всё это актуально. + тому кто сюда придет с таким же вопросом

А как avrlib использовать в проектах AVRStudio.
Если там она запахает, буду студию использовать.
Бегаю между PN из WinAVR и Студией.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jun 29 2007, 20:27
Сообщение #28


Начинающий профессионал
*****

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



Цитата(bullit @ Jun 29 2007, 21:09) *
А как avrlib использовать в проектах AVRStudio.
Если там она запахает, буду студию использовать.
Бегаю между PN из WinAVR и Студией.

Я использую в качестве IDE Eclipse. Мне нравится больше, чем PN и редактор от AVRStudio. Где-то на форуме вопрос о IDE уже поднимался.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
bullit
сообщение Jun 29 2007, 20:29
Сообщение #29


пуля
****

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



Поисчу обезательно.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 01:28
Рейтинг@Mail.ru


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