реклама на сайте
подробности

 
 
85 страниц V  « < 14 15 16 17 18 > »   
Reply to this topicStart new topic
> свежак KGP win32/arm/avr/mips/m68k, GNU tools chain
dimka76
сообщение Dec 2 2009, 05:19
Сообщение #226


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(klen @ Dec 1 2009, 21:10) *
делаю


А скачать откуда можно? На вашем сайте последняя сборка для AVR от 2006 года.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Jat
сообщение Dec 2 2009, 07:20
Сообщение #227





Группа: Участник
Сообщений: 8
Регистрация: 6-03-06
Из: Новосибирск
Пользователь №: 15 027



Цитата(klen @ Dec 1 2009, 15:37) *
с EABI стало лучше, Вами предложенный код компиляется на 2 инструкции длинне чем у Sourcery G++ Lite 2009q3-68.
это скотино зачемто сохраняет в стек регистры которые можно неиспользовать. отсюда удлиннение. курю и думаю.
кстате это к работе с битами никакого отношения не имеет. толко к registers usage.


Спасибо большое!
Скачал, проверил - все великолепно!

Кстати, если в том коде результат собирать в промежуточной переменной, вот так

CODE
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 нет совсем.
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 2 2009, 10:06
Сообщение #228


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Jat @ Dec 2 2009, 10:20) *
Спасибо большое!
Скачал, проверил - все великолепно!

Кстати, если в том коде результат собирать в промежуточной переменной, вот так

CODE
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 микросхем. лень искать и лень самому писать.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Dec 2 2009, 11:42
Сообщение #229


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(klen)
вот я этого и добивался!

выкладывайте, пожалуйста, линуксячие сборки (32бит) - раз уж все равно собираете...
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 2 2009, 12:11
Сообщение #230


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Andrew2000 @ Dec 2 2009, 14:42) *
выкладывайте, пожалуйста, линуксячие сборки (32бит) - раз уж все равно собираете...

я 64битные собираю. 32битные не кашерно. Это сильно старый комп должен быть чтоб на него нельзя было поставить 64биный линукс.
Go to the top of the page
 
+Quote Post
faa
сообщение Dec 2 2009, 13:52
Сообщение #231


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



Цитата(klen @ Dec 2 2009, 15:11) *
я 64битные собираю.

А где?
На http://www.klen.org/Files/DevTools/ ошибка 403.
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 2 2009, 17:10
Сообщение #232


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(faa @ Dec 2 2009, 16:52) *
А где?
На http://www.klen.org/Files/DevTools/ ошибка 403.

во первых их там еще нет. я их собираю но не складываю туда.
во вторых у Вас нет прав на просмотр www.klen.org/Files/DevTools

при следеющей пересборке выложу линуксовую сборку.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Dec 2 2009, 17:19
Сообщение #233


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(klen @ Dec 2 2009, 15:11) *
Это сильно старый комп должен быть чтоб на него нельзя было поставить 64биный линукс.

да, старенький;
тогда, если не сложно, архив Ваших src, или изменения относительно оригинальных исходников, ну или краткую инструкцию по сборке (я уже спрашивал через личку - не пришло сообщение?).
(хотя, жаль что нет 32бит - уж больно долго все это добро собирается)
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 2 2009, 20:42
Сообщение #234


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Andrew2000 @ Dec 2 2009, 20:19) *
да, старенький;
тогда, если не сложно, архив Ваших src, или изменения относительно оригинальных исходников, ну или краткую инструкцию по сборке (я уже спрашивал через личку - не пришло сообщение?).
(хотя, жаль что нет 32бит - уж больно долго все это добро собирается)

все что я правил уже в транке, я с транка собираю
http://gcc.gnu.org/svn.html
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Dec 2 2009, 20:54
Сообщение #235


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(klen @ Dec 2 2009, 23:42) *
все что я правил уже в транке, я с транка собираю
http://gcc.gnu.org/svn.html

еще вопросы:
- в gcc/config/arm/t-arm-elf какие-нить изменения вносите для полного мультилиба?
- gmp- и mpfr- нужно скачивать отдельно, или они вообще не нужны?
Go to the top of the page
 
+Quote Post
faa
сообщение Dec 2 2009, 21:25
Сообщение #236


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



Цитата(klen @ Dec 2 2009, 20:10) *
при следеющей пересборке выложу линуксовую сборку.

Если Вас не затруднит. И очень желательно бы с исходниками.
А если все будет еще и скриптами обернуто, как, например, в crunch-tools/cross-tool/buildroot/ptxdist/oe и т.п. (специфические патчи, откуда брать исходники и скрипты для сборки).
А то пока со всех ресурсов все соберешь в кучу - столько времени и сил уходит smile.gif
Причем, прекрасно знаешь/понимаешь, что кто-то это уже сделал или делает в этот же момент либо занят чем-то другим и ждет, кто быстрее его патч прикрутит к более свежей версии, если этот патч в транк/бранч не вошел.
ЗЫ: Машины линуксовые есть - и 32 и 64. Можно хоть каждую ночь собирать на автомате.

Сообщение отредактировал faa - Dec 2 2009, 21:25
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 3 2009, 14:38
Сообщение #237


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



свежак для 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.
Go to the top of the page
 
+Quote Post
dimka76
сообщение Dec 4 2009, 05:47
Сообщение #238


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(klen @ Dec 3 2009, 17:38) *
свежак для avr
www.klen.org/Files/DevTools/kgp_avr_20091202_i686-pc-mingw32.7z


Вы свою сборку с WinAVR не сравнивали ?
Например, на предмет оптимальности получаемого кода.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 4 2009, 09:29
Сообщение #239


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(dimka76 @ Dec 4 2009, 08:47) *
Вы свою сборку с WinAVR не сравнивали ?
Например, на предмет оптимальности получаемого кода.


неа, уверен Вы сравните и раскажете. А че? плохой код выдает?
а что такое "оптимальный получаймый код" я незнаю ? скорость, компактность, объем потребного озу, скорость кодогенерации. это все взаимоисключающие критерии. какой из них для Вас "оптимальный" smile.gif Вот например для индусов оптимальный код - тот который написан за один час и имеет 1000 строк кода и похер как работает.

для меня "оптимальный получаймый код" - быстрые циклы ручками на асме, прарывания жЁско на асме, все остальное С-код GCC по любому пережует неплохо. Главное чтоб глюков небыло.
Go to the top of the page
 
+Quote Post
dimka76
сообщение Dec 4 2009, 09:56
Сообщение #240


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(klen @ Dec 4 2009, 12:29) *
а что такое "оптимальный получаймый код" я незнаю ?


это - скорость, компактность, объем потребного озу, скорость кодогенерации в одном флаконе biggrin.gif

просто если все (и вы и создатели WinAVR, в том числе) собирают из одних исходников, то какая разница.
этот вопрос и для ARM(ов) справедлив.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post

85 страниц V  « < 14 15 16 17 18 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 14:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01498 секунд с 7
ELECTRONIX ©2004-2016