Всем доброго времени суток. Скачал этот проект на GitHub и у меня не получается скомпилировать его в Atmel Studio, не может найти файл fonts.h хотя он в сборке есть.
Error 1 fonts.h: No such file or directory F:\1Yra\Atmel Studio\primeri\4podkluhenie LCD\TFT-ILI9341\temp\bikecomp-glcd_lib\GccApplication1\GccApplication1\gui\icons.h 10 19 GccApplication1
Так как на скриншоте выглядит сборка в папке проекта Atmel Studio, пути к файлам в исходниках я не менял.
Подскажите пожалуйста в чем может быть причина? Очень интересный проект хотелось бы его сделать. Заранее спасибо всем за помощь.
Простой велокомпьютер с цветным графическим LCD
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Я бы посоветовал попробовать собрать в каталоге без пробелов в пути.
Хотя, дело скорее всего в том, что собирать пытаетесь в Atmel Studio. Хотя в проекте есть свой Makefile и собирать его нужно просто запуская "make" из каталога "src/". В этом случае работают прописанные там опции типа "CFLAGS += -Idisplay/fonts". Как и многие другие, обязательные для правильной компиляции.
Ну или найдите аналогичную настройку в Atmel Studio - где-то там должна быть настройка путей к .h файлам проекта. Но лучше без отсебятины в виде этой IDE, а просто собирать через make.
Хотя, дело скорее всего в том, что собирать пытаетесь в Atmel Studio. Хотя в проекте есть свой Makefile и собирать его нужно просто запуская "make" из каталога "src/". В этом случае работают прописанные там опции типа "CFLAGS += -Idisplay/fonts". Как и многие другие, обязательные для правильной компиляции.
Ну или найдите аналогичную настройку в Atmel Studio - где-то там должна быть настройка путей к .h файлам проекта. Но лучше без отсебятины в виде этой IDE, а просто собирать через make.
Re: Простой велокомпьютер с цветным графическим LCD
Спасибо что откликнулись. Перенес папку проекта на диск С. Путь стал короче все без пробелов. Выглядит это так.
Все равно выдает такую ошибку.Error 1 fonts.h: No such file or directory c:\GccApplication1\GccApplication1\gui\icons.h 10 19 GccApplication1
Прописал путь к файлу в Atmel Studio, он все видит и делает подсказки.
Все равно ошибка.
Error 1 display/fonts/fonts.h: No such file or directory c:\GccApplication1\GccApplication1\gui\icons.h 11 33 GccApplication1
Хотя вот сам файл есть, и он открывается. Вот он на скриншоте
И путь прописан правильно, как на скриншоте что выше. Что может быть - не пойму. Может нужно выбрать нужные файлы и сбросить в одну папку проекта Atmel Studio? Допустим только для работы с индикатором TFT-ILI9341? Вот сама сборка которую я пытаюсь скомпилировать.
Добавлено after 19 minutes 15 seconds:
Я не знаю как собрать через Makefile. Он у меня не активен и через него ничего не запускается.
Запускается сборка с помощью файла GccApplication1.atsln
Все равно выдает такую ошибку.Error 1 fonts.h: No such file or directory c:\GccApplication1\GccApplication1\gui\icons.h 10 19 GccApplication1
Прописал путь к файлу в Atmel Studio, он все видит и делает подсказки.
Все равно ошибка.
Error 1 display/fonts/fonts.h: No such file or directory c:\GccApplication1\GccApplication1\gui\icons.h 11 33 GccApplication1
Хотя вот сам файл есть, и он открывается. Вот он на скриншоте
И путь прописан правильно, как на скриншоте что выше. Что может быть - не пойму. Может нужно выбрать нужные файлы и сбросить в одну папку проекта Atmel Studio? Допустим только для работы с индикатором TFT-ILI9341? Вот сама сборка которую я пытаюсь скомпилировать.
Добавлено after 19 minutes 15 seconds:
Я не знаю как собрать через Makefile. Он у меня не активен и через него ничего не запускается.
Запускается сборка с помощью файла GccApplication1.atsln
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Просто нужно зайти в каталог src проекта и запустить "make". Естественно, и make.exe и avr-gcc.exe должны быть прописаны в переменную Path винды, раз уж Вы ей пользуетесь.
Для простоты, можно их установить через arm-avr-compilerV2.0.exe
Потом, запустить cmd (консоль windows), зайти в каталог src проекта и выполнить "make". Перед этим можно в Makefile подправить параметры под себя (поменять, например DISPLAY=ILI9341, DISPVAR=SPI, если используется последняя версия кода из git).
Для простоты, можно их установить через arm-avr-compilerV2.0.exe
Потом, запустить cmd (консоль windows), зайти в каталог src проекта и выполнить "make". Перед этим можно в Makefile подправить параметры под себя (поменять, например DISPLAY=ILI9341, DISPVAR=SPI, если используется последняя версия кода из git).
Re: Простой велокомпьютер с цветным графическим LCD
WiseLord, Добрый день! Так глубоко я еще никогда не копал, никогда не работал с сборками Makefile и командной строкой. Использую только Atmel Studio и AVRDUDESS для прошивки. Сейчас изменил в файле контролер и экран зашел в терминал командной строки, запустил файл Makefile.
F:\1Yra\Atmel Studio\primeri\4podkluhenie LCD\TFT-ILI9341\temp\bikecomp-glcd_lib\bikecomp-glcd_lib\src>makeavr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-sections -fdata-sections -MMD -MP -MT build/ili9341.o -MF build/display/gc320x240/ili9341.d -mmcu=atmega128a -DF_CPU=16000000 -Idisplay/fonts -I. -D_ILI9341 -D_DISP_8BIT -D_DISP_RST_ENABLED -D_DISP_READ_ENABLED -D_DISP_BCKL_ENABLED -c -o build/display/gc320x240/ili9341.o display/gc320x240/ili9341.cavr-gcc -g -Wall -Werror -mmcu=atmega128a -Wl,-gc-sections -mrelax -o build/bikecomp.elf build/adc.o build/input.o build/measure.o build/font7seg.o build/screen.o build/main.o build/gui/icons.o build/display/fonts/font-terminus-18b.o build/display/fonts/font-terminus-12.o build/display/fonts/font-terminus-32.o build/display/fonts/font-terminus-22b.o build/display/fonts/font-terminus-18.o build/display/fonts/font-terminus-16b.o build/display/fonts/font-terminus-22.o build/display/fonts/font-terminus-28.o build/display/fonts/font-terminus-16.o build/display/fonts/font-terminus-20b.o build/display/fonts/font-terminus-24b.o build/display/fonts/font-terminus-28b.o build/display/fonts/font-terminus-24.o build/display/fonts/font-terminus-20.o build/display/fonts/font-terminus-14b.o build/display/fonts/font-terminus-14.o build/display/fonts/font-terminus-32b.o build/display/glcd.o build/display/dispdrv.o build/display/gc320x240/ili9341.oavr-objdump -h -S build/bikecomp.elf > build/bikecomp.lssavr-objcopy -O ihex -R .eeprom -R .nwram build/bikecomp.elf flash/bikecomp.hex
AVR Memory Usage:
Program: 20362 bytes (.text + .data)Data: 175 bytes (.data + .bss)
Компиляция прошла успешно, bikecomp.hex создан. Но есть одно но - как отлаживать проект (допустим изменить порт на контролере, или пошаговая проверка кода) в Atmel Studio если компиляция там не проходит? Может в настройках Atmel Studio нужно что-то изменить или использовать вообще другую программу для работы с контролерами? Извините что так много вопросов но без этого никак. В вашем проекте на GitHub заложена поддержка многих дисплеев, как их можно подключать к проекту? Меняя только названия дисплея в Makefile DISPLAY = ILI9341 DISPVAR = 8BIT ? Ну и наверное где-то в каких-то файлах (включать или прописывать ) надо на портах контролера выделять какое-то количество выходов для работы дисплея, правильно? Проект у вас получился универсальный, спасибо вам за ваш труд и отзывчивость.
F:\1Yra\Atmel Studio\primeri\4podkluhenie LCD\TFT-ILI9341\temp\bikecomp-glcd_lib\bikecomp-glcd_lib\src>makeavr-gcc -g -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-sections -fdata-sections -MMD -MP -MT build/ili9341.o -MF build/display/gc320x240/ili9341.d -mmcu=atmega128a -DF_CPU=16000000 -Idisplay/fonts -I. -D_ILI9341 -D_DISP_8BIT -D_DISP_RST_ENABLED -D_DISP_READ_ENABLED -D_DISP_BCKL_ENABLED -c -o build/display/gc320x240/ili9341.o display/gc320x240/ili9341.cavr-gcc -g -Wall -Werror -mmcu=atmega128a -Wl,-gc-sections -mrelax -o build/bikecomp.elf build/adc.o build/input.o build/measure.o build/font7seg.o build/screen.o build/main.o build/gui/icons.o build/display/fonts/font-terminus-18b.o build/display/fonts/font-terminus-12.o build/display/fonts/font-terminus-32.o build/display/fonts/font-terminus-22b.o build/display/fonts/font-terminus-18.o build/display/fonts/font-terminus-16b.o build/display/fonts/font-terminus-22.o build/display/fonts/font-terminus-28.o build/display/fonts/font-terminus-16.o build/display/fonts/font-terminus-20b.o build/display/fonts/font-terminus-24b.o build/display/fonts/font-terminus-28b.o build/display/fonts/font-terminus-24.o build/display/fonts/font-terminus-20.o build/display/fonts/font-terminus-14b.o build/display/fonts/font-terminus-14.o build/display/fonts/font-terminus-32b.o build/display/glcd.o build/display/dispdrv.o build/display/gc320x240/ili9341.oavr-objdump -h -S build/bikecomp.elf > build/bikecomp.lssavr-objcopy -O ihex -R .eeprom -R .nwram build/bikecomp.elf flash/bikecomp.hex
AVR Memory Usage:
Program: 20362 bytes (.text + .data)Data: 175 bytes (.data + .bss)
Компиляция прошла успешно, bikecomp.hex создан. Но есть одно но - как отлаживать проект (допустим изменить порт на контролере, или пошаговая проверка кода) в Atmel Studio если компиляция там не проходит? Может в настройках Atmel Studio нужно что-то изменить или использовать вообще другую программу для работы с контролерами? Извините что так много вопросов но без этого никак. В вашем проекте на GitHub заложена поддержка многих дисплеев, как их можно подключать к проекту? Меняя только названия дисплея в Makefile DISPLAY = ILI9341 DISPVAR = 8BIT ? Ну и наверное где-то в каких-то файлах (включать или прописывать ) надо на портах контролера выделять какое-то количество выходов для работы дисплея, правильно? Проект у вас получился универсальный, спасибо вам за ваш труд и отзывчивость.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Насчёт настроек Atmel Studio не подскажу - никогда в ней не работал.
Насчёт поддержки многих дисплеев - на этом проекте (да и вообще на AVR) я свою библиотеку с дисплеями не тестировал, поэтому гарантий, что они все будут работать, не дам. Изначально проект был ТОЛЬКО под ILI9341 / SPI.
Уже потом я начал изучать STM32 и под проект ampcontrol-f103 и была разработана библиотека. В этот проект я просто попробовал её перенести и проверил только на двух дисплеях с разрешением 320x240 - ILI9341/SPI и S6D0129/8BIT. Возможно, будут работать и другие, но никаких гарантий.
Распиновка для 8bit дисплеев в dispconf.h; в частности, под 8-битную линию данных на AVR используется порт D.
Насчёт поддержки многих дисплеев - на этом проекте (да и вообще на AVR) я свою библиотеку с дисплеями не тестировал, поэтому гарантий, что они все будут работать, не дам. Изначально проект был ТОЛЬКО под ILI9341 / SPI.
Уже потом я начал изучать STM32 и под проект ampcontrol-f103 и была разработана библиотека. В этот проект я просто попробовал её перенести и проверил только на двух дисплеях с разрешением 320x240 - ILI9341/SPI и S6D0129/8BIT. Возможно, будут работать и другие, но никаких гарантий.
Распиновка для 8bit дисплеев в dispconf.h; в частности, под 8-битную линию данных на AVR используется порт D.
Re: Простой велокомпьютер с цветным графическим LCD
WiseLord, Добрый день! Что-то скомпилированная сборка Makefile в Protues из папки files не показывает симуляцию экрана. А скачанный файл bikecomp.hex полностью работает в Protues. Настройки в Makefile DISPLAY = ILI9341, DISPVAR = SPI, MCU = atmega328p.
В Protues видно что порт D работает неправильно. Что я не так делаю? Может еще нужны какие-то настройки?
В Protues видно что порт D работает неправильно. Что я не так делаю? Может еще нужны какие-то настройки?
- Вложения
-
- bikecomp-glcd_lib.7z
- (917.76 КБ) 30 скачиваний