klen 1 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба 2_AHTOXA а работет то что скомпилялось? я то только на кортексах могу тестировать. еще есть еще белогвардейские недобитки в виде arm7tdmi которые в текущих проектах у многих. и еще..мне по скорости сгенеренного кода интереснее узнать разницу. флеш в первом приближении можно считать резиновым а озу квазирезиновым( разуеется на моих задачах). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Да вроде работает. Проверил на STM32 и на ADuC70xx. Дома есть ещё LPC2148, могу на них проверить. Проекты на C++, scmRTOS. Про скорость могу сказать лишь одно - пока хватает:) Честно говоря, в моих приложениях я не знаю как сравнивать, а писать специальные тесты некогда... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gopher 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба lto таки заработало :yeah: . как оказывается в LDFLAGS кроме -flto надо еще и флаги оптимизации добавлять. добавил в makefile LDFLAGS += -flto $(OPTIMIZATION) CFLAGS += -flto и вот оно, счастье. с -Os -combine -fwhole-program (gcc version 4.5.0 20091115 т.к. в 4.7 -combine убрали): text data bss 16665 40 4232 c -Os -flto (gcc gcc version 4.7.0 20110328) text data bss 16113 40 4240 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Bender 0 30 марта, 2011 Опубликовано 30 марта, 2011 (изменено) · Жалоба У меня на одном проекте LPC2212 (включая 87к двоичных данных): -O1 yagarto 4.51 - 110040 байт yagarto 4.52 - 110036 байт kgp 4.7 - 108929 байт -Os kgp без LTO 4.7 - 107578 байт kgp c LTO 4.7 - 103344 байт На другом проекте LPC2212 (включая 65к двоичных данных): -Os kgp без LTO - 87135 байт kgp c LTO - 82161 байт Отличная экономия :) Да, кстати, проекты под TNKernel 2.6. Изменено 31 марта, 2011 пользователем Bender Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба приеду домой попробую тоже lto , но у меня какието траблы были, в коде ковырялся - бросил, не стал разбиратся. судя по резултату lto оптимизатор нехило код функций перекрутил через мясорубку. этож получается lto оптимизатор из 27к утрамбовал в 23к это если я не ошибаюсь 14 процентов - даже не верится. а код работает хоть? что характерно - сие шаманство возможно только для elf бинарников, токсть встраиваемый линкус и проги для него получится отплющить а вот winCE видимо курит солому. по поводу флагов оптимизации непонятно - как я понимаю они в elf объектники складываются на всякий случай либов секции dwarf либо еще кудато, поэтому lto-wraper и lto1 может их и сам вытащить... gcc мне напоминает В.Ленина - все для народа (для тех кто пламенный революционер и мелкобарыжнеческого элемента у кого бабла нет на иар ;)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mitsufan 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Что-то линкер из последней сборки для MIPS стал ругаться на инверсию атрибута в описании блока памяти в скрипте линкера. MEMORY { kseg1_data_mem (w!x) : ORIGIN = 0xA0000000, LENGTH = 0x20000 } ../../../mips-kgp-elf/bin/ld.exe: invalid syntax in flags collect2: ld returned 1 exit status Меняю ld.exe на предыдущий (4.6.0 от 25.07.2010) - все нормально компилируется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 31 марта, 2011 Опубликовано 31 марта, 2011 · Жалоба 2_Mitsufan мож синтаксис поменялся, нада доки посмотреть на binutils. но скорее всего косяг. а кокой mips пропрограмируете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 31 марта, 2011 Опубликовано 31 марта, 2011 (изменено) · Жалоба Кто-нибудь с флагом -flto пробовал работать с чем-то похожим на ramfunc? Как выглядят Ваши скрипты и определения? Моё срособ (с секцией по имени .data_ramfunc) даёт с применением link time optimization утроение объёма ОЗУ под такие функции. Временно выкинул использование этой фичи - код в среднем на 25 процентов ужался (AT91SAM7Sxxx) и при этом продолжает работать! Изменено 31 марта, 2011 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 31 марта, 2011 Опубликовано 31 марта, 2011 · Жалоба а avr-gcc 4.7.0 под win32 c lto планируется? Уж очень хочется! Сбилдите плиз, пусть там не всё будет гладко с отладочной информацией... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mitsufan 0 31 марта, 2011 Опубликовано 31 марта, 2011 · Жалоба MIPS - PIC32, скрипты для линкера от родного микрочиповского C32. С предыдущими сборками KGP все работало. А где можно посмотреть изменения для GCC 4.7, желательно прямой линк. 2_Mitsufan мож синтаксис поменялся, нада доки посмотреть на binutils. но скорее всего косяг. а кокой mips пропрограмируете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 31 марта, 2011 Опубликовано 31 марта, 2011 · Жалоба 2_Mitsufan дока по бинутилсам http://sourceware.org/binutils/docs-2.21 по gcc http://gcc.gnu.org/onlinedocs/gcc-4.6.0/gcc/ изменения 4.5->4.6 http://gcc.gnu.org/gcc-4.6/changes.html отличия в 4.7 пока нельзя описать(ну тоесть можно но доки такой не существует, правла есть местами описание куда двигается процесс) поскольку 4.7 это код где поживому правки вносятся. различия только для релизов публикуется (то у чего код заморожен). а если нада то все svn в виде диффов покажет. и как вам ядро M4K ? у меня есть теория что мипс есть наилучшая процессорная архитектура, только почемуто она не сильно в массы пропихивается. с другими сравнить можете хотябы по ощущениям. gcc должен для мипсов давать очень хороший код - архитектора ядра академическая. 2_demiurg_spb да планирую, темболее что в выходные то что собралось компиляло мой проект с dwarf2 и компиллер не падал, и я даже собирал для говновиндовса, и даже под варстудией тестил - но чтото мне там не понравилось я и не стал выкладывать. короче говоря я выложу сборку - а там посмотрим че получится. всетаки как я понял атмелу пипец со всех сторон. кстате что касается атмела вобщем то атмел достиг апофеоза маразма : http://www.terraelectronica.ru/news_postup.php?ID=2184 даже если они случайно нулик по ошибке сзади цены дописали - всервно атмелу кирдык. чтоб спастись атмел должен раздавать иструментальные средства с доплатой, килограммом травы, бутылкой водки и пирожком в придачу. и вообще, я раньше критически относился к потенциалу нашей родины и качеству людского матреиала... но вот "у них" ведь тоже есть перлы. один из последних это вебдизайн сайта ST Microelectronix ( www.st.com ) - это что с чем то... посмотрев это становится спокйно на наше тихое болото - нефига они нас не победят ;) ножки подломятся Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nash_86 0 4 апреля, 2011 Опубликовано 4 апреля, 2011 · Жалоба Добрый день. Пытаюсь писать под mips из под винды. После компиляции элементарной С программы в ассемблерном листинге функция main начинается с addiu sp,sp, -16. После выполнения данной команды процессор сваливается в исключение. Значение регистра sp до этого не трогал. Если оно изначально нулевое, то он попадает в конец области памяти, которая не существует физически(размер ОЗУ и ПЗУ меньше) Отсюда сделал вывод, что нужно инициализировать указатель стека. Как указать компилятору начало стека, области памяти(ОЗУ, ПЗУ)? Подозреваю что это делается в startup коде, но примеров под mips не нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 8 апреля, 2011 Опубликовано 8 апреля, 2011 · Жалоба ставить весь MSYS нет необходимости, вы его всеравно не будете использовать при работе. изза 4 файлов ставить сотню другую, незачем http://klen.org/Files/DevTools/make_sh_rm_touch.7z только тех утилит что мспользуются при сборке проектов с помощью makeзакинул этот make в папку bin mingw-win32 - не запускается (вернее запускается но ничего не выводит в консоль и не выполняет Makefile). Из другой папки - нормально. Так и должно быть ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 9 апреля, 2011 Опубликовано 9 апреля, 2011 · Жалоба У кого для cortex-m3 получилось собрать с -Os -flto ? У меня ни одной непустой секции .text не находится... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 9 апреля, 2011 Опубликовано 9 апреля, 2011 · Жалоба У меня не вышло. text ненулевой, но не работает. Ни -O2 ни -Os :( А вот под ADuC706x - получилось, очень приличный эффект. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться