avr/io.h ошибка "No such file or directory" при компиляции с использованием avr-gcc
Я пытаюсь использовать atmega328p как отдельный микрочип и запрограммировать его. Я использую Arduino Uno в качестве ISP. Я написал простую программу, чтобы проверить ее, однако, когда я пытаюсь скомпилировать ее с помощью
avr-gcc -mmcu=atmega328p -o main.out main.c
Я получаю сообщение об ошибке:
main.c:1:20: fatal error: avr/io.h: No such file or directory
compilation terminated.
Я использую OpenSUSE Leap 42.3 и установил avr-gcc, avr-libc.
Мой код:
#include <avr/io.h>
int main() {
DDRB = 1;
PORTB = 1;
}
Заранее спасибо!
@404response, 👍0
Обсуждение1 ответ
▲ 1
Я предполагаю, что вы начали с набора инструментов Arduino, установленного на вашем компьютере.
Попробуйте явно включить файлы заголовков в путь включения с помощью переключателя -I
.
avr-gcc -mmcu=atmega328p -I /path/to/avr/include -o main.out main.c
Просто найдите файл io.h
. Он должен быть где-то рядом с тем местом, где вы нашли компилятор.
,
@RubberDuck
Смотрите также:
- Запуск С для ардуино
- Как включить библиотеки Arduino с помощью AVR-gcc без IDE?
- Как создать проект ардуино с несколькими исходными файлами?
- Чтение последовательных данных с Arduino с помощью кода C
- AVRdude неправильно считывает значения байтов предохранителя
- Чередовать дизассемблирование + исходник с avr-objdump
- программирование ардуино на чистом с
- Ошибка компиляции с использованием arduino-mk в Arch Linux (неопределенная ссылка на __dso_handle)
Вы установили avr-libc?, @Majenko
Вы можете использовать Arduino IDE для компиляции таких программ. Что возражает против этого?, @Nick Gammon
@NickGammon есть много причин избегать IDE. https://christopherjmccellan.wordpress.com/2018/02/16/test-driving-arduino/, @RubberDuck
[Мнение] Если вы хотите (ИМХО, в миллион раз) лучшую среду разработки, чем Arduino IDE, начните использовать PlatformIO. Автоматически создает файлы проектов для всех возможных IDE, загружает необходимые компиляторы и фреймворки, «просто работает» без забот., @Maximilian Gerhardt
@RubberDuck - ну ... жалоба на «IDE», которая SoftwareSerial отключает прерывания, вряд ли является ошибкой IDE. И IDE поддерживает использование другого редактора. Это не самая лучшая IDE, которую я видел, но она легко создает файлы .hex, готовые к загрузке (и действительно загружает их, если вы этого хотите)., @Nick Gammon
@NickGammon Я признаю, что это больше жалоба на Arduino, чем на Arduino IDE, и да, она довольно хороша для загрузки, но вы все равно не можете писать и запускать тесты, если не скомпилируете ее самостоятельно., @RubberDuck