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

 
 
85 страниц V  « < 81 82 83 84 85 >  
Reply to this topicStart new topic
> свежак KGP win32/arm/avr/mips/m68k, GNU tools chain
klen
сообщение Mar 2 2017, 14:02
Сообщение #1231


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

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



свежак arm
хост lin64
http://klen.org/Files/DevTools/x86_64-kgp-...301_ZINGIBER.7z

хост win64
http://klen.org/Files/DevTools/x86_64-kgp-...302_ZINGIBER.7z


также до кучи то чем это собиралось
таргет/хост lin64
http://www.klen.org/Files/DevTools/x86_64-...301_ZINGIBER.7z


таргет win64 хост lin64
http://www.klen.org/Files/DevTools/x86_64-...301_ZINGIBER.7z


таргет/хост win64
http://www.klen.org/Files/DevTools/x86_64-...302_ZINGIBER.7z
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 2 2017, 16:24
Сообщение #1232


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(klen @ Mar 2 2017, 17:02) *
также до кучи то чем это собиралось
...........
таргет/хост win64
http://www.klen.org/Files/DevTools/x86_64-...302_ZINGIBER.7z

А реально этим пересобрать arm-none-gdb? Хочу собрать с этим https://bugs.launchpad.net/gcc-arm-embedded/+bug/1566054 патчем.
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 2 2017, 20:25
Сообщение #1233


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

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



Цитата(Шаманъ @ Mar 2 2017, 19:24) *
А реально этим пересобрать arm-none-gdb? Хочу собрать с этим https://bugs.launchpad.net/gcc-arm-embedded/+bug/1566054 патчем.

более чем реально
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 3 2017, 14:40
Сообщение #1234


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Ну вот пересобрал gdb из исходников arm-none-eabi, там патч этот по идее уже есть, но нормального bt (на Cortex-Mx) так и нет sad.gif То ли при переходе с 7.11 на 7.12 что-то поломали, то ли оно и не работало нормально sad.gif Обидно - полдня потратил на собирательства gdb под виндой, и такой облом sad.gif

Проверил три варианта gdb:
1. Бинарник от АРМа (бывший ланчпад, как я понимаю)
2. Собранный из исходников оттуда же
3. Из сборки на несколько постов выше (от klen)

Все три при задействовании наскольких стеков и двух указателей PSP/MSP при попытке развернуть стек из прерывания выдают полную хрень в bt sad.gif . Причем что интересно все три выдают разные результаты. Эх нет гармонии, придется по старинке скриптами gdb, да руками...

Да, боьшой проект под Cortex-M7 последней сборкой собрался без проблем, отладчик в связке с VSCode из этой сборки работает лучше, чем из arm-none-eabi (тот несколько раз просто вылетал, оставляя за собой stackdump sm.gif)

Сообщение отредактировал Шаманъ - Mar 3 2017, 14:26
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 3 2017, 18:05
Сообщение #1235


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

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



Цитата(Шаманъ @ Mar 3 2017, 17:40) *
Да, боьшой проект под Cortex-M7 последней сборкой собрался без проблем, отладчик в связке с VSCode из этой сборки работает лучше, чем из arm-none-eabi (тот несколько раз просто вылетал, оставляя за собой stackdump sm.gif)

собрался это понятно.. а скорость? по сравнению с *-none-*
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 3 2017, 19:04
Сообщение #1236


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(klen @ Mar 3 2017, 21:05) *
собрался это понятно..

Предыдущая версия не собирала почему-то...

Цитата
а скорость? по сравнению с *-none-*

С пристрастием не пытал, но большого прогресса или регресса не наблюдалось точно (загрузка процессора не поменялась более чем на 1..2%). Будет время может сравню.

Есть такой момент сам компилятор работает значительно (раза в четыре) медленнее, чем arm-none-eabi
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 27 2017, 07:36
Сообщение #1237


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Поэкспериментировал с -flto. Интересная штука -O3 c -flto дало до 40% прирост производительности по сравнению с просто -О3 (это на "стандартном" gcc). Решил проверить на gcc от klen, но увы - последняя сборка не смогла собрать проект с -flto:
Код
Linking...
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s: Assembler messages:
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s:2704: Error: offset out of range
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s:3017: Error: offset out of range
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s:3118: Error: offset out of range
C:\Users\08A4~1\AppData\Local\Temp\ccApIkMP.s:3175: Error: offset out of range
lto-wrapper.exe: fatal error: C:\arm\bin\arm-kgp-eabi-gcc.exe returned 1 exit status
compilation terminated.
c:/arm/bin/../lib/gcc/arm-kgp-eabi/7.0.1/../../../../arm-kgp-eabi/bin/ld.exe: error: lto-wrapper failed
collect2.exe: error: ld returned 1 exit status

Есть какая-то возможность указать gcc не удалять этот временный файл, чтобы можно было понять где проблема?

Положительный момент по сборкам от klen - в его сборках отладочная информация по макросам формируется правильно и gdb ее правильно "переваривает", в сборке от ARM gdb не может вытянуть информацию по макросам (не смотря на -ggdb3 указанный при компиляции/компоновке), что очень сильно напрягает.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 27 2017, 13:44
Сообщение #1238


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Разобрался, собрал. С lto cборка ZINGIBER медленнее почти в 3 раза...
Go to the top of the page
 
+Quote Post
Terminator
сообщение Apr 28 2017, 02:40
Сообщение #1239


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



Цитата(Шаманъ @ Apr 27 2017, 20:44) *
Разобрался, собрал. С lto cборка ZINGIBER медленнее почти в 3 раза...

Как разобрался?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 28 2017, 06:57
Сообщение #1240


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Terminator @ Apr 28 2017, 05:40) *
Как разобрался?

Включил опцию -save-temps у компоновщика, ассемблерный файл стал доступен для анализа, посмотрел где возникает ошибка. Ошибка возникала по всему из-за неправильной работы ассемблера, который неправильно разворачивал псевдоинструкции вида:
ldr R4,=XXXXX

Переделал эти псевдоинструкции на обычные ldr + ячейка с нужным содержимым регистра, все заработало.
Go to the top of the page
 
+Quote Post
klen
сообщение May 11 2017, 19:04
Сообщение #1241


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

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



Цитата(Шаманъ @ Apr 27 2017, 16:44) *
Разобрался, собрал. С lto cборка ZINGIBER медленнее почти в 3 раза...


печалька....
тем не менее предлагается попробывать 8 ветку wink.gif
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20170511_GREAT.7z

какая версия "стандартного" компиллера?
соберу и погоняю, посмотрю разницу , поковыряюсь.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 12 2017, 06:13
Сообщение #1242


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(klen @ May 11 2017, 22:04) *
печалька....

Да в "стандартной версии" тоже не без проблем - проект разросся и -flto почему-то перестало давать прежний эфект. Теперь с -flto работает медленнее в полтора раза, чем без него laughing.gif .

Копания в истории изменений проекта ничего не дало - нашел "переход", где -flto перестал себя адекватно вести, но что конкретно ему не нравится понять сложно - изменения были в функциях, которые во время "замера производительности" вообще не вызываются (а времени заниматься причудами оптимизатора GCC нет, да и смысла особого нет).

Цитата
тем не менее предлагается попробывать 8 ветку wink.gif
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20170511_GREAT.7z

Если под windows сделаете, то попробую и отпишусь, тем более вопрос производительности с недавних пор для меня стал достаточно актуальным.

Цитата
какая версия "стандартного" компиллера?
соберу и погоняю, посмотрю разницу , поковыряюсь.

6.3.1 https://developer.arm.com/open-source/gnu-t...nu-rm/downloads
Go to the top of the page
 
+Quote Post
klen
сообщение May 14 2017, 14:22
Сообщение #1243


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

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



свежак.
для linux64
www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20170513_OCIMUM.7z

2_Шаманъ пробуйте сборку под масдай64, проверил под wine - кажись дышит..

для Win64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20170514_OCIMUM.7z

чуть пожже выложу крайние релизы 6 и 7 ветки для сравнения.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 14 2017, 18:20
Сообщение #1244


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(klen @ May 14 2017, 17:22) *
для Win64
www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20170514_OCIMUM.7z

Не собирается:
Цитата
Linking...
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans1.ltrans.o: In function `VCPStart':
Soft\Ctrl2\Ctrl/VCP.c:140: undefined reference to `memset'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans1.ltrans.o: In function `clust2sect':
Soft\Ctrl2\Ctrl/ff.c:988: undefined reference to `memset'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans1.ltrans.o: In function `entryNVRAMTask':
Soft\Ctrl2\Ctrl/Settings.c:135: undefined reference to `memcpy'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans1.ltrans.o: In function `entryDisplayTask':
Soft\Ctrl2\Ctrl/Display.c:570: undefined reference to `memset'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans0.ltrans.o: In function `FrontSendCmd':
Soft\Ctrl2\Ctrl/Keyb.c:304: undefined reference to `memmove'
C:\Users\08A4~1\AppData\Local\Temp\cc6wJPuA.ltrans0.ltrans.o: In function `Reset_Handler':
................


8.0.0 намного быстрее компилирует, раза в четыре наверное.

Кстати обнаружил причину странного поведения -flto. Если задать вместе с -flto генерацию отладочной информации (-g), то что-то ломается и lto не работает (об этом есть намек в доках, собственно когда его увидел и решил проверить). Пересобрал ради интереса проект компилятором 7.0.1 (от klen) еще раз без -g, теперь разница со "штатным" GCC около 10%, по прежнему в пользу "штатного" 6.3.1.

Сообщение отредактировал Шаманъ - May 14 2017, 18:33
Go to the top of the page
 
+Quote Post
klen
сообщение May 14 2017, 22:11
Сообщение #1245


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

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



Цитата(Шаманъ @ May 14 2017, 21:20) *
Не собирается:


8.0.0 намного быстрее компилирует, раза в четыре наверное.

Кстати обнаружил причину странного поведения -flto. Если задать вместе с -flto генерацию отладочной информации (-g), то что-то ломается и lto не работает (об этом есть намек в доках, собственно когда его увидел и решил проверить). Пересобрал ради интереса проект компилятором 7.0.1 (от klen) еще раз без -g, теперь разница со "штатным" GCC около 10%, по прежнему в пользу "штатного" 6.3.1.


хорошо
а в качестве эксперемента можете подсунуть "руками" memset/memcpy/memmove? чтоб результат погдядеть...
я к счастью ничем внешним не пользуюсь, даже libc и libm свои "местные" в исхниках, в связи с чем никакие либы кроме libgcc самого компиллера в проект не линкуются и все на лету генерится из исходников,
идея - сделать максимально быстрый бинарный код.
для универсальности и чтоб другие могли воспользоваться моей сборкой в ней присутствует newlib, от его кода меня воротит но .... кто не хочет сам писать libc и libm вынужден что то чужое использовать.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd May 2024 - 15:30
Рейтинг@Mail.ru


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