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

 
 
85 страниц V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> свежак KGP win32/arm/avr/mips/m68k, GNU tools chain
kimstik
сообщение Sep 25 2008, 21:55
Сообщение #61


Участник
*

Группа: Свой
Сообщений: 46
Регистрация: 4-02-05
Из: Москва
Пользователь №: 2 430



чтото проект не собиратеся под gcc 4.3.2 на at90usb162 - в либах путается
в kgp_avr-elf_bu2.18.50.20080601_gcc4.4.0.20080530_gdb6.8.20080531_avrlibc1.6.2.7z все собирается на ура

avr-gcc -mmcu=at90usb162 -I. -gdwarf-2 -DF_CPU=8000000UL -DBOARD=BOARD_USBKEY -DUSE_NONSTANDARD_DESCRIPTOR_NAMES -DUSB_DEVICE_ONLY -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED)" -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -finline-limit=20 -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=CDC.o -I../../ -std=gnu99 -Wundef -MMD -MP -MF .dep/CDC.elf.d CDC.o Descriptors.o ../../MyUSB/Scheduler/Scheduler.o ../../MyUSB/Drivers/USB/LowLevel/LowLevel.o ../../MyUSB/Drivers/USB/LowLevel/Endpoint.o ../../MyUSB/Drivers/USB/LowLevel/DevChapter9.o ../../MyUSB/Drivers/USB/HighLevel/USBTask.o ../../MyUSB/Drivers/USB/HighLevel/USBInterrupt.o ../../MyUSB/Drivers/USB/HighLevel/Events.o ../../MyUSB/Drivers/USB/HighLevel/StdDescriptors.o --outp
ut CDC.elf -Wl,-Map=CDC.map,--cref -Wl,--relax -Wl,--gc-sections -lm
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr35/crtusb162.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:51 architecture of input file `CDC.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:51 architecture of input file `Descriptors.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Scheduler/Scheduler.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/LowLevel/LowLevel.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/LowLevel/Endpoint.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/LowLevel/DevChapter9.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/HighLevel/USBTask.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/HighLevel/USBInterrupt.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/HighLevel/Events.o' is incompatible with avr:3 output
e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/HighLevel/StdDescriptors.o' is incompatible with avr:3 output
make: *** [CDC.elf] Error 1
Go to the top of the page
 
+Quote Post
aesok
сообщение Sep 26 2008, 05:08
Сообщение #62


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(kimstik @ Sep 26 2008, 01:55) *
чтото проект не собиратеся под gcc 4.3.2 на at90usb162 - в либах путается

Код
make clean
make


Помогло?

Анатолий.
Go to the top of the page
 
+Quote Post
kimstik
сообщение Sep 27 2008, 21:01
Сообщение #63


Участник
*

Группа: Свой
Сообщений: 46
Регистрация: 4-02-05
Из: Москва
Пользователь №: 2 430



clean делал конечно же
не помогло
кстати и на kgp_avr-bu2.18.50.20080115_gcc4.3.0.20080111_avr-libc20080115.7z компилится на ура
Go to the top of the page
 
+Quote Post
aesok
сообщение Sep 27 2008, 21:41
Сообщение #64


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



AT90USB162/82 не самое удачное название для этих чипов. Хотя их название
начинается с AT90 как у AT90USB128*, AT90PWM* и по аналогии могло показаться
что в них стоит ядро ATmega, но на самом деле они не имеют инструкций
умножения, в них стоит ядро как в новых ATtiny. AT90USB82 обладает еще одним
уникальным свойством, не смотря но то что он имеет всего 8 КВ флеш, в нем
работают инструкции JMP/CALL и вектора прерываний расположены со
смещением в 4 байта, а не два как у всех других контролеров с 8 и менее флеш.

AT90USB162/82 реально поддерживаются в GCC с версии 4.3.3
(может 4.3.2). И то для binutils 2.18 требуется небольшой патч.

Для работы я бы порекомендовал вам использовать WinAVR2080610. Если Вы будете
использовать другие сборки проверьте что компилятор не генерирует инструкции
умножения для этих контроллеров.

Анатолий.

PS: более ранние версии не будут использовать инструкцю MOVW для AT90USB162/82.

Сообщение отредактировал aesok - Sep 27 2008, 21:54
Go to the top of the page
 
+Quote Post
kimstik
сообщение Sep 28 2008, 11:29
Сообщение #65


Участник
*

Группа: Свой
Сообщений: 46
Регистрация: 4-02-05
Из: Москва
Пользователь №: 2 430



Цитата(aesok @ Sep 28 2008, 01:41) *
AT90USB162/82 не самое удачное название для этих чипов. Хотя их название
начинается с AT90 как у AT90USB128*, AT90PWM* и по аналогии могло показаться
что в них стоит ядро ATmega, но на самом деле они не имеют инструкций
умножения, в них стоит ядро как в новых ATtiny. AT90USB82 обладает еще одним
уникальным свойством, не смотря но то что он имеет всего 8 КВ флеш, в нем
работают инструкции JMP/CALL и вектора прерываний расположены со
смещением в 4 байта, а не два как у всех других контролеров с 8 и менее флеш.

AT90USB162/82 реально поддерживаются в GCC с версии 4.3.3
(может 4.3.2). И то для binutils 2.18 требуется небольшой патч.

Для работы я бы порекомендовал вам использовать WinAVR2080610. Если Вы будете
использовать другие сборки проверьте что компилятор не генерирует инструкции
умножения для этих контроллеров.

Анатолий.

PS: более ранние версии не будут использовать инструкцю MOVW для AT90USB162/82.


Все правильно написано.
Думаю это кому нибудь будет полезно.
прико в другом.
проект легко и непринужденно собирается этим:
kgp_avr-bu2.18.50.20080115_gcc4.3.0.20080111_avr-libc20080115.7z
kgp_avr-elf_bu2.18.50.20080601_gcc4.4.0.20080530_gdb6.8.20080531_avrlibc1.6.2.7z
и собранное успешно работает в железе. <---

А 4.3.2 - не желает. И не в процессе выполнения, когда надо делать собственно умножение.
Возможно патчей каких не хватает. Мне сложно судить.
Проект кстати достаточно развитый http://www.fourwalledcubicle.com/MyUSB.php
Go to the top of the page
 
+Quote Post
klen
сообщение Oct 7 2008, 19:21
Сообщение #66


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

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



всем привет, временно осутцтвовал! мы таки выпустили LockOn Черную Акулу на моей второй основной работе beer.gif теперь чуток больше времени будет для творчества yeah.gif

свежак для arm

http://www.klen.org/Files/DevTools/kgp_arm...6.0.20081005.7z
Go to the top of the page
 
+Quote Post
klen
сообщение Oct 13 2008, 10:32
Сообщение #67


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

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



свежак для avr

bu2.19.50_20081005
gcc4.4.0_20081003
avrlibc1.6.2

http://www.klen.org/Files/DevTools/kgp_avr...avrlibc1.6.2.7z
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 6 2008, 13:12
Сообщение #68


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

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



ARM

http://klen.org/Files/DevTools/kgp_arm-elf...6.0.20081106.7z

кто нибудь использует bigendian, если да то где и в чем.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Nov 6 2008, 14:43
Сообщение #69


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

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



Цитата(klen @ Oct 13 2008, 13:32) *
свежак для avr
bu2.19.50_20081005
gcc4.4.0_20081003
avrlibc1.6.2
Есть вопрос про файл iom88p.h
Это так и задумано?
Код
#define PORTB _SFR_IO8(0x05)
#define PORTB0 0
#define PORTB1 1
#define PORTB2 2
#define PORTB3 3
#define PORTB4 4
#define PORTB5 5
#define PORTB6 6
#define PORTB7 7

Вместо того как было раньше:
Код
#define PORTB _SFR_IO8(0x05)
#define PB0 0
#define PB1 1
#define PB2 2
#define PB3 3
#define PB4 4
#define PB5 5
#define PB6 6
#define PB7 7

Я считаю что это бред...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 6 2008, 15:57
Сообщение #70


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

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



Цитата(demiurg_spb @ Nov 6 2008, 17:43) *
Есть вопрос про файл iom88p.h
Это так и задумано?
Код
#define PORTB _SFR_IO8(0x05)
#define PORTB0 0
#define PORTB1 1
#define PORTB2 2
#define PORTB3 3
#define PORTB4 4
#define PORTB5 5
#define PORTB6 6
#define PORTB7 7

Вместо того как было раньше:
Код
#define PORTB _SFR_IO8(0x05)
#define PB0 0
#define PB1 1
#define PB2 2
#define PB3 3
#define PB4 4
#define PB5 5
#define PB6 6
#define PB7 7

Я считаю что это бред...

Хехе, это не компиллер, это не комне smile.gif
позвонил другу брату и товарищу aesok, этот косяг и так быть не должно. должно быть и длинное и короткое определенее портов. Типа уже все поправлено, если все будеть нотмально то завтра получим свежак, с обновленным avrlibc1.6.3 там будет как раньше.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 10 2008, 19:01
Сообщение #71


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(klen @ Nov 6 2008, 19:12) *


Респект!
А он умеет компилировать под Cortex-M3? Попытался сейчас собрать мигающий светодиод для STM32-H103 от Олимекс, и получил что-то типа
as : unknown option -mcpu=CortexM3 (не дословно).

И ещё маленькая просьба - собирать openocd с поддержкой параллельного портаsmile.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 11 2008, 18:28
Сообщение #72


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

Группа: Свой
Сообщений: 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
AHTOXA
сообщение Nov 11 2008, 20:14
Сообщение #73


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(klen @ Nov 12 2008, 00:28) *
2_AHTOXA
-mcpu=CortexM3 я патсталом smile.gif

Я ж написал - не дословноsmile.gif Я тупо пытался скомпилить пример с олимекса, поправив имена компилятора и проч.
Цитата
для GCC нада -mtumb -mcpu=cortex-m3

Ну вот, на это и ругалосьsmile.gif
Цитата
как проект соберется отпешитесь что все впорядке или не в порядке , сам хочу в терре купить олимекс
плату STM32-H103

У меня как раз такая. Хорошо, завтра вечерком скачаю и отпишусь.
Цитата
попробывал тупо собрать проекты для этой платы с сайта олимекса, все собрались, тока нада чуток опции имя тулсов и опции objcopy поправить.

У меня вроде до objcopy дело не доходило... Хотя я не углублялся, решил сначала спросить, возможно ли это в принципе.
Цитата
посмотрел исходники примеров и либ STM... у тех кто их писал видимо рак мозга, такого издевательства над языком С я даже от микрософта не видал.

Это да, это очень сильно:-)))


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 12 2008, 16:23
Сообщение #74


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(klen @ Nov 12 2008, 00:28) *
как проект соберется отпешитесь что все впорядке или не в порядке , сам хочу в терре купить олимекс
плату STM32-H103

попробывал тупо собрать проекты для этой платы с сайта олимекса, все собрались, тока нада чуток опции имя тулсов и опции objcopy поправить.


Докладываю, скомпилировалось. Но bin-файл получился за 500Мб:-) Что надо сказать objcopy?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 12 2008, 18:13
Сообщение #75


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

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



Цитата(AHTOXA @ Nov 12 2008, 19:23) *
Докладываю, скомпилировалось. Но bin-файл получился за 500Мб:-) Что надо сказать objcopy?

Код
arm-kgp-elf-objcopy -O ihex ../../out/image.elf ../../out/image.hex
arm-kgp-elf-objcopy -O elf32-littlearm -S ../../out/image.elf ../../out/image.bin
arm-kgp-elf-objdump -x --syms ../../out/image.elf > ../../out/image.dmp
arm-kgp-elf-objdump -h -S ../../out/image.elf > ../../out/image.lss
arm-kgp-elf-size -B -t -x ../../out/image.elf
Go to the top of the page
 
+Quote Post

85 страниц V  « < 3 4 5 6 7 > » 
Reply to this topicStart new topic
13 чел. читают эту тему (гостей: 13, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:32
Рейтинг@Mail.ru


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