2013-07-21 2 views
8

Я приобрел Tiva C series LaunchPad TM4C123G Evaluation Kit от Texas Instruments. Этот комплект содержит небольшую плату с микроконтроллером ARM Cortex M4F. Теперь я хочу начать писать программное обеспечение для этого микроконтроллера. Я привык программировать 8-битные микроконтроллеры AVR, используя AVR Studio в Windows. Я слышал, что легко программировать микроконтроллеры на базе ARM на Linux, и поскольку Linux является моей основной платформой, я бы хотел, чтобы простая среда IDE работала более или менее, как я привык к AVR.ARM Development на Linux

В течение нескольких дней я искал хорошую среду IDE и инструменты, которые будут выполнять эту работу. К моему удивлению, только немногие будут работать на Linux, и ни один из них не является открытым исходным кодом или бесплатным. Неужели это правда? Я не хочу тратить несколько сотен долларов, чтобы попробовать некоторые программы для Cortex M4F. Я также не хочу изучать одну среду IDE, а затем другую позже, когда узнаю, что это недостаточно или слишком дорого. Я привык к Linux и открытому способу делать что-то, и я очень шокирован тем, что никто, похоже, не делает каких-либо серьезных встроенных программ ARM с инструментами с открытым исходным кодом в Linux. Пожалуйста, поправьте меня, если я ошибаюсь.

У меня нет планов запуска Linux на Cortex M4F - я просто хочу запрограммировать его как обычный микроконтроллер.

Texas Instruments рекомендует один из следующих цепей инструмента на задней стороне обложки комплекта оценки:

  • Code Composer Studio IDE: полнофункциональная плата заблокирована
  • Keil: 32KB адрес ограничен
  • IAR: 32KB адрес ограничен
  • Mentor Embedded Sourcery CodeBench: 30-дневная полнофункциональная

Мне также рекомендовали Red Studio от code_red.

Не является открытым исходным кодом или бесплатным, и все имеют ограничения. Мне кажется, что только Code Composer Studio и Red Studio совместимы с Linux.

Я наткнулся на еще один продукт, Rowley CrossWorks, который также совместим с Linux, но все же очень коммерческий и дорогой.

Действительно ли это, что нет альтернативы с открытым исходным кодом? Большинство продуктов, похоже, используют Eclipse и GCC, с которыми можно обойтись без этих коммерческих пакетов, верно? Я просто не могу найти учебник или руководство, объясняющее, как это сделать для встроенного программирования ARM. Также мне нужно знать, как программировать устройство после компиляции.

Я действительно хочу скоро начать работу. Любые советы и идеи очень приветствуются :-)

+0

https://github.com/dwelch67/stellaris_launchpad Интересно, избавились ли они от названия звезд, а теперь это тива. Я не использую IDE, если вы ограничены использованием IDE, хорошо, что вы сами. Но инструменты gnu работают отлично, вам не нужно заходить с этими инструментами для торговых марок ... если вы действительно не хотите ... –

+0

yep, они ребрендировали stellaris как tiva c ... –

+0

@ pvh1987 - ваш вопрос, кажется, привлекает как спам-ответы, так и излишнее внимание модераторов. Простой факт заключается в том, что то, что вы хотите сделать, возможно, используя только бесплатные инструменты (как правило, некоторую версию GCC), однако для настройки может потребоваться немного работы и опыта, а примерный код производителя часто требует некоторого портирования и сценария сборки прежде чем он будет работать. –

ответ

8

Это всегда одно и то же, независимо от того, какая у вас плата eval: обнаружение STM32, LPCXpresso, TI Launchpads. Они очень дешевы, но рекомендуемые IDE ограничены: их размер кода ограничен, только Windows, или они привязаны к определенному дистрибутиву Linux.

В моем опыте выбор зависит от ваших долгосрочных целей:

  • Вы хотите поделиться кодом с AVR 8-бит (или PIC32, Renesas RX 32, ...)?
  • Это среднесрочная/долгосрочная цель иметь систему сборки на основе make?
  • Вам нужно заполнить вкладку и/или встроенный отладчик?
  • Вы хотите попробовать другие платы eval в будущем (не будучи вынужденным установить еще одну IDE)?

или вы просто хотите быстро запустить этот запуск. В этом случае я бы использовал одну из рекомендуемых IDE для получения впечатления.

С другой стороны, все 32-разрядные микроконтроллеры, которые я использовал (Cortex-M0/3/4, PIC32, Renesas RX), могут быть запрограммированы с помощью gcc. Насколько мне известно, Code Red, Mentor и MPLABX используют gcc (или модифицированный gcc).

Таким образом, всегда существует возможность использовать Eclipse с проектом Makefile и gcc. Я пробовал это дважды, но для меня это не сработало, потому что я разделяю библиотеки между разными целями, и мне было сложно обойти определения в Eclipse.

Так что мой IDE является Makefile, Emacs и gcc, и я полностью перешел на использование C++: Это может быть еще одним преимуществом использования gcc.

Обе возможности (Eclipse, с проектом Makefile или просто редактор марки) не «с полки»: Они требуют времени, терпения, и ваш любимый интернет-поиска.

Update

Я не знаю полного учебника о том, как настроить GCC + сделать среда на основе, так что я просто описать основные шаги, которые я сделал это несколько лет назад (с некоторыми изменениями) ,

Следующие шаги STM32 конкретны:

  • Получить один из открытия доски, например значение STM32 линии Discovery.

  • Получить Flash-утилита: Я использую stlink (git clone https://github.com/texane/stlink.git). Это включает в себя и сервер GDB.

  • Существуют различные примеры доступны, поиск «stm32vl обнаружения мигания» (я не могу рекомендовать один здесь, один я исчез)

В качестве альтернативы (или последующих): Получить в Периферийные примеры прошивки

  • Вы найдете GNU Л.Д. совместимый скрипт компоновщика в Project/Examples/GPIOToggle/TrueSTUDIO/stm32_flash.ld

  • Вы найдете GNU, как совместимый запуск в Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld_vl.s

  • Вы найдете все другие необходимые библиотеки включают в себя файлы и источники в архиве .zip и

  • Посмотри на проекте GPIOToggle (Project/Examples/GPIOToggle)

  • Написать Makefile для компиляции, компоновки и вспышки

+0

вы можете предложить какие-либо учебники для тех, кто считает, что кусает пулю и делает это из командной строки? [настройка цепочки инструментов, рабочий поток, ...] Я признаю наличие привычки зависимости IDE (учитывая группу поддержки для нее). Но, как вы указываете, опции в Linux ограничены до нуля. У меня есть пара плат STM32, с которыми я хочу играть, но также хочу иметь возможность справляться с другими производителями. – norlesh

+0

@norlesh Я обновил ответ. Эти шаги применимы и для других поставщиков: NXP (lpc), TI (Stellaris), ... также. – Beryllium

+0

Не используйте инструменты с открытым исходным кодом. Вам нужен хороший отладчик, хороший интерфейс для чтения состояний регистров и других файлов cookie для использования PRO. Они никогда не сочетаются с инструментами с открытым исходным кодом.Я пробовал все, чтобы установить бесплатный программный интерфейс для ARM вместе с отладчиком, и в целом он не может быть сделан на Linux бесплатно. Мой лучший снимок заключался в использовании IDE KDevelop/Eclipse/CodeBlocks вместе с make-файлами, но ни у одного из этих инструментов не было встроенных файлов cookie. Я компенсировал это, купив Segger J-LINK JTAG-зонд и использовал JLink Commander для мониторинга регистров во внешнем терминале, но он отсосал ... Купить инструменты проприетар ... – 71GA

1

Чтобы создать свою собственную среду разработки, вы можете использовать следующую комбинацию:

  • Eclipse CDT
  • Получить набор инструментов, которые будут использоваться (официальная версия GCC или какой-либо третья сторона, настроенной для вашей платформы)
  • интегрировать toolchain в среду Eclipse либо через внутреннюю систему сборки Eclipse (создатель CDT), либо через какой-либо внешний строитель (т.е. сделать)
  • Для того, чтобы иметь поддержку отладки JTAG, есть GDB Hardware Debugging Eclipse, плагин вам нужно настроить

Я сумел завершить свою собственную установку таким образом, для LPC1769 (Cortex-M3 CPU), и это сработало :)

+0

Можете ли вы поделиться ссылками, которые помогут настроить Eclipse, разработать встроенный linux , Я хотел бы настроить Eclipse CDT для разработки программного обеспечения для процессора TIVA Cortex M4. –

+0

Cortex M4 не может запускать полномасштабную встроенную Linux, только uClinux. – Adi

+0

Спасибо за ввод, я смог получить Eclipse CDT, настроенный для программирования Cortex-M4. Attach - это ссылка, которая поможет мне начать работу. http://chrisrm.com/howto-develop-on-the-ti-tiva-launchpad-using-linux/. Ваш пост был очень полезен. –

Смежные вопросы