Я планирую перейти на архитектуру NXP Cortex M3, и я немного потерян между существующими инструментами разработки.
Кейл дорог, и я не знаю, стоит ли оно того. Кто-нибудь, кто пробовал какой-то компилятор, может дать какой-нибудь совет?
Я нашел этот компилятор http://www.code-red-tech.com/red-suite-2.php он кажется хорошим и не дорогим. Любой, кто попробовал это или знает об этом, может дать мне больше информации?
Ответы:
В последнее время в свое свободное время я играл с STM32 (также Cortex M3) и использовал дистрибутив CodeSourcery от GCC, который хорошо сработал.
Коллега, который профессионально работал с ARM micros в прошлом, сказал мне, что он удовлетворен набором инструментов IAR, хотя я не знаю, какова стоимость или какова поддержка Cortex.
источник
Я использую кросс-компиляторы CodeSourcery (Lite) для Linux для программирования микроконтроллеров TI Stellaris . Они работают с любым Cortex-M3. Они полностью бесплатны, с двоичными файлами для Windows и Linux.
Вот краткий рецепт (Debian / Ubuntu) для установки:
Загрузите набор инструментов (подойдет любая версия, но я использую эту)
Установите Java Runtime Environment (для проклятого установщика)
устанавливать
Добавьте кросс-компилятор bin в ваш PATH
Для загрузки кода и отладки вам понадобится OpenOCD и либо GDB, либо один из графических интерфейсов.
Вам также понадобится адаптер JTAG .
источник
Я начал использовать один из них (доска для разработчиков MBED). Большим преимуществом для меня было то, что я мог программировать на C или C ++, прямое соединение с USB и удобная онлайн-среда разработки (никакой локальной установки инструмента вообще не требовалось!).
http://mbed.org/
Через пять минут после открытия у меня была примерная мигающая программа («Привет, мир» изгнанного мира), выполняющая следующее:
Это оно! Выше полная программа!
Он основан на ARM Cortex M3, быстром и большом количестве памяти для встроенных проектов (100 МГц, 256 КБ флэш-памяти и 32 КБ оперативной памяти). У инструментов онлайн-разработки есть очень хорошая библиотека, множество примеров и очень активный форум. Много помощи при подключении устройств к MBED и т. Д.
Несмотря на то, что у меня есть большой опыт работы со встроенными системами (ARM 7/9, Renases M8 / 16/32, Coldfire, Zilog, PIC и т. Д.), Я все же обнаружил, что эта система очень проста в освоении, имея серьезные возможности.
После первоначальной игры с ним на базовом макете я купил базовую доску у этих парней: http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php?PHPSESSID=lj20urpsh9isa0c8ddcfmmn207, Это имеет кучу устройств ввода / вывода (включая миниатюрный OLED и 3-осевой акселерометр). С того же сайта я также купил одну из процессорных плат LCPExpresso, которая является дешевой, с меньшим энергопотреблением и памятью, чем MBED, но идеально подходит для небольших работ (но все же вышибает дерьмо из процессоров PIC / Atmega). Базовая плата поддерживает как LCPExpresso, так и MBED. Приобретая плату процессора LCPExpress, я также получил отладчик JTAG и автономную среду разработки (набор разработчика Code Red на основе GCC / Eclipse). Это намного сложнее, чем онлайновая среда разработки MBED, но это логичное развитие после того, как вы приобрели опыт работы с MBED.
Что касается моей первоначальной идеи, обратите внимание, что контроллер MBED гораздо более эффективен, чем контроллер LPCExpresso, но гораздо проще в использовании и обучении.
источник
хороший источник исходного кода, или используйте emdebian. или бросьте свой собственный, это довольно легко, если вам не нужна полная библиотека C или gcc, тогда это все еще выполнимо, но немного сложнее. сначала вам не нужен компилятор, поддерживающий thumb2, thumb будет делать то, что вы ищете для цепочки инструментов, которая вам нравится.
llvm - еще один хороший вариант (используйте clang, а не llvm-gcc !!), я знаю, что рука все время становится лучше, версия 27 генерировала более быстрый код, чем текущий gcc для конкретного теста. Я обнаружил ошибку со стороны большого пальца при работе с эмулятором большого пальца (thumbulator.blogspot.com), которая была быстро исправлена. Лучшая часть про llvm - это по умолчанию кросс-компилятор, никакой дополнительной работы или опыта сборки не требуется. В следующие несколько лет я вижу, как они глубже врезаются в gcc и пропускают gcc для кросс-компиляции / встраивания.
Я однажды попробовал инструмент code-red с платой lpcxpresso, конечный результат - я определенно никогда не использую code-red и спорю о том, стоит ли вносить черный список в lpc. YMMV. Если вам нужно платить за инструмент, я бы пошел с keil только потому, что он был куплен рукой, и частью пакета является компилятор rvct. Конечно, исходный код является платным, если вы не соответствуете ограничениям lite или решили получить поддержку, так как gcc обеспечивает лучшую поддержку из всех компиляторов. Не так давно, когда я смог опробовать их на метапрограммах, а инструменты arm взорвали gcc, насколько качество создаваемого кода. gcc работает вверх и вниз, некоторые версии 3.x производят лучший код, чем 4.x, они, похоже, не улучшаются с каждым выпуском, но они сделали это, или, возможно, исходники кода добавили поддержку thumb2 не так давно, чего не делают версии 3.x / не будет иметь.
источник
If you have to use a pay for tool I would go with keil only because they were bought by arm
- Вы пробовали компиляторы Keil? Я не был впечатлен инструментами Keil 8051 по крайней мере. Они чувствуют себя динозаврами по сравнению с соревнованиями на основе GCC или набором LLVM / Clang, ИМХО.Я использую программное обеспечение Rowley для разработки ARM и MSP430:
http://www.rowley.co.uk
Это отлично Cortex-M3 поддерживается.
источник
Я использую отладчик Yagarto + Eclipse + J-link edu. (Gnu Toolchain)
http://www.yagarto.de/
источник
Я довольно успешно использовал цепочки компилятора / отладки IAR для моей разработки ARM. Они предлагают относительно стабильные инструменты разработки в комплекте со средой Embedded C ++ (что кажется довольно редким). - В зависимости от размера вашей кодовой базы, они также предлагают отличные аппаратные / программные «KickStart Kits» с ограниченным по размеру версиями своих инструментов.
источник
IAR отлично, и если вы делаете небольшие проекты, есть бесплатная версия с ограниченным размером кода 32K. Размер обновления, однако, немного дороже, я считаю. Они также содержат множество хороших примеров проектов, обычно по несколько для каждого семейства процессоров.
источник
Последние пару дней я потратил на то, чтобы полностью настроить инструментальную цепочку CodeSourcery GNU для EFM32G micro на OS X. Это того стоило. По сравнению со многими отладчиками на основе графического интерфейса, которые я пробовал (в основном на основе Eclipse); Makefiles, GCC и GDB - мечта, ставшая реальностью; плюс все это работает с моего терминала Linux или Mac.
Единственная часть, которая отстой - это адаптер J-Link, встроенный в плату. Программа J-Link для Windows и Linux GDBServer является закрытым исходным кодом. Что еще хуже, версия для Linux НАМНОГО дальше. Поэтому для того, чтобы GDB работал, мне нужно запустить образ Windows VMWare, единственная цель которого - запустить GDBServer (потому что Linux не работает).
Да, и в дополнение к тому, что он работает некорректно, сервер GDB на базе Linux от J-Link связывается с 127.0.0.1 и слушает ТОЛЬКО пакеты с этим как dest; так что связываться с iptables и пересылкой нужно для подключения к удаленной машине. Смешной; Сеггер должен собраться.
источник
Я использую QtCreator и GNU Tools ARM Embedded. Работает хорошо.
Преимущества:
Недостатки:
Когда все настроено правильно, я могу щелкнуть, чтобы создать точку останова в моем коде, а затем нажать кнопку «отладка». Он будет компилироваться, мигать, выполняться и останавливаться на точке останова примерно через 5 секунд (и одновременно заставит вас злиться, если вам когда-нибудь придется вернуться в Arduino "IDE").
Я работаю над руководством по настройке этого с другим чипом ARM - nRF51822 на базе Cortex-M0.
источник
Я использую инструменты CooCox, это отлично, но бесплатно, без ограничений по размеру кода. http://www.coocox.org/
источник
Я использую arm-eabi-gcc и прилагаемую к нему цепочку инструментов, установленную с помощью скрипта summon arm . Скрипт устанавливает среду для выполнения голой металлической работы над ARM. Это бесплатный и открытый исходный код, и все это работает надежно для меня. Я также использовал IAR для этого, и, безусловно, лучше, потому что он позволяет вам делать более дружественную отладку и делать вещи, как в IDE, но в целом я чувствую себя более комфортно с gcc, если по какой-то другой причине, потому что я не нужно никому оправдывать расходы.
(Я никогда не понимал, как использовать gdb для чего-либо, но я никогда не привык использовать отладчик или иметь его в любом случае, так что я не уверен, насколько я квалифицирован, чтобы судить об этом).
источник
Я использую Emprog ThunderBench . Это отлично, наверное, лучшее, что я когда-либо использовал.
Что мне больше всего нравится в этом, так это то, что это в то же время компилятор коры C / C ++ ARM , отладчик и IDE.
источник