Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как сменить компилятор в WInAVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
ветерок
стоит скажем последняя версия типа 4.3.3
а мне надо gcc 3.2.2 например
Marian
Цитата(ветерок @ Jan 29 2012, 18:53) *
стоит скажем последняя версия типа 4.3.3
а мне надо gcc 3.2.2 например

Установите старую версию в другую папку.
Перед компиляцией меняйте видовский PATH на нужную папку.
Если не секрет нафиг оно надо?
haker_fox
QUOTE (Marian @ Jan 30 2012, 03:19) *
Если не секрет нафиг оно надо?

Возможно для поддержки старых программ, возможно для экспериментов...
QUOTE (Marian @ Jan 30 2012, 03:19) *
Перед компиляцией меняйте видовский PATH на нужную папку.

Если не ошибаюсь, то изменение PATH требует перезагрузки машины. Можно ничего не менять, а указывать пути к необходимому инструменту в Makefile. Или иметь две копии скрипта, например Makefile_new & Makefile_old. ИМХО это более правильный способ, т.к. оперативно выбираются необходимые инструментарии...
ветерок
Как-то мутно всё
Попробую
GCC 3 код компактнее делает
demiurg_spb
Цитата(ветерок @ Jan 30 2012, 08:45) *
GCC 3 код компактнее делает

Зря вы так думаете.
ветерок
За меня авторы исходников уже подумали.
их hex файлы
скомпиленые на трёхе на 200 -500 байт короче
чем скомпиленые в чётвёрке
я сталкиваюсь с этим в проектах V-USB
Вот сами авторы и пишут что трёха компактнее даёт hex
demiurg_spb
"Не верь тому что на заборе написано".
Могу с уверенностью сказать что лично я могу получить более компактную прошивку на avr-gcc 4.x.x чем на avr-gcc 3.x.x на ЛЮБОМ си проекте.
Вопрос знания инструментария...
ветерок
а можно я вам солью проект который никак не могу ужать до авторского хекса ?


впрочем сюда выложу как освобожусь
может мастера потестят
Genadi Zawidowski
попробуйте вот это - короче чем winavr делает.
Цитата(Xenia @ Jan 27 2012, 08:27) *
Этот тулчан тоже можно скачать по прямой ссылке:
http://www.atmel.com/dyn/resources/prod_do...2.win32.x86.exe


Код
C:\Documents and Settings\Gena>avr-gcc --version
avr-gcc (AVR_8_bit_GNU_Toolchain_3.3.0_364) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
horoc
Код
echo OFF
PATH;
set PATH=C:\WinAVR-20100110\bin;C:\WinAVR-20100110\utils\bin;
cls
echo WinAVR-20100110
"pn"

Так запускаю, через бантик. Для другого WinAvr set PATH=..
Работает без перезагрузки.
haker_fox
QUOTE (horoc @ Jan 31 2012, 01:43) *
Работает без перезагрузки.

И, если я не ошибаюсь, только в текущей консоле. Я имею в виду, что если вы запустите вторую консоль, то команда set выдаст Вам уже оригинальную переменную Path (как в виндовсе настроено).
ветерок
вот проект для сравнения,про который как раз упоминает версии Gcc
http://www.obdev.at/downloads/vusb/USBaspL....2010-07-27.zip
разница получается 300 байт на сколько помню.

Genadi Zawidowsk
спасибо за тулзу,потестирую.

horoc
WinAVR-20100110
там трёшка ?
Спасибо,буду пробовать



demiurg_spb
Цитата(ветерок @ Jan 31 2012, 07:23) *
WinAVR-20100110
там трёшка ?
нет
haker_fox
QUOTE (ветерок @ Jan 31 2012, 12:23) *
300 байт на сколько помню.

Насколько я понял, для Вас важен только размер прошивки?
Просто интересно, что новый GCC на фоне увеличения размера прошивки еще делает? Что-то же полезное туда добавили, или исправили?
demiurg_spb
Цитата(ветерок @ Jan 30 2012, 17:03) *
а можно я вам солью проект который никак не могу ужать до авторского хекса ?

Сколько у вас получается для mega168-16MHz?
У меня пока (могу меньше, но время требуется):
Цитата
text data bss dec hex filename
0 2012 0 2012 7dc main.hex


horoc
Цитата(haker_fox @ Jan 31 2012, 03:09) *
И, если я не ошибаюсь, только в текущей консоле. Я имею в виду, что если вы запустите вторую консоль, то команда set выдаст Вам уже оригинальную переменную Path (как в виндовсе настроено).

Да, это для одной сессии. Что бы запустить другую версию WinAvr, закрываю pn и запускаю другой бат. Что совсем не трудно rolleyes.gif . Кстати бат файлы у меня лежат в папке pn, поэтому там и вызов такой "pn", иначе нужно явно прописать путь до него.
Код
echo OFF
cls
::-это коментарий
:: следующей командой очищается переменная PATH
PATH;
:: назначается заново с нужными путями
set PATH=C:\WinAVR\bin;C:\WinAVR\utils\bin;
::set PATH=C:\WinAVR-20100110\bin;C:\WinAVR-20100110\utils\bin;
echo WinAVR-20060421 :: просто надпись, чтоб видеть какой WinAvr запущен

"C:\Program Files\pn\pn.exe"


Зы, я так подробно для других rolleyes.gif любителей как я, занимающихся программированием раз к разу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.