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

 
 
> свежак 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
85 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 99)
oll
сообщение Jan 22 2008, 15:52
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 10-10-05
Пользователь №: 9 463



2 Klen - a14.gif Спасибо. Тут меня на работе спросили (сам пользуюсь pn+make) как прикрутить Вашу сборку к AVR Studio вместо WinAVR - я предложил просто заменить файлы в папке WinAVR. Правильно ли это?
И еще - бывает ли GNU компилятор для 16 пиков?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 22 2008, 18:49
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(oll @ Jan 22 2008, 17:52) *
И еще - бывает ли GNU компилятор для 16 пиков?
Не из семейства GCC, но тоже под GPL - SDCC Брать не релиз (который 2.7.0) - в нем нет библиотек для PIC18Fxxx, а snapshot (в нем еще и некоторые ошибки поправлены). Еще потребуются gputils, искать на sourceforge.net


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Kirill Trusov
сообщение Jan 22 2008, 19:05
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 17-08-07
Пользователь №: 29 867



а для чаво эта сборка ? т.е винавр хуже или в чем причина
Go to the top of the page
 
+Quote Post
klen
сообщение Jan 22 2008, 19:09
Сообщение #5


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

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



Цитата(oll @ Jan 22 2008, 18:52) *
2 Klen - a14.gif Спасибо. Тут меня на работе спросили (сам пользуюсь pn+make) как прикрутить Вашу сборку к AVR Studio вместо WinAVR - я предложил просто заменить файлы в папке WinAVR. Правильно ли это?
И еще - бывает ли GNU компилятор для 16 пиков?


1. Затирать не надо, просто слейте все в любую папку.
2. Из переменной PATH перенаправте путь из ......WinAVR/bin в ....kgp/bin.

в таком случае Вы сможете переключать изспользуемые версии тулсов. Можно записать в PATH оба пути к bin , использоватся будет та которая первей стоить.

Цитата(Kirill Trusov @ Jan 22 2008, 22:05) *
а для чаво эта сборка ? т.е винавр хуже или в чем причина

WinAVR ядро avr35(usb82,usb162) поддерживает?
Go to the top of the page
 
+Quote Post
Kirill Trusov
сообщение Jan 22 2008, 19:11
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 17-08-07
Пользователь №: 29 867



т.е если я еще на меге8 да 32 . то и не надо smile.gif
Go to the top of the page
 
+Quote Post
klen
сообщение Jan 22 2008, 19:15
Сообщение #7


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

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



Цитата(Kirill Trusov @ Jan 22 2008, 22:11) *
т.е если я еще на меге8 да 32 . то и не надо smile.gif


необязательно smile.gif
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 9 2008, 20:02
Сообщение #8


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

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



Привет! Замечательная идея, собрать всё вместе. А то у меня MinGW, WinAVR, WinARm и msp-gcc стоят все порознь, и иногда между собой дерутся:-)

Скачал:
  1. KGP Win32
  2. KGP 8bit AVR
  3. KGP ARM

Создал папку kgp, распаковал всё туда. При распаковке оказалось, что файл lib/libiberty.a есть в каждом архиве, причём вроде разные. Это нормально?

Не нашёл make и пр.. Взял из winavr, закинул в bin.
Собрал проект на avr - размер прошивки ещё немного подрос :-(
На arm тоже собрал, работает:-)
Вот бы ещё и msp-gcc туда влить, а то он теперь у меня как белая ворона, да ещё и цыгвиновский:-)

Короче, респект за проделанную работу:-)


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


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

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



>Создал папку kgp, распаковал всё туда. При распаковке оказалось, что файл lib/libiberty.a есть в >каждом архиве, причём вроде разные. Это нормально?

на это забей

>Не нашёл make и пр.. Взял из winavr, закинул в bin.
вроде ложил...

>Вот бы ещё и msp-gcc туда влить, а то он теперь у меня как белая ворона, да ещё и цыгвиновский:-)
я подумаю над этим
Go to the top of the page
 
+Quote Post
gte
сообщение Feb 28 2008, 07:00
Сообщение #10


Гуру
******

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



Цитата(klen @ Jan 20 2008, 00:36) *
Win32:
KGP Win32
здесь все, включая нидеры и либы, это то чем я собираю ВСЕ остальноя, включая драйверы для масдая. ~18Mb
работает, мин нет.


Остальные ссылки в сообщении работают, а эта дает ошибку. Можно поправить?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 28 2008, 07:23
Сообщение #11


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

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



Цитата(gte @ Feb 28 2008, 12:00) *
Остальные ссылки в сообщении работают, а эта дает ошибку. Можно поправить?


Наверное потому, что есть более свежий свежак? :-)

Вот по этой ссылке: http://electronix.ru/forum/index.php?showtopic=43254


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


Гуру
******

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



Цитата(AHTOXA @ Feb 28 2008, 10:23) *
Наверное потому, что есть более свежий свежак? :-)

Спасибо.
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 7 2008, 11:54
Сообщение #13


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

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



Всем привет очередно свежак для arm-elf.

binutils-2.18.50-cvs-20080307
gcc-4.4.0-snapshot-20080229 собрано для всех вариантов(multilib) кроме реализаций без умножителя
newlib-cvs-20080306
gdb-cvs-200800307
openocd-svn-20080307

формат 7z
бросаете распакованное в любую папку, прописываете PATH папка/bin далее должно быть все бкз проблем, хидеры и либы должны сами находится и линковатся без дополнительных гимороев.

arm:

KGP arm-elf

недолго тестил вроде бы FreeRTOS+lpc2148 задач под завязку- не жалуется, работает. gdb и openocd тоже работает, тестил с Eclipse

я наверно сюда сборки буду кидать, чтоб веток не плодить.

еще готово свежее для mingw, если кому срочно-интересно, то выложу
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Mar 7 2008, 12:01
Сообщение #14


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

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



Цитата
я наверно сюда сборки буду кидать, чтоб веток не плодить.


И это верно:-) Вроде же было предложение закрепить тему?


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


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



как лучше работать с разными таргетами ? перед компиляцией добавлять к PATH путь к папке bin соответствующего компилятора ?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Mar 7 2008, 13:09
Сообщение #16


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

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



Цитата(umup @ Mar 7 2008, 17:13) *
как лучше работать с разными таргетами ? перед компиляцией добавлять к PATH путь к папке bin соответствующего компилятора ?


Нет. Там все таргеты свалены в папку bin. Просто путь к ней, и всё...


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 7 2008, 20:51
Сообщение #17


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

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



компиллеры к разным таргетам имеют разные префиксы arm-elf-* avr-* mips-linux-* i686-pc-mingw-*

валить в одну кучу и даприбудет с Вами сила
Go to the top of the page
 
+Quote Post
umup
сообщение Mar 8 2008, 11:54
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



а в makefile задавать соотв. название компилятора ?
типа GCC=i686-pc-mingw32-gcc ?
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 8 2008, 15:10
Сообщение #19


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

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



Цитата(umup @ Mar 8 2008, 14:54) *
а в makefile задавать соотв. название компилятора ?
типа GCC=i686-pc-mingw32-gcc ?

ага
для mingw можно просто gcc as ld .....
Go to the top of the page
 
+Quote Post
COMA
сообщение Apr 23 2008, 18:05
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



Вниз ушла. Может стоит закрепить?
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 24 2008, 17:22
Сообщение #21


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

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



Цитата(COMA @ Apr 23 2008, 22:05) *
Вниз ушла. Может стоит закрепить?

можна и закрепить.
на выходных попробую все пресобрать, а то чето пауза кокая то - работет типо все и так smile.gif ...
Go to the top of the page
 
+Quote Post
COMA
сообщение Apr 24 2008, 20:09
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



Это было бы очень хорошо!
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Apr 25 2008, 06:37
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Цитата(klen @ Apr 24 2008, 20:22) *
можна и закрепить.
на выходных попробую все пресобрать, а то чето пауза кокая то - работет типо все и так smile.gif ...

А можно ли попросить Вас сделать на сайте хотя бы просмотр каталога с тулчейнами? А то недавно срочно понадобилось проверить кое-что, Электроникс лег (тьфу-тьфу), пришлось ждать сутки.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Apr 25 2008, 16:50
Сообщение #24


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

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



Цитата(klen @ Apr 24 2008, 23:22) *
можна и закрепить.
на выходных попробую все пресобрать, а то чето пауза кокая то - работет типо все и так smile.gif ...


У меня тоже пожелание:-) openocd.exe там есть, а вот openocd-pp.exe - нету. Хотя это не очень важно:-)

А насчёт присоединить mspgcc пока никак?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 26 2008, 15:46
Сообщение #25


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

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



Цитата(AHTOXA @ Apr 25 2008, 20:50) *
У меня тоже пожелание:-) openocd.exe там есть, а вот openocd-pp.exe - нету. Хотя это не очень важно:-)

А насчёт присоединить mspgcc пока никак?


я не помню, но вроде openocd собирал с поддержкой всего сразу, в т.ч и парпорта

msp - пробывать, времени не хватает
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 28 2008, 04:33
Сообщение #26


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

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



собрал свежак

bu 2.18.50.20080422
gcc 4.3.1.20080424
avr-libc1.6.2
newlib 20080424
gdb 6.8
openocd 20080428 (собрал наскоро с поддержкой d2xx чтоб проверить весь тулчейн, можно если надо по полной собрать)

AVR:
bu2.18.50.20080422_gcc4.3.1.20080424_avr-libc1.6.2.7z


ARM:
http://klen.org/Files/DevTools/kgp_arm-bu2...nocd20080428.7z
собраны все конфигурации(точнее их перемножество ) be le fpu interwork thumb thumb2




пробуйте. арм сборка собрала мой проект, он заработал. авр не пробывал, нет под рукой платки.

дайте телнет на машину с 1 гигом для сборки и числом процессоров от 8 штук, а? если есть у кого не жалко? сборка для арм на двух процах дома занимает аж 6 часов - нервы портятся...
Go to the top of the page
 
+Quote Post
COMA
сообщение Apr 28 2008, 17:52
Сообщение #27


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



на работе есть две машины работают круглосуточно.
на одном коре дуо 2 ггц и 4 г озу
на втором коре дуо 1.8 ггц и 1 г озу.
больше ничего нет sad.gif
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 28 2008, 18:21
Сообщение #28


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

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



Цитата(COMA @ Apr 28 2008, 21:52) *
на работе есть две машины работают круглосуточно.
на одном коре дуо 2 ггц и 4 г озу
на втором коре дуо 1.8 ггц и 1 г озу.
больше ничего нет sad.gif

да неа, спасиба, я у себя дома сам через distcc могу запряч 6 ядер в сумме - всеравно это крохи. хочется попробывать найти многопроцесорную машину, чтоб все процы на одной шине были .....

ну ниче, пока так поживем
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 29 2008, 09:09
Сообщение #29


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

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



сегодняшний OpenOCD
версии
Open On-Chip Debugger 1.0 (2008-04-29-09:06)


собран с ключами
--prefix= --enable-parport --enable-dummy --enable-ft2232_ftd2xx --enable-amtjtagaccel --enable-ep93xx --enable-at91rm9200 --enable-gw16012 --enable-ecosboard --enable-presto_ftd2xx --enable--oocd_trace

http://klen.org/Files/DevTools/openocd.exe
Go to the top of the page
 
+Quote Post
klen
сообщение May 22 2008, 10:09
Сообщение #30


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

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



свежак для ARM

bu2.18.50.20080521_gcc4.4.0-20080516_newlib20080521_gdb6.8.7z

полный мультилиб, be/fpu/interwork/thumb/thumb2(для кортексов)

тестирую на lpc2148/FreeRTOS/12 задачек, динамическое выделение памяти и тд - работает без сбоев.

к выходным будет планируется всежак под mips64, avr, mingw32
Go to the top of the page
 
+Quote Post
Krom
сообщение May 22 2008, 11:02
Сообщение #31


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 27-06-05
Из: Россия
Пользователь №: 6 324



binutils-2.18.50 нормально собрались? Или пришлось пошаманить? У меня они собираться отказались, я пока ограничился 2.18.1
Go to the top of the page
 
+Quote Post
klen
сообщение May 22 2008, 14:13
Сообщение #32


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

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



Цитата(Krom @ May 22 2008, 15:02) *
binutils-2.18.50 нормально собрались? Или пришлось пошаманить? У меня они собираться отказались, я пока ограничился 2.18.1

с BU давно никаких проблем нет, руками не трогаю. Что именно не компиляется/несобирается
Go to the top of the page
 
+Quote Post
Make_Pic
сообщение May 22 2008, 19:15
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



Цитата(klen @ May 22 2008, 13:09) *
свежак для ARM

bu2.18.50.20080521_gcc4.4.0-20080516_newlib20080521_gdb6.8.7z

полный мультилиб, be/fpu/interwork/thumb/thumb2(для кортексов)

тестирую на lpc2148/FreeRTOS/12 задачек, динамическое выделение памяти и тд - работает без сбоев.

к выходным будет планируется всежак под mips64, avr, mingw32


А для MC68000/Coldfire не планируется?
Go to the top of the page
 
+Quote Post
Krom
сообщение May 23 2008, 07:10
Сообщение #34


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 27-06-05
Из: Россия
Пользователь №: 6 324



Цитата(klen @ May 22 2008, 18:13) *
с BU давно никаких проблем нет, руками не трогаю. Что именно не компиляется/несобирается

Конфигурирую со следующими опциями:
--prefix=${PREFIX} --target=${TARGET} --disable-nls --disable-shared --with-gnu-ld --with-gnu-as --enable-interwork --enable-multlib --with-float=soft

При сборке выдает следущее:
arlex.l: In function ‘yylex’:
arlex.l:44: error: ‘ADDLIB’ undeclared (first use in this function)
arlex.l:44: error: (Each undeclared identifier is reported only once
arlex.l:44: error: for each function it appears in.)
arlex.l:45: error: ‘ADDMOD’ undeclared (first use in this function)
arlex.l:46: error: ‘CLEAR’ undeclared (first use in this function)
arlex.l:47: error: ‘CREATE’ undeclared (first use in this function)
arlex.l:48: error: ‘DELETE’ undeclared (first use in this function)
arlex.l:49: error: ‘DIRECTORY’ undeclared (first use in this function)
arlex.l:50: error: ‘END’ undeclared (first use in this function)
arlex.l:51: error: ‘EXTRACT’ undeclared (first use in this function)
arlex.l:52: error: ‘FULLDIR’ undeclared (first use in this function)
arlex.l:53: error: ‘HELP’ undeclared (first use in this function)
arlex.l:54: error: ‘LIST’ undeclared (first use in this function)
arlex.l:55: error: ‘OPEN’ undeclared (first use in this function)
arlex.l:56: error: ‘REPLACE’ undeclared (first use in this function)
arlex.l:57: error: ‘VERBOSE’ undeclared (first use in this function)
arlex.l:58: error: ‘SAVE’ undeclared (first use in this function)
arlex.l:79: error: ‘yylval’ undeclared (first use in this function)
arlex.l:80: error: ‘FILENAME’ undeclared (first use in this function)
arlex.l:85: error: ‘NEWLINE’ undeclared (first use in this function)
arlex.c: At top level:
arlex.c:1856: warning: no previous prototype for ‘yyget_lineno’
arlex.c:1865: warning: no previous prototype for ‘yyget_in’
arlex.c:1873: warning: no previous prototype for ‘yyget_out’
arlex.c:1881: warning: no previous prototype for ‘yyget_leng’
arlex.c:1890: warning: no previous prototype for ‘yyget_text’
arlex.c:1899: warning: no previous prototype for ‘yyset_lineno’
arlex.c:1911: warning: no previous prototype for ‘yyset_in’
arlex.c:1916: warning: no previous prototype for ‘yyset_out’
arlex.c:1921: warning: no previous prototype for ‘yyget_debug’
arlex.c:1926: warning: no previous prototype for ‘yyset_debug’
arlex.c:1960: warning: no previous prototype for ‘yylex_destroy’
make[4]: *** [arlex.o] Ошибка 1
make[4]: Leaving directory `/usr/local/arm/src/build/binutils-2.18.50/binutils'
make[3]: *** [all-recursive] Ошибка 1
make[3]: Leaving directory `/usr/local/arm/src/build/binutils-2.18.50/binutils'
make[2]: *** [all] Ошибка 2
make[2]: Leaving directory `/usr/local/arm/src/build/binutils-2.18.50/binutils'
make[1]: *** [all-binutils] Ошибка 2
make[1]: Leaving directory `/usr/local/arm/src/build/binutils-2.18.50'
make: *** [all] Ошибка 2

Все тоже самое с binutils-2.18-1 проходит на ура
Go to the top of the page
 
+Quote Post
klen
сообщение May 23 2008, 13:34
Сообщение #35


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

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



какойто рецидив... нипанятно че произошло.
вытяните исходники через CVS и попробуйте еще раз.
Go to the top of the page
 
+Quote Post
Krom
сообщение May 23 2008, 13:52
Сообщение #36


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 27-06-05
Из: Россия
Пользователь №: 6 324



Цитата(klen @ May 23 2008, 17:34) *
какойто рецидив... нипанятно че произошло.
вытяните исходники через CVS и попробуйте еще раз.

Да я вообще-то исходники с дебиана брал, может они там чего наворочали.
Go to the top of the page
 
+Quote Post
klen
сообщение May 24 2008, 09:40
Сообщение #37


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

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



свежий OpenOCD сегодняшний

сконфигурен
--enable-parport --enable-dummy --enable-ft2232_ftd2xx --enable-amtjtagaccel --enable-ep
-93xx --enable-ecosboard --enable-at91rm9200 --enable-gw16012 --enable-presto_ftd2xx


http://www.klen.org/Files/DevTools/openocd.exe
Go to the top of the page
 
+Quote Post
Andy Great
сообщение May 26 2008, 07:42
Сообщение #38


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Цитата(klen @ May 24 2008, 12:40) *
свежий OpenOCD сегодняшний

сконфигурен
--enable-parport --enable-dummy --enable-ft2232_ftd2xx --enable-amtjtagaccel --enable-ep
-93xx --enable-ecosboard --enable-at91rm9200 --enable-gw16012 --enable-presto_ftd2xx
http://www.klen.org/Files/DevTools/openocd.exe

А поддержку JLink не проверяли?
Go to the top of the page
 
+Quote Post
klen
сообщение May 26 2008, 08:17
Сообщение #39


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

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



Цитата(Andy Great @ May 26 2008, 11:42) *
А поддержку JLink не проверяли?

нужен? попробую с следующий раз
Go to the top of the page
 
+Quote Post
Andy Great
сообщение May 26 2008, 09:08
Сообщение #40


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Цитата(klen @ May 26 2008, 11:17) *
нужен? попробую с следующий раз

Интересно попробовать, развитие проекта я отслеживаю, но после очередной переустановки системы лень переустанавливать Autoconf, Perl etc. Или они есть для MinGW в простой упаковке?
Go to the top of the page
 
+Quote Post
klen
сообщение May 26 2008, 16:34
Сообщение #41


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

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



Цитата(Andy Great @ May 26 2008, 13:08) *
Или они есть для MinGW в простой упаковке?

Есть конечно. тока я всеравно пол линухом для Mingw собираю (--host=i686-pc-mingw32)
Go to the top of the page
 
+Quote Post
klen
сообщение Jun 2 2008, 19:26
Сообщение #42


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

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



Во ознаменование начала лета - летний свежак:

win32:
www.klen.org/Files/DevTools/kgp_win32_bu2.18.50.20080601_gcc4.4.0.20080530_gdb6.8.20080531.7z
1. содержит большой набор барахла в виде библиотек.
2. теперь добавлена libpthread
3. можно извращатся с паралельным программированием, включена поддержка OpenMP (gcc собран с libgomp). в корне есть примерчик на эту тему с расчетом симла пи - gomp_test.c

arm-elf:
www.klen.org/Files/DevTools/kgp_arm-elf_bu2.18.50.20080601_gcc4.4.0.20080530_gdb6.8.20080531_newlib-cvs20080531_openocd-svn20080602.7z
как всегда напихано все что может пригодится (multilib)

mips64-elf:
www.klen.org/Files/DevTools/kgp_mips64-elf_bu2.18.50.20080601_gcc4.4.0.20080530_gdb6.8.20080531_newlib-cvs20080531.7z


avr:
www.klen.org/Files/DevTools/kgp_avr-elf_bu2.18.50.20080601_gcc4.4.0.20080530_gdb6.8.20080531_avrlibc1.6.2.7z
Go to the top of the page
 
+Quote Post
Chak
сообщение Jul 3 2008, 10:38
Сообщение #43





Группа: Новичок
Сообщений: 5
Регистрация: 30-06-08
Пользователь №: 38 657



To klen

У Вас так легко все получается пересобрать что аж дух захватывает a14.gif .

А у меня при работе с mega2561 под WinAVR проблема которую Eric B. Weddington не хочет решать (пока). Я уже описывал ее в другой ветке но вкратце вот в чем вопрос: это касается поддержкой ядер AVR с размером памяти 256к. При обращении к библиотечным функциям с переменным числом параметров (например fprint) компилятор встраивает вызовы к встроенным макросам __prologue_saves__ / __epilogue_restores__ из библиотеки libgcc.a. Данные для этих макросов, которые готовятся на этапе вызова функций, совершенно не учитывают размера памяти больше чем 128к (64к слов), то есть, инициализируются регистры Z (ZH,ZL), а в макросах используеться инструкция EIJMP, для полноценной работы которой надо еще установить регистр EIND.
Вот и получается, что если библиотечные функции с переменным числов параметров располагаються в адресах выше чем 128к, то вся програма перестает работать.
А в Ваших сборках для AVR поддержка avr6 коректная? А если нет, то нельзя ли исправить?
Go to the top of the page
 
+Quote Post
klen
сообщение Jul 22 2008, 13:37
Сообщение #44


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

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



свежак для арм

http://www.klen.org/Files/DevTools/kgp_arm...-cvs20080720.7z
Go to the top of the page
 
+Quote Post
klen
сообщение Aug 12 2008, 07:43
Сообщение #45


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

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



Ну че? продолжать?

ктонить пользует реально?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 12 2008, 07:59
Сообщение #46


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

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



Цитата(klen @ Aug 12 2008, 13:43) *
Ну че? продолжать?
ктонить пользует реально?


Конечно продолжать! Использую под АРМ, АВР и i386, очень доволен. a14.gif

ЗЫ. Я вам там ответил, может пригодится.


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


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

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



Цитата(AHTOXA @ Aug 12 2008, 11:59) *
ЗЫ. Я вам там ответил, может пригодится.

дык тоже самое - в СВ не работает останов/запуск трассы. переодически проверяю билды для CВ.

седня наверно выложу сборку для win32
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Aug 18 2008, 11:06
Сообщение #48


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Реально пока не пользую, но отслеживаю. Полезно очень, ИМХО, ибо начинающим сложно собрать всю систему (toolchain). Только повторно попрошу поправить сайт: сделать ссылки на свежие версии или хотя бы просмотр каталога файлов.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 20 2008, 05:58
Сообщение #49


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Andy Great @ Aug 18 2008, 14:06) *
Полезно очень, ИМХО, ибо начинающим сложно собрать всю систему (toolchain).
Я думаю, что очень полезной даже для начинающих была бы максимально подробная пошаговая инструкция для такой сборки. Буквально начиная с "берем машину с только что установленной виндой и интернетом".


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Aug 20 2008, 07:09
Сообщение #50


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



ОФФ: вчера читал такого типа инструкцию для желающих смотреть сат ТВ на ПК. Сильно сомневаюсь в возможности удовлетворения всех "а почему у меня...". Проще (да и полезнее) делать как klen
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 20 2008, 08:09
Сообщение #51


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Andy Great @ Aug 20 2008, 10:09) *
ОФФ: вчера читал такого типа инструкцию для желающих смотреть сат ТВ на ПК. Сильно сомневаюсь в возможности удовлетворения всех "а почему у меня...". Проще (да и полезнее) делать как klen
Не соглашусь. Собирал mspgcc, ибо имевшаяся сборка устарела и надо было кое-что добавить (конструкторы, кое-что в инициализации). Набил некоторое количество шишек. Написал для себя инструкцию (где-то здесь выкладывал). Через некоторое время вышла официальная сборка с моими добавлениями. Снес все, что относилось к своей сборке. Теперь понадобилось добавить поддержку ядра MSP430X. Достал ту инструкцию, нашел в ней несколько пунктов, которые уже забыл и если бы она не сохранилась - наступил бы на те же грабли.

klen, безусловно, делает полезное дело. Но если кто-то "подсядет" на его сборки, а завтра klen решит (тьфу, тьфу, тьфу) оставить электронику (как Bill), то эти кто-то окажутся в тупике.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Sep 2 2008, 18:34
Сообщение #52


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Несколько вопросов. Компилирую для Mega48.
1. неправильно настраивается начало сегмента данных - компилятор настраивает на 0x60. Это обошел указанием линковщику вручную начало данных 0x100. В старой сборке 2006го года такого не было.
2. неправильно генерируется таблица векторов прерываний. фактически присутствуют только первые 10, дальше сразу идет начало программы. Соответственно включение прерываний TX, RX приводит к сбросу/зависанию программы. В старой сборке 2006го года такого тоже не было.
3. Новая версия от klen выдает ошибку при копиляции inline-ассемблерной функции - выдает что-то типа повторное определение меток, хотя в старых версиях такого не было.

И попутно - как правильно объявлять инициализированные переменные в .h файлах подключаемых библиотек - в .h объявление переменной, а в .С такое же объявление с присвоением значения и атрибутами-модификаторами ? А регистровые переменные ?

Сообщение отредактировал ukpyr - Sep 2 2008, 18:43
Go to the top of the page
 
+Quote Post
klen
сообщение Sep 2 2008, 20:07
Сообщение #53


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

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



Цитата(ukpyr @ Sep 2 2008, 22:34) *
3. Новая версия от klen выдает ошибку при копиляции inline-ассемблерной функции - выдает что-то типа повторное определение меток, хотя в старых версиях такого не было.

И попутно - как правильно объявлять инициализированные переменные в .h файлах подключаемых библиотек - в .h объявление переменной, а в .С такое же объявление с присвоением значения и атрибутами-модификаторами ? А регистровые переменные ?


код в студию.
по поводу переменных вообще не понял в чем проблема.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Sep 2 2008, 23:21
Сообщение #54


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(Сергей Борщ @ Aug 20 2008, 17:09) *
оставить электронику (как Bill)

bb-offtopic.gif
Упс. А что случилось? Я-то и думаю, куда пропал этот человек?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
COMA
сообщение Sep 3 2008, 03:52
Сообщение #55


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



Насколько помню, писали что ушёл в сетевой маркетинг.
Go to the top of the page
 
+Quote Post
goodwin
сообщение Sep 3 2008, 03:59
Сообщение #56


Местный
***

Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267



Цитата(COMA @ Sep 3 2008, 06:52) *
Насколько помню, писали что ушёл в сетевой маркетинг.


Ну это кто как склонен/предрасположен понимать...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 3 2008, 07:28
Сообщение #57


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(haker_fox @ Sep 3 2008, 02:21) *
Упс. А что случилось? Я-то и думаю, куда пропал этот человек?
Насколько я понял - кого-то из близких с того света вытащили и это на него сильно повлияло.

P.S. Вот, нашел его прощальное письмо на телесисах.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Make_Pic
сообщение Sep 3 2008, 13:13
Сообщение #58


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



Цитата(Сергей Борщ @ Sep 3 2008, 10:28) *
Насколько я понял - кого-то из близких с того света вытащили и это на него сильно повлияло.

P.S. Вот, нашел его прощальное письмо на телесисах.


Да жаль, и SM то же видимо по тем же причинам перестал появляться на конфах. Жаль, время идет...
Go to the top of the page
 
+Quote Post
klen
сообщение Sep 4 2008, 16:03
Сообщение #59


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

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



свежак для AVR

bu cvs 20080903
gcc 4.3.2 релиз
avrlibc 1.6.2
gdb6.8 cvs 20080904 - для сильных мужчин & моих соседей по палате
make sh rm - для подержки AVRStudio

http://klen.org/Files/DevTools/kgp_avr-elf...6.8.20080904.7z

чуток потестировал, вроде без косяков.
распаковываете куданить, тыкаете настроками проекта к avr-gcc и make. далее вы должны по идее забить про компиллер.

тем кто не вкурсе (или я ужо давно отстал) AVRS 4.14.589 AvrPluginavrgccplugin1.0.0.9 имеют косяк. Если вы используете float то разумно всегда подлинковывать libm, это позволяет ускорить скрость * операций до 144 а / до ~440 тактов для float. так вот AVRS не позволяет это сделать sad.gif как опцию -lm. точнее можно в опциях линкера но это ничего не даст, -lm должен быть к помандной строке после списка объектников приложения, таковы правила линковки LD. Я руками правлю xml файл проекта.
явно указывать libm.a некашерно потому что компиллер сам должен выбрать ее правильную версию...
если это все лечится прще - раскажите мне.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Sep 25 2008, 05:11
Сообщение #60


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
код в студию

отправил на почту
Go to the top of the page
 
+Quote Post
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
AHTOXA
сообщение Nov 12 2008, 19:34
Сообщение #76


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

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



Цитата(klen @ Nov 13 2008, 00:13) *
Код
arm-kgp-elf-objcopy -O elf32-littlearm -S ../../out/image.elf ../../out/image.bin

Так bin получается маленький, но он получается не bin а elf sad.gif

Пока выкрутился так:
Код
$(OBJCOPY) -O binary -j .text -S $(ELF) $(BIN)


Светодиод моргает! smile.gif
Но это конечно не дело...


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


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

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


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

Группа: Свой
Сообщений: 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
Rst7
сообщение Nov 13 2008, 09:22
Сообщение #79


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

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



Цитата
-O9 всетаки нет такого уровня оптимизации, поменяйте на 0,1,2,3,s. должен пережевать исходник.


-O3 тоже фаталити. То с девяткой я погорячился (пользуюсь то IAR'ом)


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


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

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



Цитата(Rst7 @ Nov 13 2008, 12:22) *
-O3 тоже фаталити. То с девяткой я погорячился (пользуюсь то IAR'ом)

кусок кода который роняет компиллер можете дать?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 13 2008, 10:02
Сообщение #81


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

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



Там почти что одна огромная функция. Набитая циклами, кейсами, goto и прочим. В личку могу дать.


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


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

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



Цитата(Rst7 @ Nov 13 2008, 13:02) *
Там почти что одна огромная функция. Набитая циклами, кейсами, goto и прочим. В личку могу дать.

давайте
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 13 2008, 10:09
Сообщение #83


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

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



А мне что-нить подскажете? smile.gif


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


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

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



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


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


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

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



Цитата
давайте


Могу, кстати, еще в досыл дать иаровский листинг, дабы было видно, куда стремиться wink.gif


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


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

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



Цитата(AHTOXA @ Nov 13 2008, 16:09) *
А мне что-нить подскажете? smile.gif


В общем, сделал пока так. Сравнил elf-ы, производимые arm-kgp-elf- и arm-none-eabi-, нашёл, что в arm-kgp-elf- есть "лишняя" секция .eh_frame. И скомандовал objcopy выкинуть эту секцию при формировании bin-файла. bin стал получаться нормального размера, светодиод мигает.
(Напомню, я пытаюсь работать с arm-kgp-elf- и stm32)
Я правильно сделал?


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


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(klen @ Nov 6 2008, 16:12) *
кто нибудь использует bigendian, если да то где и в чем.

XScale IXP4xx
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 14 2008, 06:52
Сообщение #88


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

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



Цитата(AHTOXA @ Nov 13 2008, 22:44) *
В общем, сделал пока так. Сравнил elf-ы, производимые arm-kgp-elf- и arm-none-eabi-, нашёл, что в arm-kgp-elf- есть "лишняя" секция .eh_frame. И скомандовал objcopy выкинуть эту секцию при формировании bin-файла. bin стал получаться нормального размера, светодиод мигает.
(Напомню, я пытаюсь работать с arm-kgp-elf- и stm32)
Я правильно сделал?


я также делаю, тока по другому
.eh_frame - секция исполняемого кода, содержит код относящийся к механизму обработки исключений, при компиляции языка С механизм исключения отсутствует, поэтому этот код ессесено не нужен. Текущее состояние компиллера таково что без разбора сует эту секцию всегда независимо от языка с которого компиляется исходник. Я использую С для армов, соответственно код этой мертвой секции тока бесполезна использует флеш. можно удалить ее как Вы предлагаете strip --remove-section=".eh_frame" , но проще ее просто не пропустить на выход линкера прописав в скрипте линкера :

SECTIONS
{
.......................
.......................

/DISCARD/ : /*секцию исключений ф топку*/
{
*(.eh_frame)
}

........................
........................

}

Если вы умудряетесь использовать C++ (я это делал тока для тестирования, кстата вшивалось в lpc2103? шмешно, правдв?) и возможно используете исключения то эту секцию удалять нельзя. Я даже боюсь предположить что будет если кинуть ексепшен smile.gif если соберется проект.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 14 2008, 19:44
Сообщение #89


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

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



Цитата(klen @ Nov 14 2008, 12:52) *
я также делаю, тока по другому
.eh_frame - секция исполняемого кода, содержит код относящийся к механизму обработки исключений
Теперь стало понятнее. Указал линкеру, что эту секцию надо поместить в ROM:
Код
...
    *(.text)        /* Program code */
    *(.eh_frame)    /* exceptions */
    *(.rodata)      /* Read only data */
    } >rom

, всё стало нормально без выкидывания. Пусть будет, cpp я использовать собираюсь (scmRtos), правда, без exceptions наверное smile.gif
Цитата
Если вы умудряетесь использовать C++ (я это делал тока для тестирования, кстата вшивалось в lpc2103? шмешно, правдв?)

Тут люди в AVR-ках его используют, и ничего, нормуль:-)
Цитата
если соберется проект.

А что, есть сомнения? Вообще, что посоветуете использовать для cortex-m3, arm-kgp-elf- или arm-none-eabi- из Sourcery G++ ?


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


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

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



>А что, есть сомнения?

есть сомнения в целесообразности

>Вообще, что посоветуете использовать для cortex-m3, arm-kgp-elf- или arm-none-eabi- из Sourcery G+

выбери то что меньше глючить и дает лучший код
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 15 2008, 08:14
Сообщение #91


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(klen @ Nov 14 2008, 08:52) *
Текущее состояние компиллера таково что без разбора сует эту секцию всегда независимо от языка с которого компиляется исходник.
А CFLAGS += -fno-exceptions не спасает?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 15 2008, 10:27
Сообщение #92


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

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



Цитата(Сергей Борщ @ Nov 15 2008, 11:14) *
А CFLAGS += -fno-exceptions не спасает?

при компиляции С эта опция по умолчанию должна быть выключена, так написано в описании фронтэнда GCC. C++ по умолчанию включена.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 15 2008, 12:26
Сообщение #93


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

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



Цитата(klen @ Nov 15 2008, 14:03) *
выбери то что меньше глючить и дает лучший код


Хорошо, спрошу иначе: какие потенциальные преимущества у arm-kgp-elf- перед arm-none-eabi- ? Кроме того, что свежак? smile.gif

Цитата(Сергей Борщ @ Nov 15 2008, 14:14) *
А CFLAGS += -fno-exceptions не спасает?


Да там чисто сишный примерчик. Но всё равно попробую.


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


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Rst7 @ Nov 13 2008, 08:49) *
Как-то IAR с этим справляется на ура:

бз-з-з-з...
Странно.
WinAVR-20060421 (3.4.6) -Os
Код
.global    netw_memcpy
    .type    netw_memcpy, @function
netw_memcpy:
/* prologue: frame size=0 */
/* prologue end (size=0) */
    movw r26,r24
    movw r30,r22
.L7:
    tst r20
    breq .L1
    ld r24,Z+
    st X+,r24
    subi r20,lo8(-(-1))
    rjmp .L7
.L1:
    ret
/* epilogue: frame size=0 */


WinAVR-20060421 (3.4.6) -O2 и -O3
Код
.global    netw_memcpy
    .type    netw_memcpy, @function
netw_memcpy:
/* prologue: frame size=0 */
/* prologue end (size=0) */
    movw r26,r24
    movw r30,r22
    rjmp .L7
.L9:
    ld r24,Z+
    st X+,r24
    subi r20,lo8(-(-1))
.L7:
    tst r20
    brne .L9
    ret
/* epilogue: frame size=0 */


WinAVR-20070525 (4.1.2) и WinAVR-20071221 (4.2.2) -Os, -O2 и -O3
Код
.global    netw_memcpy
    .type    netw_memcpy, @function
netw_memcpy:
/* prologue: frame size=0 */
/* prologue end (size=0) */
    tst r20
    breq .L5
    movw r26,r22
    movw r30,r24
.L4:
    ld r24,X+
    st Z+,r24
    subi r20,lo8(-(-1))
    brne .L4
.L5:
    ret
/* epilogue: frame size=0 */


Что-то их не туда понесло в более свежих версиях sad.gif
То-то я не спешу менять...


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 16 2008, 21:12
Сообщение #95


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

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



получилось
опции -Os


Код
void cpy ( char* x , char* y , size_t s  )
{
  if ( !s ) return;
  size_t t = s;
  do
   {
     *(y++) = *(x++);
   }
  while( --t );
}


Код
000000DC:   01FC        MOVW      R30,R24        Copy register pair
000000DD:   01DB        MOVW      R26,R22        Copy register pair
22:         if ( !s ) return;
000000DE:   1541        CP        R20,R1         Compare
000000DF:   0551        CPC       R21,R1         Compare with carry
000000E0:   F029        BREQ      PC+0x06        Branch if equal
26:            *(y++) = *(x++);
000000E1:   9181        LD        R24,Z+         Load indirect and postincrement
000000E2:   938D        ST        X+,R24         Store indirect and postincrement
28:         while( --t );
000000E3:   5041        SUBI      R20,0x01       Subtract immediate
000000E4:   4050        SBCI      R21,0x00       Subtract immediate with carry
000000E5:   CFF8        RJMP      PC-0x0007      Relative jump
000000E6:   9508        RET                      Subroutine return


это вроде то что нужно
что характерно, при замене типа счетчика на char начинается маразм.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 16 2008, 21:45
Сообщение #96


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

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



Цитата(klen @ Nov 16 2008, 23:12) *
что характерно, при замене типа счетчика на char начинается маразм.

Дык надо лечить, тем более, что явно чтото сломали. Зачем мне int в счетчике, если нативный тип для AVR - unsigned char.

Вот приведенный выше результат после 4.1.2 и 4.2.2 - это то, что должно быть.

PS А что с падением? Или там совсем мрачно?


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


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

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



Цитата
это вроде то что нужно


Кстати, и к этому коду есть вопросы. IAR
Код
        RSEG CODE:CODE:NOROOT(1)
//   27 __x_z void cpy ( char* x , char* y , size_t s  )
cpy:
//   28 {
        MOV     R19, R25
        MOV     R20, R24
//   29   if ( !s ) return;
        MOV     R18, R16
        OR      R18, R17
        BREQ    ??cpy_0
//   30   size_t t = s;
        MOVW    R25:R24, R17:R16
//   31   do
//   32    {
//   33      *(y++) = *(x++);
??cpy_1:
        LD      R16, X+
        ST      Z+, R16
//   34    }
//   35   while( --t );
        SBIW    R25:R24, 1
        BRNE    ??cpy_1
??cpy_0:
        MOV     R24, R20
        MOV     R25, R19
        RET
//   36 }


И тут есть куда копать...


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


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

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



Цитата(Rst7 @ Nov 17 2008, 09:03) *
Кстати, и к этому коду есть вопросы. IAR

какие? у ИАРа на две инструкции длинее. иар не смог сделать группировку и выполнить movw
причины почему падает не смотрел, я рабочие дни работаю, хобби только по выходным
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 17 2008, 11:45
Сообщение #99


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

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



Цитата
иар не смог сделать группировку и выполнить movw


Зато GCC перестарался с циклом - лишних 3 такта на итерацию. Что суть более зло. Правда, я там видел у Вас -Os, а что будет с -O3?


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


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



вопрос к klen : на какую папку настроена ваша сборка avr-gcc ?
при запуске avr-gcc выдает сообщение что не находит сс1.
при добавлении пути к сс1 в %PATH% ругается что не находит какой-то библиотечный .o файл.
в сборках WinAVR этого не было.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 00:01
Рейтинг@Mail.ru


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