|
|
  |
AVR-GCC & AVR-Toolchain-ы (неск.версий) - одновременное использование, настройка среды, Makefile |
|
|
|
Apr 8 2018, 10:16
|
Участник

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

|
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
|
|
|
|
|
Apr 8 2018, 16:03
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(sunjob @ Apr 8 2018, 15:16)  добавил в систему 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
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Apr 8 2018, 18:29
|
Участник

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

|
мне мысль одна покоя не дает  т.к. "рекомендуется" atmel-toolchain-ы распаковывать в "стандартный корень", то по всей видимости он и собирается с PREFIX=/usr or PREFIX=/usr/local (точно не помню, читал где-то, то-ли в слакбилдах, то-ли еще где) если так, то, видимо, будет не достаточно просто компилятор/линковщик запускать, нужно обязательно править под них PATH, и возможно, CX LD ...
Сообщение отредактировал sunjob - Apr 8 2018, 18:30
|
|
|
|
|
Apr 8 2018, 20:08
|
Участник

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

|
Цитата Обычно они умеют и Цитата проще попробовать обычно уже попробовал  и бинарник слопал бибилотеки из стандартных каталогов...(makefile, вроде как, без уточнений каталогов) интересуюсь, приемущественно, надеясь на "боевых" разрабов, которые с подобной проблемой сталкивались/решали
Сообщение отредактировал sunjob - Apr 8 2018, 20:11
|
|
|
|
|
Apr 8 2018, 22:23
|
Участник

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

|
Цитата 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 с первого взгляда собирается, но, видимо, надо дотошно тестировать буду благодарен, если укажете на что обратить внимание, кроме очевидных вещей ...
Сообщение отредактировал sunjob - Apr 9 2018, 05:39
|
|
|
|
|
Apr 10 2018, 01:47
|
Участник

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

|
грант мерси!
|
|
|
|
|
Apr 19 2018, 12:27
|
Участник

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

|
Цитата ... утилита 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
Сообщение отредактировал sunjob - Apr 19 2018, 12:35
|
|
|
|
|
May 3 2018, 19:04
|
Участник

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

|
Цитата(ARV @ Apr 12 2018, 11:50)  ... Беда только с тем, что утилита avr-size от версии к версии меняет свои свойства по умолчанию и команды в комстроке ... недавно разбирался с avr-size, не заметил особенностей и вариаций раскажите подробнее об этом, если не сложно
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|