www.diagram.com.ua
www.diagram.com.ua
Русский: Русская версия English: English version
Translate it!
Поиск по сайту

+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по схемам СССР
+ Поиск по Библиотеке

Бесплатная техническая библиотека:
Все статьи А-Я
Энциклопедия радиоэлектроники и электротехники
Новости науки и техники
Журналы, книги, сборники
Архив статей и поиск
Схемы, сервис-мануалы
Электронные справочники
Инструкции по эксплуатации
Голосования
Ваши истории из жизни
На досуге
Случайные статьи
Отзывы о сайте

Справочник:
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому
Загадки, ребусы, вопросы с подвохом
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель (ТРИЗ)
Конспекты лекций, шпаргалки
Крылатые слова, фразеологизмы
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Моделирование
Нормативная документация по охране труда
Опыты по физике
Опыты по химии
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Радиоэлектроника и электротехника
Строителю, домашнему мастеру
Типовые инструкции по охране труда (ТОИ)
Чудеса природы
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

Техническая документация:
Схемы и сервис-мануалы
Книги, журналы, сборники
Справочники
Параметры радиодеталей
Прошивки
Инструкции по эксплуатации
Энциклопедия радиоэлектроники и электротехники

Бесплатный архив статей
(200000 статей в Архиве)

Алфавитный указатель статей в книгах и журналах

Бонусы:
Ваши истории
Загадки для взрослых и детей
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы
Сборка кубика Рубика
Форумы
Карта сайта

ДИАГРАММА
© 2000-2021

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на https://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

Бесплатная техническая библиотека Бесплатная техническая библиотека, Энциклопедия радиоэлектроники и электротехники

Программирование МК AVR в ОС Ubuntu

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

Поставил я себе такую ОС - Ubuntu 9.04. Конечно же особо в ней в игрушки не поиграешь годится она, в основном, только для работы.

Ну и решил я попробовать в ней программировать контроллеры AVR.

На просторах интернета, в принципе, достаточно много всякой всячины которая поможет в освоении программирования AVR под Linux.

Но как обычно я столкнулся с тем, что много всего ну ничего толком. Везде советуют ставить Eclipse или KontrollerLab (как оно меня достало).

Ну вы конечно же догадались, что что-то у меня с ними пошло не так как хотелось бы. В общем методом догадок и высокоинтеллектуального тыка я стал экспериментировать. И вот до чего я дошел...

Открываем менеджер пакетов Sinaptic и в поиске пишем gcc-avr. Отмечаем для установки gcc-avr, avr-libc, avrdude.

Можно конечно же и так:

$sudo apt-get install gcc-avr avr-libc avrdude

Ну для старта все что нужно вроде бы установили.

Далее создадим в корне системы папочку под названием AVR (путь к папке: /AVR)
В качестве редактора можно использовать nano (в терминале прописываем nano),
но я пользовался обычным текстовым редактором gedit (в терминале прописываем $sudo gedit)
В нем напишем свой код ну например:

#include <avr/io.h>

#include <stdio.h>
#include <util/delay.h>
int main(void)
{
DDRx=0xff;
while (1)
{
PORTx=0xff;
_delay_ms(100);
PORTx=0x00;
_delay_ms(100);
}
}


Далее сохраняем наш текст с расширением main.c в папочке AVR (путь к файлу: /AVR/main.c).

Теперь переходим к компиляции кода.
Запустим терминал и пропишем такой код:

$avr-gcc -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -o /AVR/main.o /AVR/main.c

Долго искал нужную строку, в итоге взял ее просто из WinAvr :).

avr-gcc - компилятор, -mmcu=наш контроллер(сейчас atmega8), -DF_CPU=тактовая частота в Гц, -Os-Оптимизатор кода, -o-OUT, /AVR/main.o-выходной файл с расширением .o который получим из .c, /AVR/main.c -наш си файл.

Программирование МК AVR в ОС Ubuntu. Скриншот терминала

Не забываем работать под root иначе система не пустит.

Enter и если зайдем в наш каталог /AVR то увидим файлик с расширением .o.

Далее в терминале (он же консоль) введем:
$avr-objcopy -O ihex /AVR/main.o /AVR/main.hex

Ну долго обьяснять не буду просто скажу, что переганяем наш файл main из main.o в main.hex.

Ну вот наша прошивка готова к заливке в нашу ATmega8.

Нам понадобится конечно же программатор.

Использовать будем программатор stk500v2 by Petka (Работает просто отлично заливает мгновенно, не отваливается от порта, правда использовал я вместо FT232 CP2102. Огромное спасибо за схемку и прошивки.)

Откроем терминал и запустим утилу avrdude которая будет у нас работать под консолью:

$avrdude -c stk500v2 -pm8 -P /dev/ttyUSB0 -U flash:w:/AVR/main.hex

Программирование МК AVR в ОС Ubuntu. Скриншот терминала

Программирование МК AVR в ОС Ubuntu. Заливка программы в контроллер

В итоге все получилось!

Конечно же программу залил другую и обьем ее составил 5кБ, но заливалось это все меньше 4-х секунд.
Как известно, для avrdude существуют и GUI оболочки, но это уже совсем другая история которую я расскажу в другой статье.:)

P.S. С AVR910 говорят, что работает отлично но сам не пробовал.

Автор: Ефимов Валентин; Публикация: cxem.net

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

раздел сайта Энциклопедия радиоэлектроники и электротехники

журналы Сам (годовые архивы)

книга Коды и математика. Аршинов М.Н., Садовский Л.Е., 1983

книга Переносные кассетные магнитолы. Справочник. Белов И.Ф., 1988

статья Огнестойкое дерево

статья Сколько элементарных частиц известно в настоящее время?

сборник Архив схем и сервис-мануалов телевизоров Avest

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:

[lol][cry][!][?]




Бесплатная техническая библиотека Бесплатная техническая документация для любителей и профессионалов