28.05.2015

Оптимизируем код компилятора AVR Studio 4 до уровня 6-й студии

    Как-то раз мне попался один готовый проект с исходниками, который необходимо было перекомпилировать с другими параметрами, но имея на всех компьютерах AVR Studio 4 я столкнулся с проблемой - на выходе получался код занимающий более 102% памяти контроллера. Решая данную проблему я перелопатил все ключи оптимизации GCC в студии - ничего не помогало. После безнадежных попыток с 4-й студией я начал пробовать другие инструменты и компиляторы, и в конечном итоге я нашел в чем был собран данный проект - AVR Studio 6 (об этом свидетельствовал файл проекта с расширением *.atsln).
    На домашнем компьютере винда у меня живет в виртуалке, и даже с двумя ядрами и двумя гигами оперативки 6-я студия очень тяжко не то что работала, а и устанавливалась (пожирая кучу места на HDD). Терпеть такое я не хотел, да и некоторые кампы на которых я использую 4-ю студию имеют всего 256 Мб оперативки - 6-я на таком железе даже не установится. Недолго думая я решил перепробовать все последние GCC (как встраиваемые в студию, так и внешние, с указанием пути к avr-gcc.exe), результатов не было, как и make.exe файла в пакетах GCC, и тут я решил поискать этот файл в новой студии, указал GCC который был по умолчанию, выбрал make.exe из новой студии, и... чуда не произошло. А почему не попробовать GCC встроенный в 6-ю студию? Вот тут и произошло чудо - 100%, 8192 байта кода для ATmega88PA! Попробовал последний внешний GCC - результат тот-же! Недолго думая я залил файлы GCC и make.exe на все ПК, и спокойно занялся оптимизацией и отладкой проекта, которым был дозиметр "Нанит", но о нем я обязательно напишу по окончании работы над прошивкой.

    Файл инсталятора GCC и make.exe из 6-й студии - AVR Studio 4 GCC.zip

Комментариев нет:

Отправка комментария