Например TDA7294

Форум РадиоКот • Просмотр темы - AVR-GCC (Linux) не видит заголовочные файлы.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 15:03:17

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 30 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 19:05:12 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вс окт 20, 2019 13:03:56
Сообщений: 227
Рейтинг сообщения: 0
В общем, компилятор выдает ошибки, типа
Код:
 avr_test.c: In function 'setup':
avr_test.c:5:2: error: 'DDRB' undeclared (first use in this function)
  DDRB |= (1 << PB4);

Что говорит о том что он не видит .h файлы.
Сами .h файлы физически есть, в /usr/avr/include
Когда-то я этот успешно решил, но что я тогда сделал - убей, не помню. где-то в линуксе писал пути к этим бибилиотекам. Пробовал установливать PATH в /usr/avr и /usr/avr/include, но не помогает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 19:41:03 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
А почему они там, а не в /usr/lib/avr/include/ ?
Ну можно, конечно, в makefile прописать -I/usr но это как-то странно


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 20:07:37 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
Что говорит о том что он не видит .h файлы.

Нет. Конкретно сообщение выше говорит о том, что DDRB не определено. Что скорее всего означает, что вы забыли сделать #include <avr/io.h>
Если бы этого файла не было бы, компилятор ругался именно на отсутствие вкладываемого .h файла через #include, что если и было, то вы показали не ту ошибку.

Добавлено after 1 minute 21 second:
PS: Но на всякий случай путь для #include прописывается в переменной окружения CPATH, а не PATH.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 20:12:03 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вс окт 20, 2019 13:03:56
Сообщений: 227
Рейтинг сообщения: 0
COKPOWEHEU писал(а):
А почему они там, а не в /usr/lib/avr/include/

Не знаю, это не я, это пакетный менеджер. А че он там делает, я не разбираюсь.
В любом случае, скопировать их в /usr/lib/avr/include тоже не помогло.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 20:14:08 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
Shuspano, не с той стороны заходите, не страдайте ерундой. В сообщении об ошибке ни слова о не нахождении .h файла.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 20:15:10 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вс окт 20, 2019 13:03:56
Сообщений: 227
Рейтинг сообщения: 0
NStorm писал(а):
Что скорее всего означает, что вы забыли сделать #include <avr/io.h>

Это слишком просто. Разумеется, я не забыл


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 20:21:00 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
Значит ключиками компилятора забыли указать -mmcu.

Добавлено after 2 minutes 4 seconds:
Если бы gcc не мог найти файла по #include, он бы ругнулся так:
Код:
fatal error: avr/io.h: No such file or directory

и дальше не стал бы даже пытаться скомпилировать файл!
Значит проблема не в нахождении файла, а в его "содержимом". В данном случае avr/io.h содержит очень много #ifdef зависящих от модели МК, которая как раз передается ключиком -mmcu правильным. Если этого не сделать, файл для компилятора подключится, но окажется условно почти пустым. Поэтому и такие ошибки могут быть.

Добавлено after 2 minutes 41 second:
А, ну еще вариант конечно что -mmcu есть, но там указана модель МК в которой в принципе нет DDRB. Какая-нибудь тинька малоногая, к примеру.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 20:36:34 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вс окт 20, 2019 13:03:56
Сообщений: 227
Рейтинг сообщения: 0
Во, все. Подключил диск с вендой, скопировал библиотеки от вендового тулчейна. Так больше не ругается. Теперь иначе:
Код:
lester@sex-machine ~/hwd/AVR $ avr-gcc -Os -mmcu=attiny13 avr_test.c
In file included from avr_test.c:2:0:
/usr/avr/include/util/delay.h:90:3: warning: #warning "F_CPU not defined for <util/delay.h>" [-Wcpp]
 # warning "F_CPU not defined for <util/delay.h>"
   ^
avr_test.c:4:0: warning: "F_CPU" redefined [enabled by default]
 #define F_CPU 9600000UL
 ^
In file included from avr_test.c:2:0:
/usr/avr/include/util/delay.h:91:0: note: this is the location of the previous definition
 # define F_CPU 1000000UL
 ^


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 20:44:06 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
#define F_CPU должен стоять ДО #include <util/delay.h>.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 20:54:18 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вс окт 20, 2019 13:03:56
Сообщений: 227
Рейтинг сообщения: 0
благодарю, все работает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Вт мар 30, 2021 22:17:40 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Цитата:
#define F_CPU должен стоять ДО #include <util/delay.h>
Вот не надо тащить повсюду ардуинские привычки!
F_CPU должен быть описан в makefile ключом коспилятора, например,
-DF_CPU=12000000


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Ср мар 31, 2021 06:34:40 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
COKPOWEHEU, какие нахрен ардуиновские привычки? Когда именно там его и задают в Makefile. Кто сказал, что "должен"?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Ср мар 31, 2021 07:44:05 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
NStorm, те самые, которые заставляют выбирать странные решения.
Представьте, что вы написали библиотеку - придется еще к ней в заголовочный файл вписывать частоту. А потом в один прекрасный момент забудете и будет у вас одна периферия считать что частота камня 1 МГц, а вторая - что 8 МГц.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Ср мар 31, 2021 08:51:52 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
COKPOWEHEU, а ничего, что именно в ардуине F_CPU вручную вписывать не надо, оно ключиком -D задается исходя из описалова в boards.txt? Я в курсе, что задавать это лучше в Makefile, только у ТС явно было уже задано в файле, исходя из ошибки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Ср мар 31, 2021 09:22:25 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Цитата:
Я в курсе, что задавать это лучше в Makefile, только у ТС явно было уже задано в файле, исходя из ошибки.
И поэтому вы вместо того чтобы подсказать "как надо" подсказали "абы как лишь бы работало"?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Ср мар 31, 2021 09:38:07 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -25
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2525
Рейтинг сообщения: 0
COKPOWEHEU, а ничего, что именно в ардуине F_CPU вручную вписывать не надо, оно ключиком -D задается исходя из описалова в boards.txt?

И кто "скажет" make'у, что нужные дефайны требуется брать из некоего файла?
Более идеальным вариантом было бы Makefile генерировать cmake'ом, но для мелкоты и так сойдет.

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Ср мар 31, 2021 10:10:42 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вс окт 20, 2019 13:03:56
Сообщений: 227
Рейтинг сообщения: 0
Может есть какой-то правильный способ, я не знаю. Но мне не хочется все усложнять, работает и ладно, и так сойдет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Ср мар 31, 2021 11:56:54 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
COKPOWEHEU, вот вам новые претенденты, до которых можно докопаться:
Изображение

И кто "скажет" make'у, что нужные дефайны требуется брать из некоего файла?

Система сборки IDE генерит Makefile на основе boards.txt. Как там правильнее, пойди расскажи на arduino.cc, это они придумали, а не мы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Ср мар 31, 2021 12:31:06 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Цитата:
И кто "скажет" make'у, что нужные дефайны требуется брать из некоего файла?
make по умолчанию выполняет скрипт из makefile, ему ничего для этого говорить не надо.
Или вы о чем спрашивали-то? Кто в makefile будет частоту прописывать? Программист, очевидно. Так же как прочие ключи компиляции, имя камня и список исходников.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR-GCC (Linux) не видит заголовочные файлы.
СообщениеДобавлено: Ср мар 31, 2021 17:13:53 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -25
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2525
Рейтинг сообщения: 0
Система сборки IDE генерит Makefile на основе boards.txt

В общем, все не как у людей!

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Demiurg и гости: 26


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y