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

 
 
> stm32f4discovery+scmRTOS4, Вопрос чайника: можно ли запустить?
Legath
сообщение May 11 2012, 11:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 30-12-10
Из: Рязань
Пользователь №: 61 958



Можно ли как то запустить версию порта от cortex-m3?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AHTOXA
сообщение Jun 20 2014, 10:03
Сообщение #2


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

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



Цитата(IgorKossak @ Jun 20 2014, 14:02) *
Я бы не стал ставить утилиты пакета MSYS в несвойственное им место. Тулчейн может обновиться. Другие среды и тулчейны могут использовать эти утилиты в своих целях. Мало ли ещё какие причины могут быть?

Да, конечно лучше в отдельную папку. Просто я описывал как покороче.
Цитата(IgorKossak @ Jun 20 2014, 14:02) *
Лучше проинсталлировать MSYS стандартным способом с сохранением пути к нему в переменной PATH.

Дело в том, что я не нашёл на сайте mingw нормального инсталлятора MSYS. Самый последний инсталлятор - msys-1.0.11, от 2008 года. Дальше просто куча частей, разложенная в кучу архивов. Я решил, что лучше взять компоненты поновее.
Цитата(IgorKossak @ Jun 20 2014, 14:02) *
А вот путь к тулчейну я в переменной PATH не сохраняю, а указываю в Project->Properties->C/C++ Build->Environment в переменной PATH (у меня Eclipse Luna, но и в других аналогичных IDE есть похожее). Так удобнее и при экспериментах с разными тулчейнами и с переносимостью проекта лучше.

Считаю, что makefile должен работать самостоятельно, на завися от эклипсы. Поэтому все параметры сборки проекта - в нём. Это и для переносимости в том числе.
При экспериментах ничто не мешает мне задать в makefile путь к любому тулчейну, если занадобится. А дефолтные тулчейны - в PATH.

Цитата(Сергей Борщ @ Jun 20 2014, 14:34) *
А у меня путь к самому свежему компилятору прописан в PATH (что позволяет его вызывать из командной строки без полного указания пути), но при необходимости можно в makefile добавить в начало PATH путь к любому другому (подсмотрел у ReAl)


А чем это лучше, вот такого варианта:
Код
    TOOL    = arm-none-eabi-
    CC          = $(TOOL)gcc
    CXX         = $(TOOL)g++
    LD          = $(TOOL)g++

(при необходимости заменяем на:
Код
    TOOL    = /path/to/another/toolchain/arm-none-eabi-
    CC          = $(TOOL)gcc
...

)?



--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 20 2014, 11:26
Сообщение #3


Шаман
******

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



Цитата(AHTOXA @ Jun 20 2014, 13:03) *
Дело в том, что я не нашёл на сайте mingw нормального инсталлятора MSYS. Самый последний инсталлятор - msys-1.0.11, от 2008 года. Дальше просто куча частей, разложенная в кучу архивов. Я решил, что лучше взять компоненты поновее.

mingw-get-setup.exe Можно выбрать то, что нужно.
Цитата(AHTOXA @ Jun 20 2014, 13:03) *
Считаю, что makefile должен работать самостоятельно, на завися от эклипсы. Поэтому все параметры сборки проекта - в нём. Это и для переносимости в том числе.
При экспериментах ничто не мешает мне задать в makefile путь к любому тулчейну, если занадобится. А дефолтные тулчейны - в PATH.

Это безусловно, если собирать из командной строки. Но если в проект входят ещё и настройки среды (файлы .project, .cproject, что в последнее время сполошь и рядом делается), что удобно для индексатора и discovering, то на мой взгляд лучше по-моему.
Кроме того, "дефолтные тулчейны - в PATH" могут подложить свинью, поскольку оттуда трудно отследить какие именно инструменты вызываются. Например, у меня установлены две версии тулчейна от GCC ARM Embedded и один от CodeSourcery. Чтобы переключиться с одного на другой в Вашем варианте надо поменять переменную PATH и перелогиниться в системе (у меня по крайней мере так). В то время как используя мой вариант, не нужно даже среду перезапускать, а достаточно подправить переменную PATH в среде, при этом автоматически осуществляется редискаверинг и реиндексация.
Мне так показалось удобнее, но я не настаиваю.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 20 2014, 12:55
Сообщение #4


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

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



Цитата(IgorKossak @ Jun 20 2014, 17:26) *
mingw-get-setup.exe Можно выбрать то, что нужно.

О, спасибо, я как-то проглядел. Хотя не люблю я эти веб-инсталляторы sm.gif
Цитата(IgorKossak @ Jun 20 2014, 17:26) *
Это безусловно, если собирать из командной строки. Но если в проект входят ещё и настройки среды (файлы .project, .cproject, что в последнее время сполошь и рядом делается), что удобно для индексатора и discovering, то на мой взгляд лучше по-моему.

В этом случае сложнее перетащить проект в другую IDE. В моём же варианте - настройки сборки проекта - в makefile, настройки среды - в .project, .cproject.
Цитата(IgorKossak @ Jun 20 2014, 17:26) *
Кроме того, "дефолтные тулчейны - в PATH" могут подложить свинью, поскольку оттуда трудно отследить какие именно инструменты вызываются. Например, у меня установлены две версии тулчейна от GCC ARM Embedded и один от CodeSourcery. Чтобы переключиться с одного на другой в Вашем варианте надо поменять переменную PATH и перелогиниться в системе (у меня по крайней мере так).

Нет, я говорил немного о другом. Я говорил о вызове с полным указанием пути к тулчейну.
То есть, дефолтный компилятор вызывается как arm-none-eabi-gcc, а компилятор из другого тулчейна - как C:/tools/cs/2011.09-69/arm-none-eabi-gcc.
При этом никаких изменений в PATH вносить не надо.
Впрочем, я тоже не настаиваю на этом вариантеsm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 20 2014, 13:16
Сообщение #5


Шаман
******

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



Цитата(AHTOXA @ Jun 20 2014, 15:55) *
То есть, дефолтный компилятор вызывается как arm-none-eabi-gcc, а компилятор из другого тулчейна - как C:/tools/cs/2011.09-69/arm-none-eabi-gcc.

О! Почти пришли к общему знаменателю. За исключением лишь того, что я не пользуюсь понятием "дефолтного" тулчейна, ибо не понимаю этой сущности. У меня тулчейн всегда конкретный, записанный с полным путём (в переменной PATH среды разработки, в системной же PATH - никаких путей к тулчейнам). Что же касается makefile, то указывать там полный путь, на мой взгляд - моветон, ибо совершенно не переносимо.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 20 2014, 15:24
Сообщение #6


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

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



Цитата(IgorKossak @ Jun 20 2014, 19:16) *
О! Почти пришли к общему знаменателю.

Да, мы близки к этомуsm.gif
Дефолтный тулчейн - это, скажем, текущий стабильный. Вышел новый gcc-arm-embedded - я его протестировал, убедился в его работоспособности, и прописал в PATH. И с этого момента все проекты компилируются им.
Вам же, чтобы откомпилировать старые проекты новым тулчейном -- придётся менять настройки для каждого проекта.
(Хотя может быть вы как раз наоборот, не станете менять, ибо раз проект разработан с конкретной версией компилятора, то пусть с ней и сопровождается. В этом случае всё нормально.)
Что касаемо указания полного пути в makefile, то это делается только на время эксперимента, потом убирается. Так что на переносимость не влияет.


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

Сообщений в этой теме
- Legath   stm32f4discovery+scmRTOS4   May 11 2012, 11:04
- - AHTOXA   Можно, работает без каких-либо доработок. Можете в...   May 11 2012, 11:09
|- - Legath   Цитата(AHTOXA @ May 11 2012, 15:09) Можно...   May 11 2012, 12:51
|- - AHTOXA   От ОС конечно. Прямо целиком пример берите. Ну или...   May 11 2012, 13:59
|- - Legath   Цитата(AHTOXA @ May 11 2012, 17:59) От ОС...   May 11 2012, 15:31
||- - AHTOXA   Всегда пожалуйста Забыл написать. Если захотите ис...   May 11 2012, 17:52
|- - AHTOXA   Цитата(AHTOXA @ May 11 2012, 19:59) Ну ил...   Nov 30 2012, 04:21
|- - Pat   Цитата(AHTOXA @ Nov 30 2012, 06:21) Меня ...   Nov 30 2012, 08:31
||- - AHTOXA   Цитата(Pat @ Nov 30 2012, 14:31) Думаю бу...   Dec 2 2012, 12:09
||- - viktory_93   RE: stm32f4discovery+scmRTOS4   Jun 19 2014, 14:48
||- - AHTOXA   Я не знаком с CoIDE. Судя по всему, в проект кроме...   Jun 19 2014, 18:01
||- - viktory_93   Ура! Билдится! Спасибо Знать бы теперь как...   Jun 20 2014, 04:29
|- - viktory_93   Цитата(AHTOXA @ Nov 30 2012, 08:21) Меня ...   Jun 15 2014, 21:01
|- - AHTOXA   У Sourcery make называется cs-make. Исправьте в на...   Jun 16 2014, 04:58
- - Legath   еще глупый вопрос: почему когда в скрипте линковки...   May 17 2012, 20:51
|- - AHTOXA   Видимо потому, что верхние 64К - это некая CCM (co...   May 18 2012, 03:58
- - Legath   А там ошибки в sysinit нет? а то у меня возникла т...   May 18 2012, 13:37
|- - AHTOXA   На STM32F4DISCOVERY кварц 8МГц, а в примерах (они ...   May 18 2012, 16:39
- - Legath   Огромное спасибо за оперативную помощь по переходу...   May 18 2012, 18:26
- - IgorKossak   Я бы не стал ставить утилиты пакета MSYS в несвойс...   Jun 20 2014, 08:02
|- - Сергей Борщ   Цитата(IgorKossak @ Jun 20 2014, 11:02) а...   Jun 20 2014, 08:34
- - Сергей Борщ   Цитата(AHTOXA @ Jun 20 2014, 13:03) А чем...   Jun 20 2014, 10:16
|- - AHTOXA   Так их в любом случае придётся перечислять, из-за ...   Jun 20 2014, 11:09
- - mdmitry   Цитата(IgorKossak @ Jun 20 2014, 17:16) О...   Jun 20 2014, 15:38
- - IgorKossak   Цитата(mdmitry @ Jun 20 2014, 18:38) P.S....   Jun 20 2014, 16:28


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

 


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


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