короткая «ново-негодняя» история :о)
решил таки я, с дуру, очередной раз попытать счастье, установить «последнюю» лабу на свою «вторую» ось - 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
ладно, хрен с «ней», для «попробовать» корежим, допиливаем, вставляем «чё-нужно куда-нужно»
/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-порта в режиме симуляции иногда проявляется (иногда опять теряется, но я его тут поймал за пятку, и задокументалировал, правда, сам выхлоп из порта не работает, но хоть что-то) :о)