Перейти к содержанию
    

Работа с WinAVR+AVRStudio4.12+avrlib

Решил я перейти с Асма на С. Поставил WinAVR, avr-lib. Пишу в AVRStudio 4.12.

Все бы хорошо, но решил использовать библиотеки из avr-lib (http://hubbard.engr.scu.edu/embedded/avr/avrlib/).

При использовании библиотек (например uart/h) компиллер выдает ошибки.

Помогите неучу, только сильно не пинайте, как подключать библиотеки ьакого плана, где есть .h файл и описание функций в .c файле.

 

Интересно поподробнее узнать как это все работает. Пробовал CodeVision, но там он сам все как-то делает, что мне не нравится. Хочется процес контролировать.

Изменено пользователем MRW

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как подключать библиотеки ьакого плана, где есть .h файл и описание функций в .c файле.

.c подключить к проекту, а заголовки .h присоединять с помощью include "путь\имя.h"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все используеиые компоненты .c подключать в AVRStudio (Add to file)?

Я думал он сам понимает, что подключать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

#include <x> включает текст файла x на место директивы.

.с .lib .obj файлы должны явно указываться чтобы попасть в компиляцию

Советую поиграться с родными для дистрибутива Prog Notepad и MFile

тогда процесс сборки станет понятным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Люди добрые помогите. Я только учусь.

Установил AvrLib, WinAvr. WinAvr работает без проблем. Пишу в NP.

Решил подключить avrlib.

Но он у меня сразу ошибки нашел, это мол не так, то нетак.

Может нужно использовать только его библиотеки, или они лиш дополнения к основным.

WinAvr и drvlib самые последние.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Люди добрые помогите. Я только учусь.

Установил AvrLib, WinAvr. WinAvr работает без проблем. Пишу в NP.

Решил подключить avrlib.

Но он у меня сразу ошибки нашел, это мол не так, то нетак.

Может нужно использовать только его библиотеки, или они лиш дополнения к основным.

WinAvr и drvlib самые последние.

Какие ошибки? Может быть библиотеки в makefile не указаны для линкера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Папка с моими программами находится не в папке с 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.

post-16959-1182597013.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

#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]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я тут еще не пробывал. Но говорят файлик global.h надо кидать в папку с проектом.

Так? И какие воопче надо делать процедуры, чтоб проект запахал.

 

makefile делаю именно утилитой MFile.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как-то использовать avrlib-овский мейкфайл нужно. Или с помощью утилиты MFile.exe как нибудь настраивать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В makefile можно, а в Вашем нужно указать директорию для дополнительных includ'ов. Есть строка в файле, добавить также, что надо линковать из дополнительных библиотек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выглядит эта строка в мейкфайле так?

########### you should not need to change the following line #############
include bla-bla-bla

 

И почему ругается на это: $(AVRLIB)/ в майкфайле? Хотя переменная среды существует.

 

Avrlib конечно заработал, но после того как я все его файлы кторые упоминались в инклудах себе в папку запихал. А нельзя без такого гемороя?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выглядит эта строка в мейкфайле так?

########### you should not need to change the following line #############
include bla-bla-bla

Конечно не так! Для утилиты make существуют свои правила написания makefile. -I и другие команды.

В файле существуют комментированные строки с описанием того, что за команда. Их можно раскомментировать и дополнить. Почитайте, пожалуйста, документацию к этой утилите. С помощью нее можно много чего делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гы. С ангельским не очень дружу.

Пойду смотреть дальше. Просто думал кто подскажет. Придется самому, нет времени. програмирую в свободное время, которого нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...