|
|
  |
Командная строка IAR |
|
|
|
Jan 12 2009, 11:46
|

Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 31-07-05
Из: Shenzhen, China (深圳市, 中国)
Пользователь №: 7 233

|
Вот как раз только закончил ковырять мануалы линковщика и компилятора. Правда под dsPIC. Делал для создания конфигурационного файла под UEStudio. Потратил 3 дня. За то какая сейчас прелесть работать и компилить в UEStudio  Если поможет, могу кинуть сам конфиг.файл для UEStudio: сделал его с русскими комментариями, думаю разберёшься. Да и make-файл по уже выставленным настройкам проекта создать - секундное дело.
--------------------
Все языки несут в себе черты своих обладателей. И идиомы каждого языка повторяются снова и снова: "Он чужеземец, а значит - варвар". (Роберт Хайнлайн)
|
|
|
|
|
Jan 12 2009, 15:43
|

Участник

Группа: Участник
Сообщений: 17
Регистрация: 25-01-06
Пользователь №: 13 580

|
2zltigo: образцы - зло, согласен, нужно разобраться, вот я и хочу это сделать, может быть кто то присоеденится 2МикроДИП: выложи )) с UEStudio я не знаком правда вот пару интересных статей по make http://www.citforum.ru/operating_systems/g...numake_03.shtml http://www.linuxrsp.ru/docs/gm.htmlвопрос №1 как автоматически генерировать зависимости файлов? как известно make это делает с пом. компилятора gcc, компилятор IAR же это делать не умеет (или я не знаю как )), а добавлять руками в Makefile имена исходников - не удобно... если посмотреть в дирректорию .dep в которой лежат файлы зависимости, то можно увидеть несколько файлов с именами как у исходников, но с расширением *.o.d, каждый из которых содержит список файлов, от которых зависит данный *.obj (свой *.с + все подключенные хидеры) наверное это можно сделать скриптом, но парсить исходники в наши задачи пока не входит))) нужна утилита, результатом работы которой была бы дирректрия .dep с файлами нужного формата вообще задача не сложная, решение должно быть!
Сообщение отредактировал helius - Jan 12 2009, 16:33
|
|
|
|
|
Jan 12 2009, 17:03
|

Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 31-07-05
Из: Shenzhen, China (深圳市, 中国)
Пользователь №: 7 233

|
Цитата(helius @ Jan 12 2009, 23:43)  вопрос №1 как автоматически генерировать зависимости файлов? как известно make это делает с пом. компилятора gcc, компилятор IAR же это делать не умеет (или я не знаю как )), а добавлять руками в Makefile имена исходников - не удобно... Папку dsPIC IAR C_C++ вместе с файлом Application необходимо разместить в каталог configs той дирректории, в которую установлен UEStudio. После этого в настройках и установках компиляторов появится и этот компилятор. По поводу зависимости файлов - это прописывается в настройках IDE. В том примере, что вы привели ссылку, это называется шаблонное правило. Не знаю точно, но думаю что в IDE самого иара эти зависимости прописаны жёстко, скорее всего в dll-ках (для каждого компилятора (читай каждого процессора) - свои расширения объектных файлов и, соответственно, свои зависимости), к которым уже обращается iarbuild.exe. Для внешней среды, если не используете иаровский билдер, то нужно прописывать их руками. В моём файле я эти зависимости прописывал.
--------------------
Все языки несут в себе черты своих обладателей. И идиомы каждого языка повторяются снова и снова: "Он чужеземец, а значит - варвар". (Роберт Хайнлайн)
|
|
|
|
|
Jan 12 2009, 17:28
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(helius @ Jan 12 2009, 18:43)  ..компилятор IAR же это делать не умеет Умеет. И в том числе в make стиле. Документацию почитайте. Цитата(МикроДИП @ Jan 12 2009, 20:03)  По поводу зависимости файлов - это прописывается в настройках IDE Не  это Вы чего-то совсем не понимаете  . Например, при изменении header файла надо перекомпилировать все файлы куда он включен. P.S. А вообще, если к make не прикипели, то может быть обратите внимание на альтернативные типа http://www.scons.org
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 12 2009, 17:43
|

Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 31-07-05
Из: Shenzhen, China (深圳市, 中国)
Пользователь №: 7 233

|
Цитата(zltigo @ Jan 13 2009, 01:28)  Не  это Вы чего-то совсем не понимаете  . Например, при изменении header файла надо перекомпилировать все файлы куда он включен. P.S. А вообще, если к make не прикипели, то может быть обратите внимание на альтернативные типа http://www.scons.orgНет, это понятно. Я имею ввиду вот что: где прописывается в ИАРе, файлы с каким расширением должен выдать компилятор ? Эти файлы, в свою очередь, для кого являются входными файлами ? Какие файлы должен выдать на выходе линковщик ? И т.д. Вот сейчас прикручивал ИАР к UEStudio. Там всё это прописывается в конфиге. И на основании уже этих данных генерится make-файл и очерёдность выполнения тех или иных действий.
--------------------
Все языки несут в себе черты своих обладателей. И идиомы каждого языка повторяются снова и снова: "Он чужеземец, а значит - варвар". (Роберт Хайнлайн)
|
|
|
|
|
Jan 12 2009, 18:23
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(МикроДИП @ Jan 12 2009, 20:43)  Нет, это понятно. Я имею ввиду вот что: где прописывается в ИАРе, файлы с каким расширением должен выдать компилятор ? расширения по умолчанию не задаются, но полное имя можете, как и у любого другого компилятора указывать. Расширения по умолчанию описаны в документации. Цитата Эти файлы, в свою очередь, для кого являются входными файлами ? Для кого прикажете в makefile для того и будут. Ничего не понял  Цитата Какие файлы должен выдать на выходе линковщик ? какие прикажите ему (и типы, и имена, и расширения)такие и выдаст... Цитата Там всё это прописывается в конфиге. И на основании уже этих данных генерится make-файл и очерёдность выполнения тех или иных действий. Обсуждать автоматические генераторы makefiles совсем нет желания.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 13 2009, 08:19
|

Участник

Группа: Участник
Сообщений: 17
Регистрация: 25-01-06
Пользователь №: 13 580

|
Цитата Умеет. И в том числе в make стиле. Документацию почитайте. гм, хорошая новость, rtfm-лю ) наша задача не исползовать iarbuild, IDE и автогенерацию Makefile, так как речь идет о компиляции проектов для встраиваемых систем, то мне кажется, что большую часть проектов можно описать в Makefile руками, есть конечно какие то сложные и специфичные проекты с сложной структурой и фичами, типа автогенерации исходников в процессе компиляции для которых используют, например, Cmake утилиту, но это уже другая ветка ))
|
|
|
|
|
Jan 13 2009, 19:06
|

Участник

Группа: Участник
Сообщений: 17
Регистрация: 25-01-06
Пользователь №: 13 580

|
извиняюсь за темпы, много работы =) действительно, все очень просто, IAR отлично задокументирован и вобще оставил хорошее впечатление своей поддержкой командной строки и даже имеет ключики не доступные из IDE ))) польза от них - другой разговор ))) И так, я сделал заготовку Makefile, в коментах все заинтересовавшие меня ключи компиллера, make all:создание директорий /list /Obj /Exe как в IAR было давно заведено автопоиск всех исходных *.с, (пока в одной рабочей дирректории) компилирование всех исходников в обьектники с авто-построением зависимостей (директория /.dep) файлов в стиле make make clean:вычищение директорий от листингов, обьектников, и зависимостей что дальше 2DO:компилирование ассемблерных файлов тоже подключение директорий в которых лежат разные инкулюды (по стандартным и не очень путям) линковка по указанному файлу *.xcl выставляю на суд общественности, если кому интересно - гляньте пожалуйста, я make то учу только ))) Какой ужас! модераторы правда думают что кто то будет читать хелп к форуму на английском? ))) это нормально что по запросу Upload там ничего не нашлось? как файлы то вешать тут?! или только ftp? или у меня кармы не хватает? =))
Сообщение отредактировал zltigo - Jan 13 2009, 19:45
Прикрепленные файлы
test.txt ( 4 байт )
Кол-во скачиваний: 100
|
|
|
|
|
Jan 13 2009, 19:42
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(helius @ Jan 13 2009, 22:06)  и даже имеет ключики не доступные из IDE ))) Из IDE доступны абсолютно все ключики, разве только не через галочки. Цитата(helius @ Jan 13 2009, 22:06)  как файлы то вешать тут?! Прямо при редактировании и вешать, правда форум сейчас в разбитом состоянии и говорят не у всех работает. Добавил "пустой" файл в Ваш пост.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 13 2009, 20:58
|

Участник

Группа: Участник
Сообщений: 17
Регистрация: 25-01-06
Пользователь №: 13 580

|
Цитата(zltigo @ Jan 14 2009, 01:42)  Из IDE доступны абсолютно все ключики, разве только не через галочки. "--no_wrap_diagnostics... This option is not available in the IAR Embedded Workbench IDE." стр 138, ARM® IAR C/C++ Compiler Reference Guide я вот что имел ввиду понятно, попробую завтра с работы )))
|
|
|
|
|
Jan 14 2009, 09:08
|

Участник

Группа: Участник
Сообщений: 17
Регистрация: 25-01-06
Пользователь №: 13 580

|
Навесить у меня так и не получается (Firefox 3.0.5) поэтому держите линк: http://files.mail.ru/9S3R2QВсе двигается медленнее чем хотелось бы, мало времени... В следующим релизе постараюсь получше закоментить, а вобще, желательно если бы кто то посмотрел - попробовал, чтоб появлялись вопросы и мы их тут обсуждали иначе получится очередной шаблон... # чего нет: # не ищет зависимости асм файлов # не поддерживает контроль файлов, когда они в /obj, - перекомпилирует каждый раз всё, # поэтому пока генерит *.obj в рабочую директорию # что есть: # v1.2 # - поиск исходников (*.с, *.s79) в директориях перечисленных в переменной source_dirs # - компиляция *.с, *.s79 в обьектники r.79 (ложатся в корень проекта) # - автоматическая генерация зависимостей исходных файлов от хидеров *.h # - передача ключей компилятору # - цели all, clean # # v1.1 # - компиляция *.с исходников в *.obj все лежит в папке где Makefile
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|