Программирование микроконтроллеров AVR в Gentoo Linux

Материал из Belgorod Linux User Group - Белгород

Версия от 13:29, 15 февраля 2008; 107 (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Все ПО будет ставится через OVERLAY портаджей (ну так сделано в скрипте установки). По этому убедитесь что у вас есть соответствующая строка в make.conf:

cat /etc/make.conf | grep PORTDIR_OVERLAY
PORTDIR_OVERLAY="/usr/local/portage"

Содержание

Комипилятор

Для начала поставим скрипты для косскомпилирования:

emerge crossdev 

Для компилирования под микроконтроллер можно использовать gcc. Ставим его таким хитрым скритом:

crossdev -t avr

Этот скрипт сам создаст дерево в PORTDIR_OVERLAY-е, можно проверить:

ls -la /usr/local/portage/cross-avr/*

и вы увидите симлинки на стандартные пакеты, но обрабатываются они через этот оверлей.


После успешной установки gcc-config -l должен показать что компилятор под avr установлен:

[1] avr-4.2.2 *
[2] i686-pc-linux-gnu-3.3.6
[3] i686-pc-linux-gnu-4.1.1 *


Отладчик

Для отладки написанного можно использовать gdb. Теперь вы увидите, что набрав emerge -pv gdb вам будет предложено на выбор 2 варианта gdb:

cross-avr/gdb
sys-devel/gdb

Ставим для avr:

emerge cross-avr/gdb

Программатор

Для заливки написанного во Flash-память контроллера будем использовать утилиту avrdude:

emerge avrdude
emerge uisp

IDE

В качестве IDE - можно использовать любой редактор на любителя. Но если нужно именно IDE - можно попробовать замарочитсья например с Eclipse. Тем более компания Atmel сделала для этого дела специальный пакет:

Eclipse

Ставим сам Eclipse:

emerge -pv eclipse-sdk

Далее можно пойти несколькими путями:

  • Поставить AVR32 Studio от Atmel и разрабатывать в ней
  • Использовать плагин CDT и потом в проекте выбрать компилятор gcc-avr

AVR32Studio

Тут достаточно скачать саму студию AVR32 Studio от сюда:

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4116

Распаковать, и запустить ее.

CDT

А если решили пойти этим путем - то рекомендуется почитать доку по установке:

http://www.cs.hut.fi/Studies/T-106.5300/2007/eclipse-avr.pdf 

Ну или по шагам:

Ставим поддержку C/C++ в Eclipse:

Help -> Software Updates -> Find and Install

выбираем:

Search for new features to install

Далее кликаем:

New Remote Site

и вписываем туда ссылку со страницы http://www.eclipse.org/cdt/downloads.php, соответствующий вашей версии Eclipse, например:

http://download.eclipse.org/tools/cdt/releases/callisto

Жмем Finish, оно находит плагин, отмечаем галочкой, скачивается, ставится.

Далее когда создаем новый проект - выбираем

Managed Make C Project

Выбираем наш прект и идем в

Project - Properties 

и там выставляем:

 C/C++ Build 
GCC C Compiler Command: avr-gcc
Directories Include paths: /usr/avr/include
Miscallaneous Other flags: add -mmcu=atmega16
Change to conform your target microcontroller.
GCC C Linker Command: avr-gcc
GCC Assembler Command: avr-as
 Build Settings
Build output Artifact extension: elf
 Build steps
Post-build steps Command: avr-objcopy -O srec avr-test.elf avr-test.rom
 C/C++ Indexer page выбрать CTAG Indexer.

dms

Еще один плагин для Eclipse.

http://sourceforge.net/projects/dms-iccavr/

KontrollerLab

Очень симпотичная на вид, напоминает студию, легкая, и обновляется. Только что был свежий релиз. Написана на QT.

http://sourceforge.net/projects/kontrollerlab/

Симулятор

simulavr

у меня что-то не собирается!

Полезные ссылки

Личные инструменты