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

 
 
85 страниц V  « < 73 74 75 76 77 > »   
Reply to this topicStart new topic
> свежак KGP win32/arm/avr/mips/m68k, GNU tools chain
Lomaker
сообщение Apr 6 2016, 06:35
Сообщение #1111





Группа: Участник
Сообщений: 10
Регистрация: 12-02-15
Пользователь №: 85 112



Уже больше года назад я в этой теме поднимал вопрос по поводу проца 5890ВЕ1Т. Тогда klen мне в числе прочего ответил, что
Цитата(klen @ Feb 13 2015, 12:09) *
...какието особенности были с этим чипом(косяки при прходе некоторых команд по конвееру к которым вакцину в виде нопов нужно бвло догенерять...), возможно чтото изменилось.

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



--------------------
Жить однозначно вредно: все, кто жили - померли
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 6 2016, 10:28
Сообщение #1112


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

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



Цитата(Lomaker @ Apr 6 2016, 09:35) *
Уже больше года назад я в этой теме поднимал вопрос по поводу проца 5890ВЕ1Т. Тогда klen мне в числе прочего ответил, что

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


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

2_Lomaker
предлагаю сделать сботку тулсов. проверить как оно работает. это ведь не сложно?
я соберу а Вы прогоните.
у Вас документация на него есть? мне доподлинно нужно знать с какого ядра МИПС драли ядро комдива - знать доступные иструкции проца есть желание законное.
Go to the top of the page
 
+Quote Post
Lomaker
сообщение Apr 6 2016, 13:02
Сообщение #1113





Группа: Участник
Сообщений: 10
Регистрация: 12-02-15
Пользователь №: 85 112



В документации, которая у меня есть, никаких упоминаний о подобных вещах я не встречал. А прогнать - не так уж и просто: нужно сначала поиметь работающий начальный загрузчик, который зашивается у нас в однократно программируемое ПЗУ. Каждый новый вариант - перепайка микросхем. Так что хотелось бы знать, что и как лечить. Код начального загрузчика полностью на ассемблере, я мог бы и руками в него nop-ов наставить, знать бы куда (не после каждой же инструкции, хотя и это тоже вариант на крайний случай).

P.S. Система команд достаточно подробно в описании расписана, ясен пень, без упоминания того, с чего она передиралась. Вроде бы -march=r3000 должно соответствовать действительности. Если интересует, могу файлик прислать, пишите адрес.

Сообщение отредактировал IgorKossak - Apr 6 2016, 18:25
Причина редактирования: бездумное цитирование


--------------------
Жить однозначно вредно: все, кто жили - померли
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 9 2016, 11:22
Сообщение #1114


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

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



2_Lomaker
Если не ДСП, дайте документацию.
Интересно.
Загрузчик у Вас в любом случае быть должен неважно какого приготовления.
Как будет попробуем покомпилять прилагуху.
Боюсь спросить а jtag присутствует?
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Apr 10 2016, 11:11
Сообщение #1115


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20151209_HYPERICUM.7z

Собрал пару рабочих проектов (один на STM32F407, другой на STM32F373) - оба улетают в HardFault

для примера опции компилятора из проекта на 407:

USE_OPT = -O3 -ggdb -fomit-frame-pointer -lm -falign-functions=16

Go to the top of the page
 
+Quote Post
klen
сообщение Apr 10 2016, 16:40
Сообщение #1116


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

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



нужен код, просто так в хардфаул улетать может все что угодно
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Apr 10 2016, 18:02
Сообщение #1117


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(klen @ Apr 10 2016, 21:40) *
нужен код, просто так в хардфаул улетать может все что угодно


Кода очень много. HF что то типа impecise error, то есть просто так место где оно происходит не выявить. При сборке gcc-arm-none-eabi 4.9 HF не происходит. Может для Вашего компилера требуется специфичечкий набор опций?

Сообщение отредактировал nanorobot - Apr 10 2016, 18:04
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 10 2016, 18:52
Сообщение #1118


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(nanorobot @ Apr 10 2016, 21:02) *
Кода очень много. HF что то типа impecise error, то есть просто так место где оно происходит не выявить. При сборке gcc-arm-none-eabi 4.9 HF не происходит. Может для Вашего компилера требуется специфичечкий набор опций?

Я тоже пользуюсь сборками от klen. На 32-битной windows при получении остатка от деления имею HF (для ядра cortex-m0).
Временно перешел на gcc-arm-none-eabi, но она по размеру кода фатально проигрывает klen-овской.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Apr 11 2016, 05:21
Сообщение #1119


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

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



Цитата(adnega @ Apr 10 2016, 23:52) *
Временно перешел на gcc-arm-none-eabi, но она по размеру кода фатально проигрывает klen-овской.

Фатально - это как-то ненаучноsm.gif Сколько это в процентах/байтах?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Lomaker
сообщение Apr 11 2016, 05:47
Сообщение #1120





Группа: Участник
Сообщений: 10
Регистрация: 12-02-15
Пользователь №: 85 112



Цитата(klen @ Apr 9 2016, 14:22) *
2_Lomaker
Если не ДСП, дайте документацию.
Интересно.
Загрузчик у Вас в любом случае быть должен неважно какого приготовления.
Как будет попробуем покомпилять прилагуху.
Боюсь спросить а jtag присутствует?

В файле по крайней мере не видел упоминаний про ДСП. Только куда слать, на адрес, что у Вас на klen.org указан?
JTAG мы не вывели, планируем одним портом RS-232 отделаться для связи. Кое-что у меня задышало уже, кстати. Что-то там какие-то весёлые глюки присутствуют с порядком байт, по крайней мере, при little-endian включении. Попробуем в ближайшем времени его в big-endian включить, после этого отпишусь поподробнее, что там и как на самом деле.


--------------------
Жить однозначно вредно: все, кто жили - померли
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Apr 11 2016, 05:55
Сообщение #1121


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(adnega @ Apr 10 2016, 23:52) *
Я тоже пользуюсь сборками от klen. На 32-битной windows при получении остатка от деления имею HF (для ядра cortex-m0).
Временно перешел на gcc-arm-none-eabi, но она по размеру кода фатально проигрывает klen-овской.


не знаю, не знаю ...
ничего личного, только цифры:

arm-none-eabi-gcc -03 USE_LTO = no, 82788 байт
arm-none-eabi-gcc -03 USE_LTO = yes, 92512 байт

arm-kgp-eabi-gcc -03 USE_LTO = no, 84616 байт + HardFault (INVSTATE, UFSR_BIT_1 = 1 )
arm-kgp-eabi-gcc -03 USE_LTO = yes, error: lto-wrapper failed

Сообщение отредактировал nanorobot - Apr 11 2016, 06:06
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 11 2016, 09:13
Сообщение #1122


Знающий
****

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



Цитата(adnega @ Apr 10 2016, 21:52) *
Я тоже пользуюсь сборками от klen. На 32-битной windows при получении остатка от деления имею HF (для ядра cortex-m0).
Временно перешел на gcc-arm-none-eabi, но она по размеру кода фатально проигрывает klen-овской.

Линкеру флаги не забыли указать про то какое у Вас ядро? Если забыли, то библиотеки могут линковаться от другого ядра - я на эти грабли с М0 как-то наступил rolleyes.gif .

У меня не самая последняя сборка (которая DICHROMENA под win64) работает нормально.

P.S. А что там по моему вопросу с arm-kgp-eabi-size (пост http://electronix.ru/forum/index.php?showt...t&p=1416125 )?

Сообщение отредактировал Шаманъ - Apr 11 2016, 09:14
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Apr 11 2016, 09:36
Сообщение #1123


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(Шаманъ @ Apr 11 2016, 14:13) *
Линкеру флаги не забыли указать про то какое у Вас ядро? Если забыли, то библиотеки могут линковаться от другого ядра - я на эти грабли с М0 как-то наступил rolleyes.gif .

У меня не самая последняя сборка (которая DICHROMENA под win64) работает нормально.

P.S. А что там по моему вопросу с arm-kgp-eabi-size (пост http://electronix.ru/forum/index.php?showt...t&p=1416125 )?


Если вопрос(или ответ?) был мне - мейк файл и скрипт линкера из примера ChibiOs для STM32F407 от Jiovanni di Sirio. Мейк файл скорректирован для моего проекта. Скрипт линкера не менялся. Пробуя сборку от klen заменил в мейкфайле строку "TRGT = arm-none-eabi-" на строку "TRGT = arm-kgp-eabi-" а так же изменено значение "USE_LTO = yes" на "no"

Сообщение отредактировал nanorobot - Apr 11 2016, 09:40
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 11 2016, 10:29
Сообщение #1124


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(AHTOXA @ Apr 11 2016, 08:21) *
Фатально - это как-то ненаучноsm.gif Сколько это в процентах/байтах?

Разница порядка 100 байт. На примере двух приложений BL и SW.
Код
+-----+-------------------------------+------------------------------+
|     |      gcc-arm-none-eabi        |     arm-kgp-eabi-x86_32      |
+-----+-------------------------------+------------------------------+
| BL  | TEXT=5024, DATA=4,  BSS=2140  | TEXT=4936, DATA=4,  BSS=2140 |
| SW  | TEXT=9656, DATA=28, BSS=4460  | TEXT=9552, DATA=28, BSS=4460 |
+-----+-------------------------------+------------------------------+
|     | gcc version 4.9.3 20150303    | gcc version 4.8.0 20121121   |
|     | (release) [ARM/embedded-4_9-  |(experimental) (Klen's GNU    |
|     | branch revision 221220] (GNU  | package (KGP) for ARM/elf    |
|     | Tools for ARM Embedded        | platform)                    |
|     | Processors)                   |                              |
+-----+-------------------------------+------------------------------+

При этом код arm-kgp-eabi-x86_32 не рабочий, т.к. операция взятия остатка уводит в HF - допускаю, что чего-то не хватает в либах.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 11 2016, 11:58
Сообщение #1125


Знающий
****

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



Цитата(nanorobot @ Apr 11 2016, 12:36) *
Если вопрос(или ответ?) был мне - мейк файл и скрипт линкера из примера ChibiOs для STM32F407 от Jiovanni di Sirio. Мейк файл скорректирован для моего проекта. Скрипт линкера не менялся. Пробуя сборку от klen заменил в мейкфайле строку "TRGT = arm-none-eabi-" на строку "TRGT = arm-kgp-eabi-" а так же изменено значение "USE_LTO = yes" на "no"

Я Вам предложил один из возможных сценариев возникновения проблемы. Дальше смотрите сами. ChibiOS не пользую и о таком примере понятия не имею (да и вообще примеры не люблю смотреть) - потому более ничего прокомментировать не смогу.

Сообщение отредактировал Шаманъ - Apr 11 2016, 12:01
Go to the top of the page
 
+Quote Post

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

 


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


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