LINUX.ORG.RU

MPlав-Х, ихние копмиляторы, лицензии, новогодний палко-тык :о)

 , ,


0

1

короткая «ново-негодняя» история :о)

решил таки я, с дуру, очередной раз попытать счастье, установить «последнюю» лабу на свою «вторую» ось - sl14.2 x64
ну чего? поржом-потыкаем?!

пытаемся скачать с оффсайта - а вот хрен, недокачки и все как-то через ... интернет! выкручиваемся рекурсивным скриптом с wget-ом
может быть это «наш» интернет или «их сакции»?! ну хрен с ними со всеми, едем дальше :о)

устанавливаем в vbox, смотрим... понятное дело, эта «снегурочка», как обычно «навалила подарков» где и «ожидалось»:

/usr/local/lib/@MICROCHIP-TRASH@
- Devices/ <blah-blah-blah>
- JLinkDevices.xml
- libLlvmDisassembler.so*
- libLlvmDisassembler.so.4@
- libjlinkarm.so.6@
- libjlinkpic32.so@
- libjlinkpic32.so.6.82.7*
- libmchpusb-1.0.so@

причем не в стандартный х64-каталог

/usr/local/lib64
а в легаси х32 :o)

ладно, хрен с «ней», для «попробовать» корежим, допиливаем, вставляем «чё-нужно куда-нужно»

/etc/ld.so.conf & ldconfig

запускаем... понятное дело, видит только стоко/кастомный тулчайн

avr-gcc        - /usr
avr-gcc-x.x.x. - ~/PREF

устанавливаем то, чЁ умудрился «выдрать» (*) у микрочипа и что было удачно покрашено «зеленкой» (как говориться, уж звиняйте, других зеленых бананьеф не було):

xc8-4.10
(*) - про искреенее жлобство микрочипа - это вообще отдельная история :о)

и надте вам, mplab-5.45 - не желает работать с данной версией, типа, деприкейтед, скачайте 2.20-версию, вот вам ссылка, скачать?
ну ладно, тыкаем-скачиваем, смотрим... а скачалась старая версия xc8-1.36
ладно, думаем :о), может ошибка в сохранении имени, устанавливаем-смотрим - ан нет, как обычно, никаких ошибок! 1.36-версия ...
короч, воротит морду и от этой версии, но уже и не предлагает ничего скачать, нет ссылок для «кликнуть и скачать» :о) (а че?! красивая мина! ... какие писатТтели, такая и мина...)

хрен с ним, скачиваем «мануально-писуальную» 2.20-версию
ставим... пробуем оптимизацию, и, как и ожидалось, получаем «искреннее недоумение» ... (ну т.е. все как у «них там» и задумывалось :о)

...

в процесс «бурного и радостного знакомства» вылезли доп. косяки:
slackware 14.2 x64 & mplab-5.45
при настройках/переключении проектов теряется «настройка глобальных макросов»

-DF_CPU=16000000UL -DBAUD_RATE=57600
ну а куда без них? :о) без макросов, без потерь... ведь скучно же?!
вот только что «оно» тут было, пробежала мыфка, хфостиком мафнула и нет «его» ...

slackware 12.2 x32 & mplab-5.35
вообще не реагирует на смену компилятора, собирает старым, кот. был до этого «выбран»
перегрузка не помогает
после переключения на avr-gcc-компилятор и обратно получилось переключиться на xc-2.20, только он у меня на х32 не работал...(видимо only-х64)
тупняк с переключением на «иной веры компилятор», только через пeрeпистoн: сначало выбираем avr-gcc, потом xc

...

решил посмотреть «исходники» компиялтора, может смогу собрать?! :o) ... прямо ржака заранее ...
опять-таки «с криком, с матом» нашел откуда скачать

скачиваем-распаковываеми и ... хрен нам по всей морде, имеем пустые файлы:

- avr-libc.tar.bz2
- SOURCES.README
как мы думаем? возможно собрать из таких исходников тулчейн?
я не сильно истерю по поводу конспиралогии и охреневании чипромика?! ... пародон, микрочипа?! :о)

...

если mplав-х еще можно как-то без истерики найти и скачать с «родного» сайта, то со «всем остальным», все уж сильно хитроумно, с набегу можно и голову сломать, и руки порезать и ... стекляшку разбить

тыц_сорс
тыц_сталлятор
тыц_сталлятор

...

ну и самое «сухое» из всего этого :о)
протестировал «типа оптимизацию» этих «хваленых» копмиляторАф!
смотрим :о)

------------------------------------------------
оптимизация / размер *.hex-файла
------------------------------------------------
gcc1 - avr-gcc-3.6.2 свой Makefile
gcc2 - avr-gcc-3.6.2 сборка в mplabx
xc8  - xc8-2.10      сборка в mplabx
------------------------------------------------
opt  |  gcc1   |  gcc2   | xc8
------------------------------------------------
s    |  5,496  |  5,696  | 6,357
g    |  5,508  |         |
fast |  5,504  |         |
0    |  5,966  |  8,433  | 9,188
1    |  5,508  |  5,721  | 6,386
2    |  5,500  |  5,700  | 6,361
3    |  5,504  |  5,717  | 6,365
------------------------------------------------

!!! UPDATE !!!
нашел подходящюю зеленку для сх8-2.20

slackware 14.2 x64
МРlаbx 5.45

avr-gcc toolchain
- avr_gcc-4.9.2-x86_64-sl14.2
- avr_binutils-2.25-x86_64-sl14.2
- avr_gdb-7.8.1-x86_64-sl14.2
- avr_libc-1.8.1-x86_64-sl14.2
------------------------------------------------
gcc  - avr-gcc  сборка в mplabx
xc8  - xc8-2.20 сборка в mplabx
------------------------------------------------
opt  |  gcc    |  xc8    |
------------------------------------------------
0    |  8,024  |  8,971  |
1    |  5,402  |  6,169  |
2    |  5,381  |  6,144  |
3    |  5,385  |  6,148  |
s    |  5,377  |  6,140  |
------------------------------------------------

тест в «разрезе» разных avr-gcc-toolchains в сравнении с хс8-2.20

------------------------------------------------
optimisation 2
------------------------------------------------
gcc  - avr-gcc  сборка в mplabx
xc8  - xc8-2.20 сборка в mplabx
------------------------------------------------
    avr-gcc   | xc8 2.20 |
------------------------------------------------
3.6.2 - 5,496 |   6,144  |
7.3.0 - 5,361 |          |
9.2.0 - 5,336 |          |
------------------------------------------------

одним словом хс проигрывает avr-gcc - по всем размерам :о)

...

p.s.
ну что?! кидайте помидоры, чепчики, гульфики,
можно просто мысли по поводу «всего этого счастья» :о)

с новым годом!

к стати, иногда что-то происходит (может быть новый год?) и потерянный экран отладки uart-порта в режиме симуляции иногда проявляется (иногда опять теряется, но я его тут поймал за пятку, и задокументалировал, правда, сам выхлоп из порта не работает, но хоть что-то) :о)

DEBUG_UART

★★★★

Последнее исправление: sunjob (всего исправлений: 9)

XC - это развод для индивидов с корпоративной кредиткой.

Если есть мозги - используйте нормальные компиляторы. Это и так понятно.

alexru ★★★★
()

попробуй использовать русский язык, нормальный интернет, нормальный линукс и, как уже сказали, нормальный компилятор

pohepi
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.