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

 
 
 
Reply to this topicStart new topic
> что-за эльфов всё время ищет AVR-GCC ?
ветерок
сообщение Oct 15 2012, 17:59
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 29-11-06
Из: Ижевск
Пользователь №: 22 902



[cesored]

Сообщение отредактировал Herz - Oct 16 2012, 06:33
Прикрепленные файлы
Прикрепленный файл  LCD_1202.rar ( 8.53 килобайт ) Кол-во скачиваний: 15
 


--------------------
Go to the top of the page
 
+Quote Post
MaxiMuz
сообщение Oct 15 2012, 18:24
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



у вас в Makefile в строчке
Код
TARGET = LCD_1202.elf
нужно указать имя основного Си файла. Делается это обычно с помощью утилиты MFile из пакета WinAVR
Go to the top of the page
 
+Quote Post
ветерок
сообщение Oct 15 2012, 18:49
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 29-11-06
Из: Ижевск
Пользователь №: 22 902



TARGET = LCD_1202.elf

это задаётся в avr studio
в configuration options
Output File Name:
я там ставил LCD_1202.с
и он ищет и не находит LCD_1202.с
почему про это нигде не написано ?

Сообщение отредактировал Herz - Oct 16 2012, 06:34


--------------------
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Oct 15 2012, 19:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(ветерок @ Oct 15 2012, 21:49) *
это задаётся в avr studio

Поле средой задаётся - зачем менять?


Цитата(ветерок @ Oct 15 2012, 21:49) *
Output File Name:
я там ставил LCD_1202.с
и он ищет и не находит LCD_1202.с

Output File Name - имя выходного файла, LCD_1202.с - входной файл.

Цитата(ветерок @ Oct 15 2012, 21:49) *
почему про это нигде не написано ?

Видимо в виду её очевидности.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 16 2012, 05:45
Сообщение #5


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



А вопрос можно по-человечески задать?
Заодно привести выход компилятора.

Цитата
почему про это нигде не написано ?

Про какую именно?
GNU make

Попробуем разобрать ваш makefile.
Цитата
all: $(TARGET) LCD_1202.hex LCD_1202.eep LCD_1202.lss size


Первый пункт цели all - $(TARGET).

Смотрим:
Цитата
TARGET = LCD_1202.elf

То есть первым делом предписано создать "какой-то" .elf
Кстати говоря, не какой-то, а основной и универсальный выходной гнушный формат. Пора привыкать.

Как сделать elf?
Цитата
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)

$(TARGET) получается из $(OBJECTS) путем выполнения нижерасположенной команды.
В свою очередь, объектник получается с помощью другой команды:
Цитата
OBJECTS = LCD_1202.o

## Compile
LCD_1202.o: ../LCD_1202.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<


Итого, в результате должны последовательно создаться LCD_1202.o из ../LCD_1202.c, а затем LCD_1202.elf из LCD_1202.o.
Потом из него образуется вся производная требуха: LCD_1202.hex LCD_1202.eep LCD_1202.lss и под конец утилита size выводит финальную статистику.

Насколько вижу, объектник создался, а вот elf - нет. Покажите, что пишет линкер.

Сообщение отредактировал Herz - Oct 16 2012, 06:36


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Herz
сообщение Oct 16 2012, 06:34
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



ветерок, давайте без эмоций и нецензурных аллюзий.
Go to the top of the page
 
+Quote Post
ветерок
сообщение Oct 16 2012, 12:41
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 29-11-06
Из: Ижевск
Пользователь №: 22 902



Код
Build started 16.10.2012 at 16:49:38
avr-gcc -mmcu=atmega48p  LCD_1202.o    -l  -o LCD_1202.elf
avr-gcc: LCD_1202.elf: No such file or directory
make: *** [LCD_1202.elf] Error 1
Build failed with 1 errors and 0 warnings...


--------------------
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 16 2012, 13:06
Сообщение #8


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



странный ключик -l
убрать бы его от греха.. или добавить имя библиотеки.

Может, и не в этом дело, но все-таки.

Поясняю:
за ключом -l должно стоять название линкуемой библиотеки без префикса lib и расширения .a
То есть, libc.a подключается ключом -lc, libm.a соответственно -lm итд.
открытый ключ, видимо, приводит к тому, что -o воспринимается как запрос файла lib-o.a, которого нет.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
ветерок
сообщение Oct 17 2012, 16:42
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 29-11-06
Из: Ижевск
Пользователь №: 22 902



Вообще не пойму откуда этот шняжный ключ берётся и кем приписывается
в makefile такого ключа нету.

объясните мне дураку почему это сразу не работает
почему мне надо что-то править в IDE которая предлагает свои услуги гшенерации makefile и с собственным же файлом не работает как надо
почему ?

а вот,нашёл,есть идея...

в программу добавил
#include "nokia1100_lcd_lib.c"
а из options удалил путь к этой библиотеке
так как это вовсе не библиотека,а одно название.
проект собрался
Всем спасибо.

Сообщение отредактировал ветерок - Oct 17 2012, 17:01


--------------------
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Oct 17 2012, 16:52
Сообщение #10


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(ветерок @ Oct 17 2012, 19:42) *
проект собрался

Адуреть.
Код
## Libraries
LIBS = -l  <-----вот этот мусор надо было убрать

А файл с нокией не включать инклюдом, а просто добавить в проект. [self-censored]! Не любите читать макабуки - включИте голосовую надиктовку или на ютубе кино гляньте как работать со студией (нафиг она вообще нужна, когда есть протеус). Это ж элементарные вещи, их и вкуривать нинада.
Go to the top of the page
 
+Quote Post
ветерок
сообщение Oct 31 2012, 14:06
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 29-11-06
Из: Ижевск
Пользователь №: 22 902



протеус для виртуальных ананистов
А мне надо устройства во плоти делать.

То есть это обман что там быстрее,сначала разбираешся с косяками (особенностями как любят называть косяки производители ) симулятора,а потом ещё оказывается что в реальности-то не работает устройство !
Ну потом оказывается что протеус не учёл электромагнитные наводки в устройстве которые периодически сбрасывали проц или соплю на плате или вообще неконтакт.
Так что говно этот протеус,чисто маркетинговая куета


--------------------
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Oct 31 2012, 14:11
Сообщение #12


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



lol.gif С чем Вас и поздравляю.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:23
Рейтинг@Mail.ru


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