kimstik 0 25 сентября, 2008 Опубликовано 25 сентября, 2008 · Жалоба чтото проект не собиратеся под 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 26 сентября, 2008 Опубликовано 26 сентября, 2008 · Жалоба чтото проект не собиратеся под gcc 4.3.2 на at90usb162 - в либах путается make clean make Помогло? Анатолий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kimstik 0 27 сентября, 2008 Опубликовано 27 сентября, 2008 · Жалоба clean делал конечно же не помогло кстати и на kgp_avr-bu2.18.50.20080115_gcc4.3.0.20080111_avr-libc20080115.7z компилится на ура Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 27 сентября, 2008 Опубликовано 27 сентября, 2008 (изменено) · Жалоба 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. Изменено 27 сентября, 2008 пользователем aesok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kimstik 0 28 сентября, 2008 Опубликовано 28 сентября, 2008 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 7 октября, 2008 Опубликовано 7 октября, 2008 · Жалоба всем привет, временно осутцтвовал! мы таки выпустили LockOn Черную Акулу на моей второй основной работе :beer: теперь чуток больше времени будет для творчества :yeah: свежак для arm http://www.klen.org/Files/DevTools/kgp_arm...6.0.20081005.7z Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 13 октября, 2008 Опубликовано 13 октября, 2008 · Жалоба свежак для avr bu2.19.50_20081005 gcc4.4.0_20081003 avrlibc1.6.2 http://www.klen.org/Files/DevTools/kgp_avr...avrlibc1.6.2.7z Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 6 ноября, 2008 Опубликовано 6 ноября, 2008 · Жалоба ARM http://klen.org/Files/DevTools/kgp_arm-elf...6.0.20081106.7z кто нибудь использует bigendian, если да то где и в чем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 6 ноября, 2008 Опубликовано 6 ноября, 2008 · Жалоба свежак для 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 Я считаю что это бред... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 6 ноября, 2008 Опубликовано 6 ноября, 2008 · Жалоба Есть вопрос про файл 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 Я считаю что это бред... Хехе, это не компиллер, это не комне :) позвонил другу брату и товарищу aesok, этот косяг и так быть не должно. должно быть и длинное и короткое определенее портов. Типа уже все поправлено, если все будеть нотмально то завтра получим свежак, с обновленным avrlibc1.6.3 там будет как раньше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 10 ноября, 2008 Опубликовано 10 ноября, 2008 · Жалоба ARM http://klen.org/Files/DevTools/kgp_arm-elf...6.0.20081106.7z Респект! А он умеет компилировать под Cortex-M3? Попытался сейчас собрать мигающий светодиод для STM32-H103 от Олимекс, и получил что-то типа as : unknown option -mcpu=CortexM3 (не дословно). И ещё маленькая просьба - собирать openocd с поддержкой параллельного порта:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 11 ноября, 2008 Опубликовано 11 ноября, 2008 · Жалоба Свежак А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... у тех кто их писал видимо рак мозга, такого издевательства над языком С я даже от микрософта не видал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 11 ноября, 2008 Опубликовано 11 ноября, 2008 · Жалоба 2_AHTOXA -mcpu=CortexM3 я патсталом :) Я ж написал - не дословно:) Я тупо пытался скомпилить пример с олимекса, поправив имена компилятора и проч. для GCC нада -mtumb -mcpu=cortex-m3 Ну вот, на это и ругалось:) как проект соберется отпешитесь что все впорядке или не в порядке , сам хочу в терре купить олимекс плату STM32-H103 У меня как раз такая. Хорошо, завтра вечерком скачаю и отпишусь. попробывал тупо собрать проекты для этой платы с сайта олимекса, все собрались, тока нада чуток опции имя тулсов и опции objcopy поправить. У меня вроде до objcopy дело не доходило... Хотя я не углублялся, решил сначала спросить, возможно ли это в принципе. посмотрел исходники примеров и либ STM... у тех кто их писал видимо рак мозга, такого издевательства над языком С я даже от микрософта не видал. Это да, это очень сильно:-))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 12 ноября, 2008 Опубликовано 12 ноября, 2008 · Жалоба как проект соберется отпешитесь что все впорядке или не в порядке , сам хочу в терре купить олимекс плату STM32-H103 попробывал тупо собрать проекты для этой платы с сайта олимекса, все собрались, тока нада чуток опции имя тулсов и опции objcopy поправить. Докладываю, скомпилировалось. Но bin-файл получился за 500Мб:-) Что надо сказать objcopy? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 12 ноября, 2008 Опубликовано 12 ноября, 2008 · Жалоба Докладываю, скомпилировалось. Но 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться