|
свежак KGP win32/arm/avr/mips/m68k, GNU tools chain |
|
|
|
Jan 19 2008, 21:36
|

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

|
Всем привет. В ознаменовение нового года и открытия раздела выкладывается свежак. binutils-2.18.50-20080115 gcc-4.3.0-20080111 avrlibc-20080116 newlib-20080115 gdb-20080117 все зажато в формат 7z бросаете распакованное в любую папку, прописываете PATH папка/bin далее должно быть все бкз проблем, хидеры и либы должны сами находится и линковатся без дополнительных гимороев. Win32: KGP Win32здесь все, включая нидеры и либы, это то чем я собираю ВСЕ остальноя, включая драйверы для масдая. ~18Mb работает, мин нет. MIPS: KGP MIPSне тестировалось, нет платы. m68k/ColdFire: KGP m68kсобрал первый раз, возможны ошибки для m51qe, собирал ручками. Проверяйте, найдете неправильную кодогенерацию пишите поправлю компилер. Для остальных возможна ошибочная генерация в код FP инструкций(для тех которые не имеют FP), нада пробывать. Evgeny_CD так сказать инициировал интерес к данной сборке, ему и карты в руки. avr: KGP 8bit AVRТут как обычно, работает тоже без мин, я веду рабочий проект на mega1280, девайсы не жужжат. Новое - добавлена подархитектура avr35(usb82,usb162), поддерживается avr6 (m256x) arm: KGP ARMтоде самое, веду проект, все скомпиленное работает. спасиба за внимание.
|
|
|
|
|
 |
Ответов
|
Nov 11 2008, 18:28
|

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

|
Свежак АRM http://klen.org/Files/DevTools/kgp_arm-elf...6.0.20081108.7zСвежак AVR http://klen.org/Files/DevTools/kgp_avr-bu2...avrlibc1.6.2.7zкомпиллер теперь оптимизирует битовые сдвиги на предмен использования кинструкции swap, спасибо aesok 2_AHTOXA -mcpu=CortexM3 я патсталом конечно умеет тока ему об этом нада сказать. рекомендую arm-kgp-elf-gcc --target-help и arm-kgp-elf-as --target-help поглядеть, там увидите опции платформо-специфичные для GCC нада -mtumb -mcpu=cortex-m3 -mtune=cortex-m3 -march=armv7-m вот пример исходника С: Код int mul (int x, int y) { return x * y; } int div (int x, int y) { return x / y; } выход для arm7tdmi: arm-kgp-elf-gcc -c a.c -mcpu=armv4t -S -Os Код .file "a.c" .text .align 2 .global mul .type mul, %function mul: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. mul r0, r1, r0 bx lr .size mul, .-mul .global __divsi3 .align 2 .global div .type div, %function div: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 str lr, [sp, #-4]! bl __divsi3 ldr pc, [sp], #4 .size div, .-div .ident "GCC: (GNU) 4.4.0 20081107 (experimental)" выход для cortex-m3: arm-kgp-elf-gcc -c a.c -mcpu=cortex-m3 -mthumb -Os -S Код .syntax unified .thumb .file "a.c" .text .align 2 .global mul .thumb .thumb_func .type mul, %function mul: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. mul r0, r0, r1 bx lr .size mul, .-mul .align 2 .global div .thumb .thumb_func .type div, %function div: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. sdiv r0, r0, r1 bx lr .size div, .-div .ident "GCC: (GNU) 4.4.0 20081107 (experimental)" во втором случае видно что используется аппаратный делитель целых типов как проект соберется отпешитесь что все впорядке или не в порядке , сам хочу в терре купить олимекс плату STM32-H103 попробывал тупо собрать проекты для этой платы с сайта олимекса, все собрались, тока нада чуток опции имя тулсов и опции objcopy поправить. зашить некуда. посмотрел исходники примеров и либ STM... у тех кто их писал видимо рак мозга, такого издевательства над языком С я даже от микрософта не видал.
|
|
|
|
|
Nov 13 2008, 06:49
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(klen @ Nov 11 2008, 20:28)  Свежак AVR http://klen.org/Files/DevTools/kgp_avr-bu2...avrlibc1.6.2.7zкомпиллер теперь оптимизирует битовые сдвиги на предмен использования кинструкции swap, спасибо aesok Решил я опять помучать ГЦЦ. Вытащил по ссылке, начал пробовать. Появилась пара вопросов. Первый: Код test.c:
typedef unsigned char UREG; typedef signed char REG;
static void _netw_memcpy(char *d, char *s, UREG l);
void netw_memcpy(void *d, void *s, UREG l) { _netw_memcpy((char*)d,(char*)s,l); }
static void _netw_memcpy(char *d, char *s, UREG l) { char c; if (!l) return; do { c=*s++; *d++=c; } while(--l); } после gcc -O9 -S -mmcu=atmega168 test.c Код .file "test.c" __SREG__ = 0x3f __SP_H__ = 0x3e __SP_L__ = 0x3d __tmp_reg__ = 0 __zero_reg__ = 1 .global __do_copy_data .global __do_clear_bss .text .global netw_memcpy .type netw_memcpy, @function netw_memcpy: push r16 push r17 push r28 push r29 /* prologue: function */ /* frame size = 0 */ tst r20 breq .L4 ldi r18,lo8(0) ldi r19,hi8(0) subi r20,lo8(-(-1)) mov r16,r20 ldi r17,lo8(0) movw r28,r16 adiw r28,1 .L3: movw r30,r24 add r30,r18 adc r31,r19 movw r26,r22 add r26,r18 adc r27,r19 ld r21,X st Z,r21 subi r18,lo8(-(1)) sbci r19,hi8(-(1)) cp r18,r28 cpc r19,r29 brne .L3 .L4: /* epilogue start */ pop r29 pop r28 pop r17 pop r16 ret .size netw_memcpy, .-netw_memcpy Как-то IAR с этим справляется на ура: Код RSEG CODE:CODE:NOROOT(1) // 8 __x_z void netw_memcpy(void *d, void *s, UREG l) netw_memcpy: // 9 { // 10 _netw_memcpy((char*)d,(char*)s,l); REQUIRE _netw_memcpy ; // Fall through to label _netw_memcpy // 11 } // 12
RSEG CODE:CODE:NOROOT(1) // 13 static __x_z void _netw_memcpy(char *d, char *s, UREG l) _netw_memcpy: // 14 { // 15 char c; // 16 if (!l) return; TST R16 BREQ ??_netw_memcpy_0 // 17 do // 18 { // 19 c=*s++; ??_netw_memcpy_1: LD R17, Z+ // 20 *d++=c; ST X+, R17 // 21 } // 22 while(--l); DEC R16 BRNE ??_netw_memcpy_1 ??_netw_memcpy_0: RET // 23 } Вот и вопрос, ничего там в оптимизаторе случайно не сломали? А то что-то совсем мрачно. И вроде не было такого. Теперь вопрос номер два. Сунул ему более глобальный файл. Получил вот такое Код F:\GCC\kgp_avr\avr-kgp-elf\bin>gcc -O9 -S network.c -mmcu=atmega168 network.c: In function 'INT_ETH_PROCESS_PKT2': network.c:810: error: unable to find a register to spill in class 'POINTER_REGS' network.c:810: error: this is the insn: (insn 3268 2214 3269 284 network.c:88 (set (mem/c:QI (plus:HI (reg/f:HI 28 r28) (const_int 24 [0x18])) [27 S1 A8]) (reg:QI 30 r30)) 4 {*movqi} (nil)) network.c:810: internal compiler error: in spill_failure, at reload1.c:2093 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.
F:\GCC\kgp_avr\avr-kgp-elf\bin> Баг-репорт отправлять прямо туда или Вам?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Nov 13 2008, 11:38
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(klen @ Nov 13 2008, 12:15)  1. чтото мне тож это не нравица, есть о чем подумать Да и раньше было не сахар (я тут писал об оптимизации скорости вывода на дисплей). Таким макаром циклы реализовывать это надо уметь. Самое обидное, что ничего в этом направлении не меняется уже давно...
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
Сообщений в этой теме
klen свежак KGP win32/arm/avr/mips/m68k Jan 19 2008, 21:36 oll 2 Klen - Спасибо. Тут меня на работе спросили (са... Jan 22 2008, 15:52 Сергей Борщ Цитата(oll @ Jan 22 2008, 17:52) И еще - ... Jan 22 2008, 18:49 klen Цитата(oll @ Jan 22 2008, 18:52) 2 Klen -... Jan 22 2008, 19:09 Kirill Trusov а для чаво эта сборка ? т.е винавр хуже или в чем ... Jan 22 2008, 19:05 Kirill Trusov т.е если я еще на меге8 да 32 . то и не надо Jan 22 2008, 19:11 klen Цитата(Kirill Trusov @ Jan 22 2008, 22:11... Jan 22 2008, 19:15 AHTOXA Привет! Замечательная идея, собрать всё вместе... Feb 9 2008, 20:02 klen >Создал папку kgp, распаковал всё туда. При рас... Feb 9 2008, 20:49 gte Цитата(klen @ Jan 20 2008, 00:36) Win32:
... Feb 28 2008, 07:00 AHTOXA Цитата(gte @ Feb 28 2008, 12:00) Остальны... Feb 28 2008, 07:23  gte Цитата(AHTOXA @ Feb 28 2008, 10:23) Навер... Feb 28 2008, 20:13   klen Всем привет очередно свежак для arm-elf.
binutils... Mar 7 2008, 11:54    AHTOXA Цитатая наверно сюда сборки буду кидать, чтоб вето... Mar 7 2008, 12:01 umup как лучше работать с разными таргетами ? перед ком... Mar 7 2008, 12:13 AHTOXA Цитата(umup @ Mar 7 2008, 17:13) как лучш... Mar 7 2008, 13:09  klen компиллеры к разным таргетам имеют разные префиксы... Mar 7 2008, 20:51 umup а в makefile задавать соотв. название компилятора ... Mar 8 2008, 11:54 klen Цитата(umup @ Mar 8 2008, 14:54) а в make... Mar 8 2008, 15:10 COMA Вниз ушла. Может стоит закрепить? Apr 23 2008, 18:05 klen Цитата(COMA @ Apr 23 2008, 22:05) Вниз уш... Apr 24 2008, 17:22  Andy Great Цитата(klen @ Apr 24 2008, 20:22) можна и... Apr 25 2008, 06:37  AHTOXA Цитата(klen @ Apr 24 2008, 23:22) можна и... Apr 25 2008, 16:50   klen Цитата(AHTOXA @ Apr 25 2008, 20:50) У мен... Apr 26 2008, 15:46 COMA Это было бы очень хорошо! Apr 24 2008, 20:09 klen собрал свежак
bu 2.18.50.20080422
gcc 4.3.1.20080... Apr 28 2008, 04:33 COMA на работе есть две машины работают круглосуточно.
... Apr 28 2008, 17:52 klen Цитата(COMA @ Apr 28 2008, 21:52) на рабо... Apr 28 2008, 18:21  klen сегодняшний OpenOCD
версии
Open On-Chip Debugger ... Apr 29 2008, 09:09 klen свежак для ARM
bu2.18.50.20080521_gcc4.4.0-200805... May 22 2008, 10:09 Make_Pic Цитата(klen @ May 22 2008, 13:09) свежак ... May 22 2008, 19:15 Krom binutils-2.18.50 нормально собрались? Или пришлось... May 22 2008, 11:02 klen Цитата(Krom @ May 22 2008, 15:02) binutil... May 22 2008, 14:13  Krom Цитата(klen @ May 22 2008, 18:13) с BU да... May 23 2008, 07:10   klen какойто рецидив... нипанятно че произошло.
вытянит... May 23 2008, 13:34    Krom Цитата(klen @ May 23 2008, 17:34) какойто... May 23 2008, 13:52     klen свежий OpenOCD сегодняшний
сконфигурен
--enable-... May 24 2008, 09:40      Andy Great Цитата(klen @ May 24 2008, 12:40) свежий ... May 26 2008, 07:42       klen Цитата(Andy Great @ May 26 2008, 11:42) А... May 26 2008, 08:17        Andy Great Цитата(klen @ May 26 2008, 11:17) нужен? ... May 26 2008, 09:08         klen Цитата(Andy Great @ May 26 2008, 13:08) И... May 26 2008, 16:34 klen Во ознаменование начала лета - летний свежак:
win... Jun 2 2008, 19:26 Chak To klen
У Вас так легко все получается пересобрат... Jul 3 2008, 10:38 klen свежак для арм
http://www.klen.org/Files/DevTools... Jul 22 2008, 13:37  klen Ну че? продолжать?
ктонить пользует реально? Aug 12 2008, 07:43   AHTOXA Цитата(klen @ Aug 12 2008, 13:43) Ну че? ... Aug 12 2008, 07:59    klen Цитата(AHTOXA @ Aug 12 2008, 11:59) ЗЫ. Я... Aug 12 2008, 08:24 Andy Great Реально пока не пользую, но отслеживаю. Полезно оч... Aug 18 2008, 11:06 Сергей Борщ Цитата(Andy Great @ Aug 18 2008, 14:06) П... Aug 20 2008, 05:58 Andy Great ОФФ: вчера читал такого типа инструкцию для желающ... Aug 20 2008, 07:09 Сергей Борщ Цитата(Andy Great @ Aug 20 2008, 10:09) О... Aug 20 2008, 08:09  haker_fox Цитата(Сергей Борщ @ Aug 20 2008, 17:09) ... Sep 2 2008, 23:21   Сергей Борщ Цитата(haker_fox @ Sep 3 2008, 02:21) Упс... Sep 3 2008, 07:28    Make_Pic Цитата(Сергей Борщ @ Sep 3 2008, 10:28) Н... Sep 3 2008, 13:13 ukpyr Несколько вопросов. Компилирую для Mega48.
1. непр... Sep 2 2008, 18:34 klen Цитата(ukpyr @ Sep 2 2008, 22:34) 3. Нова... Sep 2 2008, 20:07 COMA Насколько помню, писали что ушёл в сетевой маркети... Sep 3 2008, 03:52 goodwin Цитата(COMA @ Sep 3 2008, 06:52) Наскольк... Sep 3 2008, 03:59 klen свежак для AVR
bu cvs 20080903
gcc 4.3.2 релиз
av... Sep 4 2008, 16:03 ukpyr Цитатакод в студию
отправил на почту Sep 25 2008, 05:11 kimstik чтото проект не собиратеся под gcc 4.3.2 на at90us... Sep 25 2008, 21:55 aesok Цитата(kimstik @ Sep 26 2008, 01:55) чтот... Sep 26 2008, 05:08 kimstik clean делал конечно же
не помогло
кстати и на kgp_... Sep 27 2008, 21:01 aesok AT90USB162/82 не самое удачное название для этих ч... Sep 27 2008, 21:41  kimstik Цитата(aesok @ Sep 28 2008, 01:41) AT90US... Sep 28 2008, 11:29 klen всем привет, временно осутцтвовал! мы таки вы... Oct 7 2008, 19:21 klen свежак для avr
bu2.19.50_20081005
gcc4.4.0_200810... Oct 13 2008, 10:32  klen ARM
http://klen.org/Files/DevTools/kgp_arm-elf...... Nov 6 2008, 13:12   AHTOXA Цитата(klen @ Nov 6 2008, 19:12) ARM
htt... Nov 10 2008, 19:01   Petka Цитата(klen @ Nov 6 2008, 16:12) кто нибу... Nov 13 2008, 22:59  demiurg_spb Цитата(klen @ Oct 13 2008, 13:32) свежак ... Nov 6 2008, 14:43   klen Цитата(demiurg_spb @ Nov 6 2008, 17:43) Е... Nov 6 2008, 15:57 AHTOXA Цитата(klen @ Nov 12 2008, 00:28) 2_AHTOX... Nov 11 2008, 20:14 AHTOXA Цитата(klen @ Nov 12 2008, 00:28) как про... Nov 12 2008, 16:23  klen Цитата(AHTOXA @ Nov 12 2008, 19:23) Докла... Nov 12 2008, 18:13   AHTOXA Цитата(klen @ Nov 13 2008, 00:13) Кодarm-... Nov 12 2008, 19:34  ReAl Цитата(Rst7 @ Nov 13 2008, 08:49) Как-то ... Nov 15 2008, 13:23   klen получилось
опции -Os
Кодvoid cpy ( char* x ,... Nov 16 2008, 21:12    Rst7 Цитата(klen @ Nov 16 2008, 23:12) что хар... Nov 16 2008, 21:45 Rst7 Цитата-O9 всетаки нет такого уровня оптимизации, п... Nov 13 2008, 09:22 klen Цитата(Rst7 @ Nov 13 2008, 12:22) -O3 тож... Nov 13 2008, 09:46 Rst7 Там почти что одна огромная функция. Набитая цикла... Nov 13 2008, 10:02 klen Цитата(Rst7 @ Nov 13 2008, 13:02) Там поч... Nov 13 2008, 10:03 AHTOXA А мне что-нить подскажете? Nov 13 2008, 10:09 AHTOXA Цитата(AHTOXA @ Nov 13 2008, 16:09) А мне... Nov 13 2008, 19:44  klen Цитата(AHTOXA @ Nov 13 2008, 22:44) В общ... Nov 14 2008, 06:52   AHTOXA Цитата(klen @ Nov 14 2008, 12:52) я также... Nov 14 2008, 19:44    klen >А что, есть сомнения?
есть сомнения в целесо... Nov 15 2008, 08:03     AHTOXA Цитата(klen @ Nov 15 2008, 14:03) выбери ... Nov 15 2008, 12:26   Сергей Борщ Цитата(klen @ Nov 14 2008, 08:52) Текущее... Nov 15 2008, 08:14    klen Цитата(Сергей Борщ @ Nov 15 2008, 11:14) ... Nov 15 2008, 10:27 Rst7 Цитатадавайте
Могу, кстати, еще в досыл дать иаро... Nov 13 2008, 11:51 Rst7 Цитатаэто вроде то что нужно
Кстати, и к этому ко... Nov 17 2008, 06:03 klen Цитата(Rst7 @ Nov 17 2008, 09:03) Кстати,... Nov 17 2008, 11:31 Rst7 Цитатаиар не смог сделать группировку и выполнить ... Nov 17 2008, 11:45 ukpyr вопрос к klen : на какую папку настроена ваша сбор... Nov 19 2008, 17:49
13 страниц
1 2 3 > »
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|