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

 
 
15 страниц V  « < 12 13 14 15 >  
Reply to this topicStart new topic
> Code::Blocks -> How To, Как бы начать...
_Pasha
сообщение May 30 2013, 10:44
Сообщение #196


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(koluna @ May 30 2013, 13:37) *
Это понятно.

Прямо перед Вашим первым постом в этой ветке - я выкладывал вариант каким образом работать с кортексами. Ежли Вы до сих пор не удосужились глянуть, то что может быть понятно?
Там мейк ручками не пишется, - вызовы и параметры генерятся "галочками" из-под С::В, (чего иногда хочется, чего уж там).
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 30 2013, 12:11
Сообщение #197


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(_Pasha @ May 30 2013, 13:44) *
Там мейк ручками не пишется

Возможно есть вариант makefile project?

Цитата(_Pasha @ May 30 2013, 13:44) *
вызовы и параметры генерятся "галочками" из-под С::В

Можно и вручную. Не нужны галочки.

Цитата(koluna @ May 29 2013, 16:32) *
Нравится CB, переходить на другую ИСР пока не желаемо.

А ведь Эклипс лучше.

Цитата(koluna @ May 29 2013, 16:32) *
1. Ставим компилятор.

Можно поставить Yagarto - к нему идёт и make.
YAGARTO GNU ARM toolchain и YAGARTO Tools - make и тп.


Цитата(koluna @ May 29 2013, 16:32) *
3. Создаем проект в CB, настраиваем его для сборки или подключаем внешний мейк-файл (где взять?).

Например тут: make для LPC17xx и make для STM32F2xx


Цитата(koluna @ May 29 2013, 16:32) *
4. Добавляем в проект скрипты линкера и стартапы из CMSIS (придется их корректировать?).

Корректировать придётся...
Go to the top of the page
 
+Quote Post
koluna
сообщение May 30 2013, 14:15
Сообщение #198


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

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(_Pasha @ May 30 2013, 14:44) *
Прямо перед Вашим первым постом в этой ветке - я выкладывал вариант каким образом работать с кортексами. Ежли Вы до сих пор не удосужились глянуть, то что может быть понятно?
Там мейк ручками не пишется, - вызовы и параметры генерятся "галочками" из-под С::В, (чего иногда хочется, чего уж там).


Видел, просто не успел посмотреть подробнее.
Спасибо.
Помимо включенных в проект сценария линкера, стартапа и дефайнов для проца какие настройки (галочками) производились?
Можете расписать поподробнее, чтобы было на что опереться?
В стандартном визарде, насколько я помню, нет ничего подобного STM32F4.


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
_Pasha
сообщение May 30 2013, 14:40
Сообщение #199


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(koluna @ May 30 2013, 17:15) *
Можете расписать поподробнее, чтобы было на что опереться?

Там использовались переменные проекта, не очень удобно, но по-другому хуже. Проблема в том, чтобы получить один и тот же список параметров, используемых линкером и компилятором. Наверняка сталкивались с легким гемором при изменении таргет-процессора в AVR-проекте - надо перепрописывать и в линкере и в компилере и где еще? забыл...
И галочками не все множество параметров охвачено sm.gif
Остальное - смотрите в project build options и properties , только смотреть придется внимательно - за что многие и ругают эту IDE.
Go to the top of the page
 
+Quote Post
koluna
сообщение Jun 5 2013, 08:52
Сообщение #200


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

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(_Артём_ @ May 30 2013, 16:11) *
А ведь Эклипс лучше.


Возможно, но решил оставить на потом sm.gif

Цитата
Можно поставить Yagarto - к нему идёт и make.


Пока выбрал Codesourcery крайний релиз.

Цитата
Например тут: make для LPC17xx и make для STM32F2xx


Спасибо!

Цитата
Корректировать придётся...


Да я уж понял...
Хочу пока руками все сделать, чтобы разобраться получше.
Поставил компилятор.
Сделал простейшее тестовое приложение.
Пытался вчера вечером собрать, ковыряя стартап, скрипт и подбирая ключи компилятора и линкера.
Собирал под Линухом простым шеловским скриптом (позже выложу для анализа, может, порекомендуете что). Полноценный мейк - следующий этап. Вручную ничего не собирал еще, решил научиться (что почитать бы?).
Стартап и скрипт взял из CMSIS (\Device\ARM\ARMCM3\Source\GCC): gcc_arm.ld, startup_ARMCM3.S.
Пока Си, позже хочу Си++.

При сборке линкер ругался сначала на отсутствие libnosys.a (ее действительно нет в дистрибе компилятора) - убрал ее из списка в сценарии
Цитата
/* Library configurations */
GROUP(libgcc.a libc.a libm.a libnosys.a)

Так и не нашел, что это за либа, для чего нужна и почему ее нет...
Ошибка пропала.
Потом линкер ругался на отсутствие "_start". Странно, откуда эта метка в стартапе и почему так называется. Поставил вместо нее "main" - все собралось. Ошибок нет.
Но осадок сомнения остался - уже две ошибки в этих двух файлах... кто знает, что там еще? Надеялся, что все заработает "из коробки".
Пока не зашивал, не уверен в работоспособности.


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
koluna
сообщение Sep 9 2013, 14:45
Сообщение #201


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

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Всем привет!

Объясните, пожалуйста, как правильно подключать makefile к C::B 10.05.
Подключил. Собирается. Но есть одна странность...
Если в настройках компилятора не прописать путь к тулчейну и имя утилиты компилятора, то C::B отказывается собирать проект.
Говорит, что не может найти одну из утилит (size). Хотя, если закомментировать вызов size, то и другие утилиты не находит...
Из командной строки все нормально собирается.
Путь к тулчейну добавлен в PATH.
Зачем C::B вообще нужны все эти настройки, если используется makefile?!!

Если в настройках компилятора прописать путь до тулчейна, то говорит следующее:
Цитата
"test - all" uses an invalid compiler. Probably the toolchain path within the compiler options is not setup correctly?! Skipping...


Сообщение отредактировал koluna - Sep 9 2013, 17:57


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
koluna
сообщение Sep 10 2013, 13:14
Сообщение #202


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

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Кстати, что скрывается в пункте "Compiler and debugger settings" на вкладке "Other settings" в поле "Build method"?
У меня там всегда жестко стоит "Invoke compiler directly" и нет возможности что-либо выбрать другое.
Может, копать здесь надо для решения моей проблемы...


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 11 2013, 05:22
Сообщение #203


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата
Может, копать здесь надо для решения моей проблемы...

Нет, не здесь.

Settings->Compiler & debugger

Selected compiler - выбрать нужный

Вкладка Toolchain executables:
Compiler's installation directory - вбить путь к бинарникам тулчейна
Program files - проверить правильность

Есть ещё один момент.
Project->Options->Build Options

Проверить выбранный тулчейн и команды на вкладке "Make" commands.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
koluna
сообщение Sep 11 2013, 06:57
Сообщение #204


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

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(MrYuran @ Sep 11 2013, 09:22) *
Нет, не здесь.


Спасибо за ответ. Это все мне известно. Если настроить - работает.
У меня другой вопрос.
Я использую внешний makefile.
Зачем я должен сообщать C::B путь к папке с тулчейном, перечислять каждую из утилит тулчейна и назначать тулчейн проекту, если C::B просто передает управление make?
Пути к тулчейну есть в PATH.
Получается "масло масляное".
Всю работу на себя берет make, а C::B просто отображает результаты... ну, может я чего недопонял по этому вопросу...
Как я понимаю, при использовании makefile все настройки тулчейна в C::B попросту не нужны и должны быть недоступны...


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 11 2013, 07:10
Сообщение #205


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Надо внимательно рассмотреть логи построения и все станет ясно.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
koluna
сообщение Sep 11 2013, 07:31
Сообщение #206


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

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(MrYuran @ Sep 11 2013, 11:10) *
Надо внимательно рассмотреть логи построения и все станет ясно.


Так, а где их посмотреть?
Вы имеете в виду "Build log", "Build messages"?
В случае с makefile там практически ничего нет...


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 11 2013, 07:38
Сообщение #207


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(koluna @ Sep 11 2013, 10:31) *
Так, а где их посмотреть?
Вы имеете в виду "Build log", "Build messages"?
В случае с makefile там практически ничего нет...

Значит, надо галочками поиграть, чтобы было.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
koluna
сообщение Sep 11 2013, 09:40
Сообщение #208


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

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(MrYuran @ Sep 11 2013, 11:38) *
Значит, надо галочками поиграть, чтобы было.


Может быть подскажите, с какими галочками конкретно? Много чего пробовал - результат одинаков.
Поставил "Compiler logging: Full command line".

Вот лог:
Цитата
-------------- Build: all in test ---------------

[100,0%] Running command: make -f makefile all
/bin/sh: arm-none-eabi-g++: команда не найдена
make: *** [obj/main.o] Ошибка 127
--- building test
--- compiling ./src/main.cpp...
Process terminated with status 2 (0 minutes, 0 seconds)
0 errors, 0 warnings


Нашел интересную настройку:
Environment... -> General settings -> Shell to run commands in: /bin/sh -c
У меня в системе /bin/sh ссылается на dash.
Пробовал менять настройку на "/bin/bash -c", но при этом ничего не меняется! В логе по-прежнему "/bin/sh -c"!
Я в системе использую именно bash, путь к тулчейну прописан в .bashrc.
Возможно, прописать надо где-то в другом месте... только вот где?

Тааак... пока писал, сообразил, что дело в make.
Добавил "SHELL := /bin/bash" в makefile. В логе теперь вижу, что make запускает именно bash.
Но make по-прежнему не находит тулчейн... почему-то при запуске среды не подхватываются пути из .bashrc...
Можно, конечно, пойти простым путем - прописать пути к тулчейну в makefile...


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 11 2013, 10:07
Сообщение #209


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(koluna @ Sep 11 2013, 12:40) *
Можно, конечно, пойти простым путем - прописать пути к тулчейну в makefile...

Я так и сделал.
Тем более что на одном этапе надо было сравнить несколько версий тулчейна (mspgcc) и найти 10 отличий, и легким движением руки можно было перекидывать на любую из, со 100% уверенностью.

C шеллами (под виндой) тоже какая-то засада была. Точно уже не помню, но Cygwin с евоным sh пришлось нейтрализовать.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
koluna
сообщение Sep 13 2013, 13:12
Сообщение #210


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

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Свойства проекта -> Вкладка "Project settings" -> Platforms (Windows, Unix, Mac)
Для чего? На что влияет?

Свойства проекта -> Вкладка "Build targets" -> Type (Console application, GUI application, ...)
Для чего? На что влияет?

Применительно к embeded...

Сообщение отредактировал koluna - Sep 13 2013, 13:12


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post

15 страниц V  « < 12 13 14 15 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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