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

 
 
85 страниц V  « < 36 37 38 39 40 > »   
Reply to this topicStart new topic
> свежак KGP win32/arm/avr/mips/m68k, GNU tools chain
Genadi Zawidowsk...
сообщение Apr 9 2011, 20:20
Сообщение #556


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(AHTOXA @ Apr 9 2011, 22:47) *
У меня не вышло. text ненулевой, но не работает. Ни -O2 ни -Os sad.gif
А вот под ADuC706x - получилось, очень приличный эффект.

Я уже писал, что проект на AT91SAM7S64 ужался раза в полтора (не менее 25%) и не перестал при этом работать.
Автору (Klen) - большое спасибо за аккуратность при сборке.

Сообщение отредактировал Genadi Zawidowski - Apr 9 2011, 20:20
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 12 2011, 12:52
Сообщение #557


Гуру
******

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



QUOTE (Genadi Zawidowski @ Apr 9 2011, 23:20) *
Я уже писал, что проект на AT91SAM7S64 ужался раза в полтора (не менее 25%) и не перестал при этом работать.
AT91SAM7S64. Сборка Yagarto 20110328 (gcc 4.6.0). Без -flto: 41012 c -flto: 42996. В коде данных практически нет - scmRTOS, 10 процессов. Работает, но размер вырос на 4.5%. Сборка 20100813 (gcc 4.5.1) давала 41552 (без -flto, естественно).


--------------------
На любой вопрос даю любой ответ
"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
Yun
сообщение Apr 16 2011, 17:48
Сообщение #558





Группа: Новичок
Сообщений: 1
Регистрация: 13-11-08
Пользователь №: 41 606



Цитата(Mitsufan @ Mar 31 2011, 00:54) *
Что-то линкер из последней сборки для MIPS стал ругаться на инверсию атрибута в описании блока памяти в скрипте линкера.

MEMORY
{
kseg1_data_mem (w!x) : ORIGIN = 0xA0000000, LENGTH = 0x20000
}

../../../mips-kgp-elf/bin/ld.exe: invalid syntax in flags
collect2: ld returned 1 exit status

Меняю ld.exe на предыдущий (4.6.0 от 25.07.2010) - все нормально компилируется.


Добрый день.

Если не "секрет", не могли бы рассказать как Вам удалось воспользоваться этой сборкой для работы С PIC32MX?
Какой язык программирования используется (C или C++) ? Какой отладчик используете?

Интересует возможность применения C++ для работы с PIC32MX, использую эту сборку и стандартные средства отладки от Microchip. Теоретически, это возможно.
Go to the top of the page
 
+Quote Post
Lionet
сообщение Apr 17 2011, 17:20
Сообщение #559





Группа: Участник
Сообщений: 14
Регистрация: 10-11-10
Пользователь №: 60 787



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

Есть демо-проект от терровской платы с stm32f107, несколько статей в pdf-ках. Отладчик их же te-arm-link.
При заливке бинарника из проекта (т.е. который уже был в архиве) всё работает нормально. А вот скомпилить заново такой же -- ну никак..
Основная проблема сейчас -- unresolved inclusion заголовков стандартной библиотеки Си (типа stdint.h) (path к тулчейну прописан)


Пытался разобраться со структурой тулчейна -- непонятно, почему некоторые файлы повторяются несколько раз, почему папка include в корне пустая... и т.п. Помогите разобраться, пожалуйста. Очень хочеться понять.

На всякий случай: ОС ВинХР, 32bit, Eclipse IDE for C/C++ Developers Helios Service Release 2
Go to the top of the page
 
+Quote Post
Bender
сообщение Apr 18 2011, 07:31
Сообщение #560


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

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



А почему в newlib используются не оптимизированные стандартные функции, например memcpy() ?
Побайтовое копирование на 32-х разрядной шине - это что-то с чем-то.
Не ожидал такого подвоха, поэтому использовал из netbsd
Go to the top of the page
 
+Quote Post
alx2
сообщение Apr 19 2011, 04:43
Сообщение #561


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(Bender @ Apr 18 2011, 12:31) *
А почему в newlib используются не оптимизированные стандартные функции, например memcpy() ?
Побайтовое копирование на 32-х разрядной шине - это что-то с чем-то.
Где именно там побайтное копирование? У Вас, случайно, не определены макросы типа PREFER_SIZE_OVER_SPEED или __OPTIMIZE_SIZE__?


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
Bender
сообщение Apr 19 2011, 06:59
Сообщение #562


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

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



newlib 1.19
вот тут смотрел
__OPTIMIZE_SIZE__ PREFER_SIZE_OVER_SPEED не определял, компилю с опцией -Os

Полез разбираться дальше
для тестирования делаю так
Код
while(1)
{
LED1_ON;
memcpy((void *)test1, (const void *)test2, 512);
LED1_OFF;
}


1.Оказалось что массивы легли в памяти не выровненными, несмотря на указание
Код
unsigned int test1[128] __attribute__ ((__aligned__(8)));
unsigned int test2[128] __attribute__ ((__aligned__(8)));

0x400023cd                test1
0x40002884                test2


выровнял, введя доп. переменные.
Ничего не изменилось.
по времени выходит 87 мкс
2.Для netbsd ситуация гораздо лучше:
все тоже самое, только времени занимает 8.2 мкс

Где еще покопать, чтобы разобраться?

Сообщение отредактировал Bender - Apr 19 2011, 07:57
Go to the top of the page
 
+Quote Post
alx2
сообщение Apr 22 2011, 06:00
Сообщение #563


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(Bender @ Apr 19 2011, 11:59) *
__OPTIMIZE_SIZE__ PREFER_SIZE_OVER_SPEED не определял, компилю с опцией -Os
Вот в -Os собака и порылась. При указании опции -Os gcc автоматически делает #define __OPTIMIZE_SIZE__ 1.
Или пересоберите newlib без -Os, или используйте свою memcpy().


Сообщение отредактировал alx2 - Apr 22 2011, 06:19


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 22 2011, 08:54
Сообщение #564


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

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



мдя..
можно две версии тулслов собирать - одну худую другую быструю.
Go to the top of the page
 
+Quote Post
Bender
сообщение Apr 22 2011, 12:10
Сообщение #565


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

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Меня больше смущает то, что линкер размещает переменные по не выровненным адресам. И хотя все что надо работает работает, сомнения в правильности кода остаются. Да, к тому же хотя объем кода уменьшился, зато область ОЗУ (.bss) раздулась с 8 до 13 кбайт.

Например, если линкер будет собирать без ключа -flto получим это:
Код
                0x40001580                dbg_buf
                0x40001600                ...

с ключом -flto выделилось больше ОЗУ
Код
                0x40000409                dbg_buf
*fill*         0x40000df4        0x4 00
.bss           0x40000df8      0x898 C:\temp\ccOPsERd.ltrans2.ltrans.o
                0x40000df8                ...


без ключа -flto получим это:
Код
                0x40000fec                task_io_stack
                0x400011ec                task_enc

с ключом -flto под стек выделили не выровненную область
Код
                0x400025d1                task_io_stack
                0x400027d1                task_enc


И такое место не одно. Хотелось бы понять механизм оптимизации, как им управлять и почему не реагирует на __attribute__ ((__aligned__(8)))
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Apr 22 2011, 16:28
Сообщение #566


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

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



Цитата(Bender @ Apr 22 2011, 18:10) *
с ключом -flto под стек выделили не выровненную область

Хм. Ну значит пока не готов ключ -flto для использования в реальных приложениях. Вернее, не везде готов.
ЗЫ. Вот очень похожая проблема, но в кейле. Интересное совпадениеsm.gif


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


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

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



свежак host x86_64

таргет arm:
http://www.klen.org/Files/DevTools/kgp-arm..._64_20110424.7z
проект 15к ужал еще на 16 байт wink.gif

таргет x86_64:
http://www.klen.org/Files/DevTools/kgp-x86...w32_20110424.7z

Сообщение отредактировал IgorKossak - Apr 25 2011, 16:07
Причина редактирования: Поменял местами линки
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Apr 25 2011, 14:57
Сообщение #568


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

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



А я всё жду варианта под линукс... sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Bender
сообщение Apr 26 2011, 04:40
Сообщение #569


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

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



А я жду под win32...
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 26 2011, 06:03
Сообщение #570


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

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



host x86_64-linux-gnu

target x86_64-linux-gnu (201 Mb)
http://www.klen.org/Files/DevTools/linux-x...20110426.tar.7z


target x86_64-mingw32 (74 Mb)
http://www.klen.org/Files/DevTools/linux-x...20110426.tar.7z

target kgp_arm_eabi ( 41 Mb)
http://www.klen.org/Files/DevTools/linux-x...20110426.tar.7z

для исполнения бинарей последних двух нужны сошки из x86_64-linux-gnu ( 25 Mb )
http://www.klen.org/Files/DevTools/linux-x...20110426.tar.7z
это выдернуто из x86_64-linux-gnu и чуток почищено.

просьба к тем кто использует на хосте x86_64-linux-gnu пройтись ldd по бинарям тулсов и дать список сошек которые они реально используют, я тогда скриптик напишу чтоб не всю директорию с либами выкладывать а выдирать только те что нужны.


для хоста x86_32-mingw32 пожже соберу как время будет. Вам повезло! у меня завелся осцил на который поставлен 32 битный говновиндовс (как же без ложки говна в бочке меда!) и чтоб осцил окончательно сответствовал требованиям к минизаводу по разработке девайсов - туда будут засовыватся 32 битные сборки тулсов .
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 09:03
Рейтинг@Mail.ru


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