sunjob 0 8 апреля, 2018 Опубликовано 8 апреля, 2018 · Жалоба AVR-GCC & AVR-Toolchain-ы (неск.версий) - одновременное использование, настройка среды, Makefile добрый день в системе установлен стандартный пакет avr-xxx : avr-binutils, avr-gcc, avr-gdb, avr-libc тестовый проект с makefile - собирается (используется стандартное develop-окружение, без настроек) добавил в систему avr-Toolchains, распаковал в свои каталоги (использовались готовые/собранные bin-архивы, с уже собранными тулзами) ~/dev/bin/avr/3.4.2/* ~/dev/bin/avr/3.4.3/* ~/dev/bin/avr/3.5.4/* ВОПРОС 1: - возможно ли использовать бинарные/готовые сборки avr-Toolchains в нестандартных PREFIX-каталогах (как у меня)? - что-бы не было коллизий/пересечений со стандартным набором avr-xxx пакетов (стандартные каталоги) - если "готовые сборки" - нельзя использовать в нестандартных путях, без особых извращений, то можно не объяснять "почему" :о) ВОПРОС 2: - если можно (вопрос 1), то какие переменные окружения надо настраивать? (CXX LD ... etc) - кроме окружения, что ни-будь еще надо настраивать? ВОПРОС 3: - тоже самое, применительно к рабочему makefile? - мейкфайл в данном случае "псевдо-стандартый", можно найте в инете, переменные develop-окружения не менялись, все по умолчанию, т.е. ни какие каталоги/инклуды не прописывались, поэтому - рассматривать будем "сферический makefile в вакууме" ВОПРОС 4: - можно просто "пофилософствовать по теме", возможно ваши мысли пригодятся :о) спасибо ... slackware-xx.x (avr-xxx: стандартный набор slackBuild от sl14.2) https://slackbuilds.org/ avr-toolchains http://www.microchip.com/avr-support/avr-a...8c-compilers%29 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 8 апреля, 2018 Опубликовано 8 апреля, 2018 · Жалоба добавил в систему avr-Toolchains, распаковал в свои каталоги (использовались готовые/собранные bin-архивы, с уже собранными тулзами) ~/dev/bin/avr/3.4.2/* ~/dev/bin/avr/3.4.3/* ~/dev/bin/avr/3.5.4/* ВОПРОС 1: - возможно ли использовать бинарные/готовые сборки avr-Toolchains в нестандартных PREFIX-каталогах (как у меня)? - что-бы не было коллизий/пересечений со стандартным набором avr-xxx пакетов (стандартные каталоги) По-моему, достаточно просто указать в makefile полный путь к компилятору/линкеру, и всё заработает. Типа: TOOL = /home/user/dev/bin/avr/3.4.2/bin/avr- CC := $(TOOL)gcc AS := $(TOOL)gcc -x assembler-with-cpp BIN := $(TOOL)objcopy OBJCOPY := $(TOOL)objcopy OBJDUMP := $(TOOL)objdump SIZE := $(TOOL)size Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 8 апреля, 2018 Опубликовано 8 апреля, 2018 (изменено) · Жалоба мне мысль одна покоя не дает :rolleyes: т.к. "рекомендуется" atmel-toolchain-ы распаковывать в "стандартный корень", то по всей видимости он и собирается с PREFIX=/usr or PREFIX=/usr/local (точно не помню, читал где-то, то-ли в слакбилдах, то-ли еще где) если так, то, видимо, будет не достаточно просто компилятор/линковщик запускать, нужно обязательно править под них PATH, и возможно, CX LD ... Изменено 8 апреля, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 8 апреля, 2018 Опубликовано 8 апреля, 2018 · Жалоба Обычно они умеют находить свои либы в пути относительно исполняемого файла. То бишь, из bin: ../avr/bin/ar, и так далее. В общем, проще попробовать, чем гадать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 8 апреля, 2018 Опубликовано 8 апреля, 2018 (изменено) · Жалоба Обычно они умеют и проще попробовать обычно уже попробовал ;) и бинарник слопал бибилотеки из стандартных каталогов...(makefile, вроде как, без уточнений каталогов) интересуюсь, приемущественно, надеясь на "боевых" разрабов, которые с подобной проблемой сталкивались/решали Изменено 8 апреля, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 8 апреля, 2018 Опубликовано 8 апреля, 2018 · Жалоба Я же написал: makefile должен вызывать тулзы по полному пути. И это работает. Если уж очень лень править makefile, то надо сделать, как посоветовали на лоре: добавить путь к нужной bin-директории в PATH (только добавлять в начало, а не в конец, как там посоветовали). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 8 апреля, 2018 Опубликовано 8 апреля, 2018 (изменено) · Жалоба makefile должен вызывать тулзы по полному пути пробовал всяко, не тупее веника уж очень лень править makefile совсем не лень, с огромным удовольствием, даже аппетит улучшился только добавлять в начало, а не в конец ну я на это "как бы" и намекнул автору сообщения UPDATE рихтанул makefile ifeq ($(AVR_VER), DEF) ### Default PREFIX AVR = /usr else ### Custom ATMEGA PREFIX AVR = ~/dev/bin/avr/$(AVR_VER) PATH = /bin:$(AVR)/bin:$(AVR)/avr/bin CPPFLAGS_X = -I$(AVR)/include -I$(AVR)/i686-pc-linux-gnu/avr/include -I$(AVR)/avr/include LDFLAGS_ X = -L$(AVR)/lib -L$(AVR)/avr/lib -L$(AVR)/i686-pc-linux-gnu/avr/lib endif ... CPPFLAGS += $(CPPFLAGS_X) LDFLAGS += $(LDFLAGS_X) ... CC = $(AVR)/bin/avr-gcc OBJCOPY = $(AVR)/bin/avr-objcopy OBJDUMP = $(AVR)/bin/avr-objdump SIZE = $(AVR)/bin/avr-size NM = $(AVR)/bin/avr-nm с первого взгляда собирается, но, видимо, надо дотошно тестировать буду благодарен, если укажете на что обратить внимание, кроме очевидных вещей ... Изменено 9 апреля, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 9 апреля, 2018 Опубликовано 9 апреля, 2018 (изменено) · Жалоба ВОПРОС 4: - можно просто "пофилософствовать по теме", возможно ваши мысли пригодятся :о) ~$ avr-gcc -print-search-dirs install: /usr/lib/gcc/avr/4.9.2/ programs: =/usr/lib/gcc/avr/4.9.2/:/usr/lib/gcc/avr/4.9.2/:/usr/lib/gcc/avr/:/usr/lib/gcc/avr/4.9.2/:/usr/lib/gcc/avr/:/usr/lib/gcc/avr/4.9.2/../../../avr/bin/avr/4.9.2/:/usr/lib/gcc/avr/4.9.2/../../../avr/bin/ libraries: =/usr/lib/gcc/avr/4.9.2/:/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr/4.9.2/:/usr/lib/gcc/avr/4.9.2/../../../avr/lib/ ну и в общем, вся философия заключена в вызове ключа для каждого из тестируемых тулзов ))))) Изменено 9 апреля, 2018 пользователем _Pasha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 10 апреля, 2018 Опубликовано 10 апреля, 2018 · Жалоба грант мерси! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 12 апреля, 2018 Опубликовано 12 апреля, 2018 · Жалоба Я хоть и в винде сижу, но свои 5 копеек в тему вставлю :) Пользуюсь Eclipse с его встроенными автогенераторами makefile. В настройках прописываю пути к разным версиям тулчейнов, и все прекрасно собирается. Беда только с тем, что утилита avr-size от версии к версии меняет свои свойства по умолчанию и команды в комстроке, в итоге иной раз не работает, либо выдает в неудобном виде. Эту проблему решил тупым копированием "удобной" версии во все версии тулчейна. Получилась в этом отношении каша, но все остальное достаточно удобно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 19 апреля, 2018 Опубликовано 19 апреля, 2018 (изменено) · Жалоба ... утилита avr-size от версии к версии меняет свои свойства ... для этого в makefile есть очень удобное "макроопределение" команд CC = $(AVR)/bin/avr-gcc CPP = $(AVR)/bin/avr-g++ OBJCOPY = $(AVR)/bin/avr-objcopy OBJDUMP = $(AVR)/bin/avr-objdump SIZE = $(AVR)/bin/avr-size NM = $(AVR)/bin/avr-nm MKDIR = mkdir -p REMOVE = rm -fr COPY = cp WINSHELL = cmd далее, по вкусу дорабатываем напильником, и навсегда забываем про "особенности нациоанальной охоты" с разными версиями avr-size и никакой каши... ;) ... автогенераторами makefile ... авто-гераторы - это, конечно же хорошо, когда проект небольшой и все очевидно (во вс.сл. для авто-гератора ;)), но когда проект разрастается, начинается (у меня :)) неразбериха с исходниками, каталогами, версиями итд... и я, в конечном итоге, "пришел" к своему унивесральному makefile, который все понимает так как ему надо (и его филососфия совпадает с моими взглядами на то, что, где, как и ваще все все - должно работать) да и потом, самое главное, за "все время" не "сраслась" у меня любофь с тяжелыми решениями... п.с. правда, есть одно, которое всенепременно надо дощюпать, чего и ВАМ, желаю, весьма неплох qt-creator Изменено 19 апреля, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 3 мая, 2018 Опубликовано 3 мая, 2018 · Жалоба ... Беда только с тем, что утилита avr-size от версии к версии меняет свои свойства по умолчанию и команды в комстроке ... недавно разбирался с avr-size, не заметил особенностей и вариаций раскажите подробнее об этом, если не сложно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 8 мая, 2018 Опубликовано 8 мая, 2018 · Жалоба недавно разбирался с avr-size, не заметил особенностей и вариаций раскажите подробнее об этом, если не сложно форматы вывода разные Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 25 мая, 2018 Опубликовано 25 мая, 2018 · Жалоба спасибо, ща посмотрим что там да чаво :biggrin: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться