dimka76 59 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба делаю А скачать откуда можно? На вашем сайте последняя сборка для AVR от 2006 года. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jat 0 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба с EABI стало лучше, Вами предложенный код компиляется на 2 инструкции длинне чем у Sourcery G++ Lite 2009q3-68. это скотино зачемто сохраняет в стек регистры которые можно неиспользовать. отсюда удлиннение. курю и думаю. кстате это к работе с битами никакого отношения не имеет. толко к registers usage. Спасибо большое! Скачал, проверил - все великолепно! Кстати, если в том коде результат собирать в промежуточной переменной, вот так unsigned int func( var v ) { var vv; vv.y.y0 = k[0][v.y.y0]; vv.y.y1 = k[1][v.y.y1]; vv.y.y2 = k[2][v.y.y2]; vv.y.y3 = k[3][v.y.y3]; vv.y.y4 = k[4][v.y.y4]; vv.y.y5 = k[5][v.y.y5]; vv.y.y6 = k[6][v.y.y6]; vv.y.y7 = k[7][v.y.y7]; return vv.x; } то код компилится лучше, чем у CS. На 1 инструкцию (4 байта) меньше. И push/pop нет совсем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба Спасибо большое! Скачал, проверил - все великолепно! Кстати, если в том коде результат собирать в промежуточной переменной, вот так unsigned int func( var v ) { var vv; vv.y.y0 = k[0][v.y.y0]; vv.y.y1 = k[1][v.y.y1]; vv.y.y2 = k[2][v.y.y2]; vv.y.y3 = k[3][v.y.y3]; vv.y.y4 = k[4][v.y.y4]; vv.y.y5 = k[5][v.y.y5]; vv.y.y6 = k[6][v.y.y6]; vv.y.y7 = k[7][v.y.y7]; return vv.x; } то код компилится лучше, чем у CS. На 1 инструкцию (4 байта) меньше. И push/pop нет совсем. вот я этого и добивался! я не знаю как там IAR и иже с ними, но если для GCC код С писать c пониманием во что и как это переваривается - можно недетски оптимизатору помочь. Но.. для этого нада спецнавыки и знания навыки. 2_dimka76 седня-завтра пересоберу выложу. 2_All_кому_нада _avr ктонить тыкнет носом в патч который avr-size заставляет знать размеры ОЗУ и FLASH микросхем. лень искать и лень самому писать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrew2000 0 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба вот я этого и добивался! выкладывайте, пожалуйста, линуксячие сборки (32бит) - раз уж все равно собираете... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба выкладывайте, пожалуйста, линуксячие сборки (32бит) - раз уж все равно собираете... я 64битные собираю. 32битные не кашерно. Это сильно старый комп должен быть чтоб на него нельзя было поставить 64биный линукс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
faa 4 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба я 64битные собираю. А где? На http://www.klen.org/Files/DevTools/ ошибка 403. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба А где? На http://www.klen.org/Files/DevTools/ ошибка 403. во первых их там еще нет. я их собираю но не складываю туда. во вторых у Вас нет прав на просмотр www.klen.org/Files/DevTools при следеющей пересборке выложу линуксовую сборку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrew2000 0 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба Это сильно старый комп должен быть чтоб на него нельзя было поставить 64биный линукс. да, старенький; тогда, если не сложно, архив Ваших src, или изменения относительно оригинальных исходников, ну или краткую инструкцию по сборке (я уже спрашивал через личку - не пришло сообщение?). (хотя, жаль что нет 32бит - уж больно долго все это добро собирается) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба да, старенький; тогда, если не сложно, архив Ваших src, или изменения относительно оригинальных исходников, ну или краткую инструкцию по сборке (я уже спрашивал через личку - не пришло сообщение?). (хотя, жаль что нет 32бит - уж больно долго все это добро собирается) все что я правил уже в транке, я с транка собираю http://gcc.gnu.org/svn.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrew2000 0 2 декабря, 2009 Опубликовано 2 декабря, 2009 · Жалоба все что я правил уже в транке, я с транка собираю http://gcc.gnu.org/svn.html еще вопросы: - в gcc/config/arm/t-arm-elf какие-нить изменения вносите для полного мультилиба? - gmp- и mpfr- нужно скачивать отдельно, или они вообще не нужны? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
faa 4 2 декабря, 2009 Опубликовано 2 декабря, 2009 (изменено) · Жалоба при следеющей пересборке выложу линуксовую сборку. Если Вас не затруднит. И очень желательно бы с исходниками. А если все будет еще и скриптами обернуто, как, например, в crunch-tools/cross-tool/buildroot/ptxdist/oe и т.п. (специфические патчи, откуда брать исходники и скрипты для сборки). А то пока со всех ресурсов все соберешь в кучу - столько времени и сил уходит :) Причем, прекрасно знаешь/понимаешь, что кто-то это уже сделал или делает в этот же момент либо занят чем-то другим и ждет, кто быстрее его патч прикрутит к более свежей версии, если этот патч в транк/бранч не вошел. ЗЫ: Машины линуксовые есть - и 32 и 64. Можно хоть каждую ночь собирать на автомате. Изменено 2 декабря, 2009 пользователем faa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 3 декабря, 2009 Опубликовано 3 декабря, 2009 · Жалоба свежак для avr www.klen.org/Files/DevTools/kgp_avr_20091202_i686-pc-mingw32.7z 1. Исходники ко всему берутся из cvs репозиториев (binutils,gdb,avr-libc,newlib), svn trunk для gcc, поэтому Вы сами можете их и без меня забрать. 2. скрипта сборки у меня нет. делаю все руками. 3. по поводу сборки для линукс. пока ниче не получится. потому что тулсы тянут кучу системных и сторонних (пересобранных мной) либ. если их тупо скопировать хрен это заработает. в следующий раз попытаюсь скомпилять тулсы статически. если получится то буду выкладывать. сейчас к примеру сс1 тянет klen@klen-dev:/opt/kgp_avr/libexec/gcc/avr/4.5.0$ ldd /opt/kgp_arm_eabi/libexec/gcc/arm-kgp-eabi/4.5.0/cc1plus linux-vdso.so.1 => (0x00007fff043ff000) libcloog.so.0 => /opt/kgp_linux64/lib/libcloog.so.0 (0x00007fa56c78e000) libppl_c.so.2 => /opt/kgp_linux64/lib/libppl_c.so.2 (0x00007fa56c242000) libppl.so.7 => /opt/kgp_linux64/lib/libppl.so.7 (0x00007fa56bf7a000) libgmpxx.so.4 => /opt/kgp_linux64/lib/libgmpxx.so.4 (0x00007fa56bd76000) libmpfr.so.1 => /opt/kgp_linux64/lib/libmpfr.so.1 (0x00007fa56bb27000) libgmp.so.3 => /opt/kgp_linux64/lib/libgmp.so.3 (0x00007fa56b8ca000) libdl.so.2 => /lib/libdl.so.2 (0x00007fa56b6c6000) libelf.so.0 => /opt/kgp_linux64/lib/libelf.so.0 (0x00007fa56cb97000) libc.so.6 => /lib/libc.so.6 (0x00007fa56b357000) libstdc++.so.6 => /opt/kgp_linux64/lib/libstdc++.so.6 (0x00007fa56b030000) libm.so.6 => /lib/libm.so.6 (0x00007fa56adac000) libgcc_s.so.1 => /opt/kgp_linux64/lib/libgcc_s.so.1 (0x00007fa56ab95000) /lib64/ld-linux-x86-64.so.2 (0x00007fa56c9b0000) 4. mpfr и gmp необходимы для сборки gcc, если их нет gcc не соберется http://gcc.gnu.org/install/prerequisites.html здесь написано что необходимо. Вы должные скачать готовые либы и ниделы для своей платформы или скачать исходники их собрать. 5. мануал я писать как собирать все это барохло я не буду. никаких ''сИкретов" нет. все патчи уже содержатся в trunk. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 59 4 декабря, 2009 Опубликовано 4 декабря, 2009 · Жалоба свежак для avr www.klen.org/Files/DevTools/kgp_avr_20091202_i686-pc-mingw32.7z Вы свою сборку с WinAVR не сравнивали ? Например, на предмет оптимальности получаемого кода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 4 декабря, 2009 Опубликовано 4 декабря, 2009 · Жалоба Вы свою сборку с WinAVR не сравнивали ? Например, на предмет оптимальности получаемого кода. неа, уверен Вы сравните и раскажете. А че? плохой код выдает? а что такое "оптимальный получаймый код" я незнаю ? скорость, компактность, объем потребного озу, скорость кодогенерации. это все взаимоисключающие критерии. какой из них для Вас "оптимальный" :) Вот например для индусов оптимальный код - тот который написан за один час и имеет 1000 строк кода и похер как работает. для меня "оптимальный получаймый код" - быстрые циклы ручками на асме, прарывания жЁско на асме, все остальное С-код GCC по любому пережует неплохо. Главное чтоб глюков небыло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 59 4 декабря, 2009 Опубликовано 4 декабря, 2009 · Жалоба а что такое "оптимальный получаймый код" я незнаю ? это - скорость, компактность, объем потребного озу, скорость кодогенерации в одном флаконе просто если все (и вы и создатели WinAVR, в том числе) собирают из одних исходников, то какая разница. этот вопрос и для ARM(ов) справедлив. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться