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

 
 
10 страниц V  « < 5 6 7 8 9 > »   
Reply to this topicStart new topic
> scmRtos для медных чайников
IgorKossak
сообщение Jan 22 2013, 08:32
Сообщение #91


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Для сборки под Cortex-Mx пользуюсь тулчейном от Linaro. Нареканий нет.
Go to the top of the page
 
+Quote Post
dezna
сообщение Jan 22 2013, 10:11
Сообщение #92


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 18-03-11
Пользователь №: 63 690



Цитата(AHTOXA @ Jan 22 2013, 12:20) *
Сложно сказать. Листинг практически идентичен моему. init_stack_frame и Default_SystemTimer_ISR - вообще один-в-один.
Должно работать!

но не хочет. может ещё какие-нибудь отличия имеются?
пытался kgp слить - там 64 бит версия. не пошла.
Цитата(AHTOXA @ Jan 22 2013, 12:20) *
ЗЫ. Если уж совсем не пойдёт, и вы боитесь самодельных сборок

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

Сообщение отредактировал dezna - Jan 22 2013, 10:17
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jan 22 2013, 10:24
Сообщение #93


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(IgorKossak @ Jan 22 2013, 11:32) *
Для сборки под Cortex-Mx пользуюсь тулчейном от Linaro. Нареканий нет.

Так он только С поддерживает, или я не прав?
(Programming Languages: C )

P.S. Сам и отвечу: не прав. В сообщении №97 IgorKossak'а указана ссылка в которой присутствуют оба компилятора (проверил архив для linux).


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
dezna
сообщение Jan 22 2013, 10:28
Сообщение #94


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 18-03-11
Пользователь №: 63 690



Цитата(IgorKossak @ Jan 22 2013, 12:32) *
Для сборки под Cortex-Mx пользуюсь тулчейном от Linaro. Нареканий нет.

спасибо попробую
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 22 2013, 10:57
Сообщение #95


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

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



Цитата(dezna @ Jan 22 2013, 16:11) *
но не хочет. может ещё какие-нибудь отличия имеются?

Я добросовестно просмотрел весь листинг. Различия на уровне кодогенерации, ничего криминального. Всё, что надо - присутствует, и вызывается.
В плане шаманства - попробуйте закомментировать в makefile строчки
Код
    CFLAGS    += -ffunction-sections -fdata-sections
,
Код
    CXXFLAGS    += -ffunction-sections -fdata-sections
и
Код
    LD_FLAGS    += -Wl,--gc-sections

Ну и ещё раз проверьте, что тип процессора, определённый в makefile, соответствует реальному.


Цитата(IgorKossak @ Jan 22 2013, 14:32) *
Для сборки под Cortex-Mx пользуюсь тулчейном от Linaro.
Я поискал на страничке по ссылке слово "Linaro", и не нашёл. Потом погуглил, и нашёл другую страничку с тулчейном от Linaro sm.gif
Судя по ответам на первом сайте:
Цитата
GCC ARM Embedded (call Embedded later) is tuned for Cortex-M/R. Linaro GCC
(call Linaro later) is tuned for Cortex-A.
Embedded values code size more than performance. Linaro vice versa.

Embedded has a longer release cycle (1 year) and longer maintenance cycle
(2 years). Usually no features or optimizations will be added in
maintenance period. Linaro has monthly release to follow closely to
mainline with latest optimization for newest processors.

Embedded mainly targets bare-metal or RTOS applications. Linaro mainly
targets Linux/Andriod kernel/applications.

, для нас больше подходит первый вариант. Но он - не Linaro.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
dezna
сообщение Jan 22 2013, 11:14
Сообщение #96


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 18-03-11
Пользователь №: 63 690



Цитата(AHTOXA @ Jan 22 2013, 14:57) *
Я добросовестно просмотрел весь листинг. Различия на уровне кодогенерации, ничего криминального. Всё, что надо - присутствует, и вызывается.
В плане шаманства - попробуйте закомментировать в makefile строчки

это не понадобилось, хоть и попробовал. всё заработало после правки ld скрипта, за что огромное спасибо.
всё оказалось гораздо прозаичнее. связано с программатором и каким-то образом с прерываниями (нога BOOT0 к +VCC постоянно).
при выключеных прерываниях всё работает, а как разрешаются, то похоже проц переходит на встроенный загрузчик программ.
что и происходило. в main() дёргались светодиоды 3 раза, а когда запускалась ось - всё "висло".

Цитата(AHTOXA @ Jan 22 2013, 14:57) *
для нас больше подходит первый вариант. Но он - не Linaro.

скачал первый вариант, попробовал. всё работает, как и на моём (уже). только код он раздувает почти в 2 раза.
моим HEX файл - 3725 байт
скачаным - 5705
задумался!
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 22 2013, 11:49
Сообщение #97


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(AHTOXA @ Jan 22 2013, 12:57) *
Я поискал на страничке по ссылке слово "Linaro", и не нашёл.

На эту ссылку я попал с официального сайта Linaro. В самом низу, в разделе BARE-METAL, вторая снизу. Это как раз то, что нужно.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 22 2013, 12:58
Сообщение #98


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

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



Цитата(IgorKossak @ Jan 22 2013, 15:49) *
На эту ссылку я попал с официального сайта Linaro. В самом низу, в разделе BARE-METAL, вторая снизу. Это как раз то, что нужно.
А я с другого сайта http://www.coocox.org/CoIDE/Compiler_Settings.html,
где мне понравилась фраза:
Цитата
CooCox suggest you to choose ARM GCC as the compiler since it is from ARM official.
Выходит что Linaro - под крылом ARM...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 22 2013, 13:26
Сообщение #99


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(demiurg_spb @ Jan 22 2013, 14:58) *
Выходит что Linaro - под крылом ARM...

Где-то в переписке читал, что разработчики Linaro и есть сотрудники ARM.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 22 2013, 14:04
Сообщение #100


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

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



Цитата(IgorKossak @ Jan 22 2013, 17:49) *
На эту ссылку я попал с официального сайта Linaro. В самом низу, в разделе BARE-METAL, вторая снизу.

А, теперь всё понятно. Но давайте всё же для однозначности будем называть эту сборку "GCC ARM Embedded", как они сами её называют?
Надо затестить её, и, если всё нормально, то использовать её как референсную. А то sourcery g++ lite теперь просто так не скачать, да и вообще будущее её неясно.
А тут всё же ARM участвует, солидноsm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 22 2013, 14:26
Сообщение #101


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(AHTOXA @ Jan 22 2013, 16:04) *
А, теперь всё понятно. Но давайте всё же для однозначности будем называть эту сборку "GCC ARM Embedded", как они сами её называют?
Согласен.
Цитата(AHTOXA @ Jan 22 2013, 16:04) *
Надо затестить её, и, если всё нормально, то использовать её как референсную. А то sourcery g++ lite теперь просто так не скачать, да и вообще будущее её неясно.
А тут всё же ARM участвует, солидноsm.gif

В этом случае я сплю спокойно. Потестил на нескольких проектах. Полёт нормальный. Использую как основной.
В сравнении Sourcery Lite порадовало, что у GCC ARM Embedded нет ограничений на аппаратную плавучку в библиотеках. Радуют также регулярные обновления и хорошая реакция разработчиков в их поддержке.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jan 22 2013, 15:04
Сообщение #102


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

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



Цитата(dezna @ Jan 22 2013, 06:58) *
я просил товарища собрать мне рабочий пример. он у себя проверил - работает. на моей железке тоже.
Ха, так я этот пример, оказывается, и собирал не KGP, а этим:
Цитата(AHTOXA @ Jan 22 2013, 10:20) *
есть Sourcery CodeBench Lite, бывшая sourcery g++ lite. (качать ARM EABI Release).

В makefile-то
Код
    TOOL    = arm-none-eabi-
#    TOOL    = arm-kgp-eabi-

Если точнее, то собиралось версией /opt/CodeSourcery/arm-2011.09/bin/
Ещё 2012.03 стоит дома, но дома я в /64 KGP использую.



Цитата(IgorKossak @ Jan 22 2013, 10:32) *
Для сборки под Cortex-Mx пользуюсь тулчейном от Linaro. Нареканий нет.
Хм. У меня даже в закладках лежит. Когда-то почему-то не пошло, видать.
«Бум пробовать»™


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 22 2013, 15:44
Сообщение #103


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(ReAl @ Jan 22 2013, 17:04) *
Хм. У меня даже в закладках лежит. Когда-то почему-то не пошло, видать.
«Бум пробовать»™

Были у них проблемы в линейке 4.6. с непомерным impure_data array. В линейке 4.7 этого не наблюдается.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jan 22 2013, 15:49
Сообщение #104


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

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



Цитата(IgorKossak @ Jan 22 2013, 17:44) *
Были у них проблемы в линейке 4.6. с непомерным impure_data array. В линейке 4.7 этого не наблюдается.
Возможно, не помню уже.

А LTO что - нет? Только что скачанное:
Цитата
arm-none-eabi-g++ (GNU Tools for ARM Embedded Processors) 4.7.3 20121207 (release) [ARM/embedded-4_7-branch revision 194305]
...
cc1plus: error: LTO support has not been enabled in this configuration
Или я что-то не так делаю?


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 22 2013, 17:35
Сообщение #105


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

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



Цитата(ReAl @ Jan 22 2013, 21:04) *
Ха, так я этот пример, оказывается, и собирал не KGP, а этим:

В makefile-то
Код
    TOOL    = arm-none-eabi-
#    TOOL    = arm-kgp-eabi-

Ну да, всё же kgp не так широко известен, поэтому я в примерах делаю по умолчанию arm-none-eabi- (это может быть sourcery g++, yagarto, а теперь, возможно, и GCC ARM Embedded.)


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

10 страниц V  « < 5 6 7 8 9 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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