AVR-GCC & AVR-Toolchain-ы (неск.версий) makefile

Обсуждаем контроллеры компании Atmel.
Ответить
Вымогатель припоя
Аватара пользователя
Сообщения: 621
Зарегистрирован: Ср дек 08, 2010 19:03:17

Сообщение sunjob »

добрый день

в системе установлен стандартный пакет 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 в вакууме"

НЕ ВОПРОС:
- можно просто "пофилософствовать по теме", возможно ваши мысли пригодятся :о)

спасибо
...

slackware-xx.x (avr-xxx: стандартный набор slackBuild от sl14.2)
https://slackbuilds.org/

avr-toolchains
http://www.microchip.com/avr-support/av ... mpilers%29
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 333
Зарегистрирован: Ср мар 09, 2016 08:07:41

Сообщение JackSmith »

> возможно ли использовать бинарные/готовые сборки avr-Toolchains в нестандартных PREFIX-каталогах (как у меня)?
проверьте все бинарники и библиотеки вашего тулчейна утилитой ldd на предмет отсутствующих зависимостей.
> если можно (вопрос 1), то какие переменные окружения надо настраивать? (CXX LD ... etc)
лучше не надо.
> тоже самое, применительно к рабочему makefile?
в makefile конечно придется прописывать пути к тем версиям компиляторов, которые вы планируете использовать
> можно просто "пофилософствовать по теме", возможно ваши мысли пригодятся :о)
стандартного тулчейнеа с SBo вполне было бы достаточно.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 621
Зарегистрирован: Ср дек 08, 2010 19:03:17

Сообщение sunjob »

проверьте все бинарники и библиотеки вашего тулчейна утилитой ldd на предмет отсутствующих зависимостей.
ну ... :о) это совсем лишнее... если бы были поломаны зависимости, то уж точно на профилирующих форумах были-бы упоминания... :о)
как совет, да, если что-то пойдет не так, то, возможно, будет не лишним пробежаться по зависимостям
лучше не надо.
почему? какие аргументы?
дерево будет лежать в нестандартных путях, а atmel-avr-тулзы изначально собирались на стандарнтые пути (и я даже, сомнемавюсь что на относительные, ск. всего сборка расчитатна на полные пути, от корня, но это мое мнение, могу ошибаться)

немного уточню, возможно, не совсем понятно обьяснил в топике

- в системе установлены стандартные пакеты (по умолчанию) - avr-xxx
- добавляю в кастомные каталоги с бинарными сборками atmel-avr-toolchain-s
- нужно заставить "прозрачно" работать с любой нужной версией и со стандартной и с любой из atmel
- makefile (особенности настройки)
Последний раз редактировалось sunjob Вс апр 08, 2018 16:52:44, всего редактировалось 2 раза.
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Грызет канифоль
Сообщения: 289
Зарегистрирован: Чт ноя 06, 2014 13:09:06

Сообщение viiv »

sunjob, у меня "зоопарк" tools-ов. Каждый раз при переходе на нувую версию собираю из исходников со своим prefix-ом, а старые tools-ы не удаляю (на всякий случай оставляю для старых проектов, если требуется исправить ошибку или что-то доработать). Никаких проблем.

Что мешает Вам собрать необходимые tools-ы с нужным префиксом и гарантированно не иметь проблем?
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 621
Зарегистрирован: Ср дек 08, 2010 19:03:17

Сообщение sunjob »

to viiv

немного не по теме... давайте разбираться

надо
1. родная бинарная сборка avr-toolcahin

2. совместное использование ... и установка в нестандартный PREFIX

Код: Выделить всё

/usr/avr-xxx // avr-xxx standart package & PREFIX
or
/usr/local/xxx{--//--}

{blah-blah-blah}/avr/x.x.1 // atmel-avr-xxx non-standart package & PREFIX
{blah-blah-blah}/avr/x.x.2
{blah-blah-blah}/avr/x.x.3
эта схема, надеюсь, понятна?! вот в этом ключе и будем дальше продолжать царапаться
плюс к этому - makefile

... по поводу "ваших сборок" - :)

Код: Выделить всё

у меня "зоопарк" tools-ов
у меня в 10 раз больше :)) давай мериться ...? :beer:
Каждый раз при переходе на нувую версию собираю из исходников со своим prefix-ом
это-же, мур-р-р, ясен-пень, будет проще настраивать, потому как большинство связей будет уже по умолчанию "то, че надо"...
но это сборка из исходников, в данном контексте - не катит

спасибо

зы
- в системе установлены стандартные пакеты (по умолчанию) - avr-xxx
- добавляю в кастомные каталоги с бинарными сборками atmel-avr-toolchain-s
- нужно заставить "прозрачно" работать с любой нужной версией и со стандартной и с любой из atmel
- 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
с первого взгляда собирается, но, видимо, надо дотошно тестировать
буду благодарен, если укажете на что обратить внимание, кроме очевидных вещей ...
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Реклама
Ответить

Вернуться в «AVR»