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

 
 
> свежак KGP win32/arm/avr/mips/m68k, GNU tools chain
klen
сообщение Jan 19 2008, 21:36
Сообщение #1


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

Группа: Свой
Сообщений: 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
тоде самое, веду проект, все скомпиленное работает.

спасиба за внимание.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
klen
сообщение Nov 11 2008, 18:28
Сообщение #2


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

Группа: Свой
Сообщений: 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 я патсталом smile.gif
конечно умеет тока ему об этом нада сказать. рекомендую 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... у тех кто их писал видимо рак мозга, такого издевательства над языком С я даже от микрософта не видал.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 13 2008, 06:49
Сообщение #3


Йа моск ;)
******

Группа: Модераторы
Сообщений: 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>


Баг-репорт отправлять прямо туда или Вам?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 13 2008, 09:15
Сообщение #4


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

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



1. чтото мне тож это не нравица, есть о чем подумать
2. -O9 всетаки нет такого уровня оптимизации, поменяйте на 0,1,2,3,s. должен пережевать исходник.
3. ветка 4.4 нестабильная, вылазит гадость, болше чем из стабильных.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Nov 13 2008, 11:38
Сообщение #5


неотягощённый злом
******

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



Цитата(klen @ Nov 13 2008, 12:15) *
1. чтото мне тож это не нравица, есть о чем подумать
Да и раньше было не сахар (я тут писал об оптимизации скорости вывода на дисплей).
Таким макаром циклы реализовывать это надо уметь.
Самое обидное, что ничего в этом направлении не меняется уже давно...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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 страниц V   1 2 3 > » 


Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 19:23
Рейтинг@Mail.ru


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