Из первых рук знакомство с Linux AVR IDE

8

Я ищу некоторый вклад в создание хорошей интегрированной среды разработки, настроенной для программирования AVR под Linux (Assembly и C).

Мои исследования дали мне ограниченный практический опыт работы с AVR, но я боюсь, что я становлюсь немного ржавым, поэтому хочу заняться некоторыми проектами, но также хочу продолжать выполнять все разработки под Linux.

Я использую Ladyt USBtinyISP и программирую свои микросхемы с помощью AVRdude, но мне еще не удалось найти IDE, которая бы работала так, как мне нравится в Linux, поэтому собирала и собирала через мой Windows lappie и AVRstudio. (Вот почему я люблю Arduino, хорошую IDE и сразу работаю!)

Итак, есть ли у кого-нибудь опыт непосредственного использования IDE с Linux, когда они успешно разработали свои проекты AVR с начала до конца?

BrianMcK
источник

Ответы:

8

Особенность разработчиков на основе Linux в том, что они обычно имеют свой собственный уникальный рабочий процесс (vim vs emacs и т. Д.). На мой взгляд, linux - это одна большая IDE, в которую вы добавляете свои собственные части. С этим в мыслях:

Если вы используете дистрибутив на основе Debian, запустите его в командной строке: sudo apt-get install build-essential avr-gcc avrdude

Затем найдите понравившийся вам текстовый редактор (google - ваш друг, но вот несколько: vim / gvim, emacs, geany, kate, jedit) и напишите несколько C. Когда вы будете готовы к компиляции, перейдите на avrfreaks и посмотрите на Makefiles других народов . Вероятно, вы можете просто украсть make-файл из чужого проекта и изменить целевое устройство, частоту XTAL и имена файлов источника. После того, как вы запустите make и получите файл .hex, используйте avrdude для программирования вашего чипа.

Чтобы вдаваться в детали, потребовалось бы гораздо больше места, чем у меня, но это основной процесс. Когда вы освоитесь с этим процессом, вы можете делать дополнительные вещи в make-файле, например, иметь одну команду, которая компилирует и загружает ваш код. Некоторые текстовые редакторы (например, geany) позволяют вам устанавливать пользовательские команды make для пунктов меню GUI, чтобы вы могли иметь кнопку compile + download, как я.

Кроме того, фантастическая особенность этого процесса заключается в том, что он в значительной степени одинаков, независимо от того, собираете ли вы ARM, AVR, x86, SPARC и т. Д. После того, как у вас есть make-файлы и gcc, остальная часть разработки под Linux - это просто!

Jeremy
источник
ОН, так просто. Я был излишне испуган этим подходом. Пока это не объяснили так просто, я не знал, как создать сборочный файл. Спасибо за руководство :)
BrianMcK
Это то, что я тоже делаю. EMACS и Makefile. Вы также можете скомпилировать Arduino таким же образом. (* Jcl *)
Jluciani
Вы также можете использовать Eclipse в качестве IDE / редактора и использовать make-файл для компиляции и загрузки. С OpenOCD и ARM можно даже отлаживать через JTAG (я не знаю, работает ли это с AVR).
StarBlue
3

Есть модуль Eclipse для AVR, но я использовал его, и казалось, что это намного больше проблем, чем оно того стоило. (Как и большинство других модулей Eclipse, которые я использовал)

user449
источник
Приветствие за лидерство, но, как вы не понимаете, все это убедило, что я не буду слишком беспокоиться о себе :)
BrianMcK
Я просто хотел бы добавить, что я должен использовать Eclipse на работе (но не для AVRS), и я не рекомендую его. Для микроконтроллеров вы можете обойтись без всего этого раздувания.
Джереми
2

У меня нет опыта из первых рук, но KontrollerLab звучит интересно.

Клинтон Блэкмор
источник
Да, я пытался заставить KontrollerLab работать раньше, но мой компьютер недавно очень сильно сломался, и я только что снова все настраивал. Похоже, что это из той же команды, которая сделала Ktechlab, что я нашел очень полезным для схематического и схемотехнического проектирования. Спасибо за вклад.
BrianMcK
2

Поскольку подход makefile, кажется, имеет отношение к стороне C моего вопроса, я немного больше экспериментировал здесь (таким, как он был) и обнаружил, что у меня есть ресурсы для сборки ассемблерного кода.

Используя AVRA , ассемблер командной строки, я протестировал сборку моего старого школьного проекта и вывел идентичный файл * .hex, сравнивая его с моим исходным выводом AVRstudio. Хотя я на самом деле не запрограммировал AVR micro, основываясь только на выводе, я рад сообщить, что у меня сейчас есть xp из первых рук, хотя и ограниченный :)

BrianMcK
источник
Не забывайте, что avr-gcc также включает в себя очень хороший ассемблер. Он имеет немного другой синтаксис для AVRA и ассемблера Atmel, но работает так же хорошо.
Тим
0

ECLIPSE отлично работает на EeePC с патчем AVR ... Но он немного медленный.


источник