Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Eclipse + GCC + STM32
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
alexf
Несколько лет назад делал какой то проэкт на AT91SAM7 и компилировал под Eclipse + GCC. Даже дебагер под OpenOCD JTAG запустился. Но это было давно и деталей я не помню. Склероз...

Так вот теперь хочется Eclipse + GCC + STM32F103. День поисков особых результатов не дал. Если у кого есть ссылки, буду признателен.

Eclipse и GCC я поставил. С командной строки через Makefile вполне могу собрать для Cortex M0 по найденному примеру. Подозреваю что М3 не сильно отличается. Флаги поменять и startup. Но в упор не пойму как из Eclipse компилировать.

Еще бывает CoIDE. Имеет смысл? Всю жизнь все компилировал для АРМов под Линуксом. Но вроде STMLink только под Windows?
Haamu
Цитата(alexf @ Mar 13 2014, 00:44) *
Еще бывает CoIDE. Имеет смысл?

Имеет. Вполне достойная IDE, к тому же в основе у нее все те же Eclipse + GCC. А вот на счет Linux'а не подскажу, под Windows работаю.
demiurg_spb
Цитата(Haamu @ Mar 13 2014, 06:14) *
Имеет. Вполне достойная IDE, к тому же в основе у нее все те же Eclipse + GCC. А вот на счет Linux'а не подскажу, под Windows работаю.
Мне она не нравится, т.к. не нашёл способа держать в ней make-управляемый проект.
Сергей Борщ
Цитата(alexf @ Mar 12 2014, 22:44) *
Так вот теперь хочется Eclipse + GCC + STM32F103. День поисков особых результатов не дал. Если у кого есть ссылки, буду признателен.
Eclipse+CDT на официальном сайте. Далее через его Help->Install new software (Work with выбрать All available sities) поставить C/C++ GDB Hardware debugging и embsysregview. OpenOCD собрать самостоятельно или скачать официальную сборку (ссылки на сайте OpenOCD). Далее подключаете ваш проект через File->Import->C/C++->Existing Code as Makefile project. Компиляция через Project->Build project или иконка с молотком.

Для отладки запускаете в отдельной консоли OpenOCD с правильным скриптом. Минимальный будет выглядеть примерно так:
Код
source [find interface/stlink-v2.cfg]
source [find target/stm32f1x_stlink.cfg]
Если обозвать этот скрипт openocd.cfg и запускать openocd без параметров из директории с этим файлом, то он подхватится автоматически. Можно без скрипта указать нужные файлы через ключи -f командной строки (не пробовал, лень каждый раз набирать).

Если получили сообщение "Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints" то идете в Run->Debug configurations и создаете конфигурацию в группе GDB Hardware Debugging. На вкладке Debugger в строку GDB Command вписываете arm-none-eabi-gdb, порт меняете на 3333. Жмете Debug. После выхода из отладки повторный запуск возможен через выпадающий список рядом с иконкой с жуком.

Цитата(alexf @ Mar 12 2014, 22:44) *
Еще бывает CoIDE. Имеет смысл?
На любителя.
Цитата(alexf @ Mar 12 2014, 22:44) *
Всю жизнь все компилировал для АРМов под Линуксом. Но вроде STMLink только под Windows?
Прекрасно работает через OpenOCD и под линухом. Драйвер стандартный WinUSB есть в ядре. Кроме OpenOCD есть и другие программы - QStlink2, Texane stlink.
alexf
Цитата(Сергей Борщ @ Mar 12 2014, 22:23) *
Далее подключаете ваш проект через File->Import->C/C++->Existing Code as Makefile project. Компиляция через Project->Build project или иконка с молотком.


Большое спасибо за ответы. Я сделал поиск на "Existing Code as Makefile project" и нарыл
http://help.eclipse.org/indigo/index.jsp?t...dt_w_import.htm

Как раз то что надо.

Документов to много, а найти нужное место не так легко. Особенно учитывая что в основном я не программы пишу а разрабатываю на чем им работать sm.gif

Вскрытие показало что у меня много версий arm-linux-eabi-XXX a надо arm-none-eabi-. Так что наверное продолжу пока под Win32.


mdmitry
Цитата(alexf @ Mar 14 2014, 02:24) *
Вскрытие показало что у меня много версий arm-linux-eabi-XXX a надо arm-none-eabi-. Так что наверное продолжу пока под Win32.

А поставить соответствующий компилятор под linux что мешает? Есть нескольно вариантов: CodeSourcery, Linaro(launchpad), bleeding-edge-toolchain (linux 64bit only), самосбор, сборки от klen.
CodeSourcery ставятся в одину директорию для arm-none-eabi- и arm-none-linux-gnueabi- для одинаковых версий. Предупреждение было только на перезапись readme. Ставились из архива (*.tar.bz2), а не инсталляторами (*.bin).
Сергей Борщ
Цитата(alexf @ Mar 14 2014, 00:24) *
Вскрытие показало что у меня много версий arm-linux-eabi-XXX a надо arm-none-eabi-. Так что наверное продолжу пока под Win32.
Как-то вы быстро сдались laughing.gif . http://www.linaro.org/downloads/ предпоследняя ссылка внизу страницы - то, что вам надо.

P.S. О, mdmitry опередил. "Говорят, у дураков мысли сходятся. Но у умных - чаще!"

Цитата(alexf @ Mar 14 2014, 00:24) *
Большое спасибо за ответы. Я сделал поиск на "Existing Code as Makefile project" и нарыл
http://help.eclipse.org/indigo/index.jsp?t...dt_w_import.htm

Как раз то что надо.
Как-то там сложно очень. Как будто от какой-то предыдущей версии Эклипсы.
File->Import->C/C++->Existing code as makefile project->вбить имя, в Existing code location выбрать директорию проекта, Toolchain for indexer settings выбрать Cross GCC. Нажать Finish. Все.
ADA007
Цитата(alexf @ Mar 14 2014, 00:24) *
Так что наверное продолжу пока под Win32.

Мне в свое время помогла вот эта статья настроить все под stm32.
alexf
Цитата
Как-то вы быстро сдались


Про сдачу речь не идет. Просто я думал что на Линуксе уже установлен нужный компилятор, а оказалось нет.
Зато под Windows уже поставлен и с помощью make все работает. Весь вопрос в поиске пути наименьшего сопротивления.

Кроме того прочитал что STM link под линуксом иногда виснет вплоть до перезагрузки.
garlands
Цитата(alexf @ Mar 15 2014, 00:54) *
я думал что на Линуксе уже установлен нужный компилятор, а оказалось нет.


Цитата
Зато под Windows уже поставлен


Вы точно ничего не путаете? По умолчанию что там, что там ничего не установлено. Вот если под Win брать какую-нить заточенную под армы сборку эклипса, а под Lin делать apt-get install eclipse.. laughing.gif
Сергей Борщ
Цитата(alexf @ Mar 15 2014, 00:54) *
Кроме того прочитал что STM link под линуксом иногда виснет вплоть до перезагрузки.
За более чем 2 года ежедневной работы не замечал.
kan35
Тоже пытаюсь осилить тему eclipse, gcc и тд
Контроллер STA8088.
Имея JLINK, поставил gdb сервер. Но есть НО, контроллера нет в списке JLINK.
дебаггер из еклипса связывается с процом, опознает, ARM946, но попытка записи по нужным адресам не приводит к успеху. Из за того, что контроллера нет в списке поддерживаемых? Правильно ли я понимаю, что надо Open OCD или что то такое, что поддерживает официально данный проц?
alexf
Цитата(garlands @ Mar 14 2014, 15:40) *
Вы точно ничего не путаете?


Не путаю. Речь не об "по умолчанию". Просто не люблю много букв писать.

Я лет 10 работаю с ARM9/ARM11 под линуксом. Компилирую на Ubuntu (раньше Red Hat/Fedora).
Target тоже под Linux.
Поэтому стоит много версий кросс-компиляторов. Kernel тоже компилировал, так что думал что arm-none- установлен тоже.

Цитата
Вот если под Win брать какую-нить заточенную под армы сборку эклипса

Что и было проделано. Правда там arm-kgp-eabi-xxx но похоже примерно то же самое.

Добавление: все проблемы оказались из-за древней версии Eclipse.

Пошел по этому пути:
http://en.radzio.dxp.pl/stm32vldiscovery/p...ry,eclipse.html
Пришлось только JAVA обновить.

Через пол-часа все срослось. Действительно очень легко создаются проэкты и компилируются.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.