Программирование AVR под Ubuntu

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
КАШАК
Это не хвост, это антенна
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик
Контактная информация:

Программирование AVR под Ubuntu

Сообщение КАШАК »

Всем привет :)

Перешел я с винды на линукс, а точнее на Ubuntu. Вот тут и начал думать, как писать программы для AVR в Linux? На винде пользовался CodeVision, на линуксе пока тоже им пользуюсь, из под Wine, но это неудобно, т.к. он подтормаживает и т.п. На линуксе есть две среды разработки Eclipce и CodeBlock но нет литературы и примеров для них... Кто на чем пишет прошивки в линуксе? Кто, что посоветует?

P.S.
Обратно в винду переходить не хочу, т.к. в линуксе скорость прошивки при помощи программатора AVR910 в разы выше...
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Реклама
Аватара пользователя
romazan
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Чт май 21, 2009 13:54:07
Откуда: Москва
Контактная информация:

Re: Программирование AVR под Ubuntu

Сообщение romazan »

КАШАК писал(а): P.S.
Обратно в винду переходить не хочу, т.к. в линуксе скорость прошивки при помощи программатора AVR910 в разы выше...
Гыгыгы, поколение Codevision :)

По сути: если есть большая выдержка, то можешь компилироть проекты из Терминала, что имхо вручную изврат.
Поставь как я под Wine AVRStudio, компилировать нормально, но вот прошивать все равно через терминал надо будет или есть оболочки для Дудки, облегчающие эту задачу.

Кстати? Либо я отстал от жизни, либо ты ошибся написав что у тебя программатор AVR910, так как под иного нет драйверов на Linux!
Реклама
Аватара пользователя
КАШАК
Это не хвост, это антенна
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик
Контактная информация:

Re: Программирование AVR под Ubuntu

Сообщение КАШАК »

Я не ошибся, у меня действительно AVR910, мастеркитовский, шью из под связки программ AVR8 Burn-O-Mat + AVRDude. Запустил его быстрее чем на винде, просто в ноут воткнул и в настройках AVRDude выбрал свой программатор, а на винде пол дня с дровами мучился... Только сначала установил все как здесь описано http://cxem.net/mc/mc44.php Намного удобнее чем из под терминала, выглядит программа так http://cxem.net/mc/mc48.php А обязательно программы для винды ставить? Может можно их библиотеки к линуксовым IDE приделать? Или писать с библиотеками AVR-gcc?
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Программирование AVR под Ubuntu

Сообщение md5sum »

romazan писал(а):Гыгыгы, поколение Codevision :)
По сути: если есть большая выдержка, то можешь компилироть проекты из Терминала, что имхо вручную изврат.
Поставь как я под Wine AVRStudio, компилировать нормально, но вот прошивать все равно через терминал надо будет или есть оболочки для Дудки, облегчающие эту задачу.
Гыгыгы, поколение windows :facepalm:

Если проект свободно может компилироваться из терминала, то это большой шаг к повторяемости: отсутствует привязка к среде. Правда надо изучить структуру Makefile и понимать принцип работы маке и компилятора.
Вместо wine+studio - eclipse. Прошивать avrdude (в терминал выходить не надо).
А в Studio есть tools->customize->tools, где прописываете свой батничек, который прошивает текущий проект в МК. Даже кнопочка появится - чтоб было куда тыркать. Правда в этом случае то-же надо-б знать как правильно батники составлять :)

2 КАШАК под эклипс ставишь плагин http://avr-eclipse.sourceforge.net/. Создаешь проект, в свойствах проекта (вкладка avrdude) указываешь свой программатор: Atmel Low Cost Serial Programmer. Прошивать большой кнопкой AVR со стрелкой :)
— Не говорите мне что делать и я не скажу куда Вам идти...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Программирование AVR под Ubuntu

Сообщение md5sum »

КАШАК писал(а):А обязательно программы для винды ставить? Может можно их библиотеки к линуксовым IDE приделать? Или писать с библиотеками AVR-gcc?
Если нужен именно CV, то придется его ставить повозившись с wine. Да и не факт, что будет нормально работать.
Касательно AVR-Studio: она использует winawr, что собственно есть адаптация avr-gcc для винды. Так зачем студию с winavr тащить в линукс, если avr-gcc там и так есть?
— Не говорите мне что делать и я не скажу куда Вам идти...
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Программирование AVR под Ubuntu

Сообщение ploop »

Кстати? Либо я отстал от жизни, либо ты ошибся написав что у тебя программатор AVR910, так как под иного нет драйверов на Linux!
Походу отстал. Драйвера там не нужны.

На Си действительно проблем нет, можно настроить практически любую понравившуюся среду разработки, а компилятор - avr-gcc.
На счет CV не знаю, совместим ли будет код с avr-gcc, говорят, она вообще своеобразная...
Реклама
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Программирование AVR под Ubuntu

Сообщение md5sum »

ploop писал(а):На счет CV не знаю, совместим ли будет код с avr-gcc, говорят, она вообще своеобразная...
Ну напильник и кувалду еще не отменяли :) Только насколько это нужно? Иногда проще переписать полностью в gcc.
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Программирование AVR под Ubuntu

Сообщение ploop »

Я не ошибся, у меня действительно AVR910, мастеркитовский, шью из под связки программ AVR8 Burn-O-Mat + AVRDude. Запустил его быстрее чем на винде, просто в ноут воткнул и в настройках AVRDude выбрал свой программатор, а на винде пол дня с дровами мучился...
Кстати, я тут намедни с одной проблемой столкнулся: с родной протоссовской (которая, кажется, и есть в мастеркитовских наборах) прошивкой дудка не хотела шить новые серии МК, например ATmega48-88-168, пишет, что программатор их не поддерживает. И действительно, в её выводе поддерживаемых контроллеров много чего нет.

Пришлось прошить его прошивкой AVR910-AVRDoper (адаптирована для этой схемы), а в качестве программатора выбирается STK500v2. Тут уже всё нормально.
Аватара пользователя
КАШАК
Это не хвост, это антенна
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик
Контактная информация:

Re: Программирование AVR под Ubuntu

Сообщение КАШАК »

md5sum писал(а):
КАШАК писал(а):А обязательно программы для винды ставить? Может можно их библиотеки к линуксовым IDE приделать? Или писать с библиотеками AVR-gcc?
Если нужен именно CV, то придется его ставить повозившись с wine. Да и не факт, что будет нормально работать.
Касательно AVR-Studio: она использует winawr, что собственно есть адаптация avr-gcc для винды. Так зачем студию с winavr тащить в линукс, если avr-gcc там и так есть?
CV не принципиально, уже давно собирался переходить на другую среду разработки... Если AVR-Studio и Eclipse используют avr-gcc, то программы в них должны выглядеть одинаково?
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Программирование AVR под Ubuntu

Сообщение md5sum »

КАШАК писал(а):CV не принципиально, уже давно собирался переходить на другую среду разработки... Если AVR-Studio и Eclipse используют avr-gcc, то программы в них должны выглядеть одинаково?
Да.
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
КАШАК
Это не хвост, это антенна
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик
Контактная информация:

Re: Программирование AVR под Ubuntu

Сообщение КАШАК »

Это хорошо, сегодня вечером попробую что-нибудь написать :)
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Программирование AVR под Ubuntu

Сообщение avreal »

md5sum писал(а):Гыгыгы, поколение windows :facepalm:

Если проект свободно может компилироваться из терминала, то это большой шаг к повторяемости: отсутствует привязка к среде. Правда надо изучить структуру Makefile и понимать принцип работы маке и компилятора.
+100
Примеры к AVR/GCC порту scmRTOS компилируются одинаково успешно и в Windows, и в Linux без каких-либо изменений.
А что навернуть поверх make/makefile — дело вкуса. В MS-DOS у меня был Qedit, в Windows — MED, сейчас в убунте — Code::Blocks (ушёл на него с NetBeans, сейчас вяло подумываю о переходе на eclipse).
При этом при переходе между ОС и редакторами в самих проектах ничего не менялось.
Для мелких правок или зашивки нескольких плат одной прошивкой можно обойтись «текущим-редактором-по-умолчанию» (FAR-овский встроенный, Notepad++, gedit, vim) и командной строкой.

Даже для прошивки скомпилированного в микроконтроллер я что в досовском Qedit, что в виндовсовском MED нажимал одно и то же Alt-F9 (вот зачем нужны программаторы командной строки — думаете, я целыми днями сижу в коносли и набираю команды avreal?).
Настройки редакторов при этом делали вызов «make program», а программатор вписан в makefile и берёт тип микроконтроллера и его тактовую для настройки своей частоты из тех же переменных управления проектом, из которых они передаются и avr-gcc.

В Ubuntu и Code::Blocks немного по другому, но опять ничего не то что в исходниках — вообще в проектах не поменялось и при необходимости я могу их собирать и прошивать AVR и в Windows (что и делается с примерами scmRTOS, так как при отработке IAR-ветви я сижу в Windows, но при изменениях в файлах scmRTOS мне нужно быстренько проверить и GCC-ветвь, тут-то и нужен рядом стоящий WinAVR).

Компилируется avr-gcc, только теперь он берётся не из пакета WinAVR, а из /usr/bin, либо, для сборок Klen, из /opt/kgp-avr/bin.

Прошивается avreal + адаптер на FT2232 (им же OpenOCD шьёт STM32).
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Программирование AVR под Ubuntu

Сообщение md5sum »

avreal писал(а):думаете, я целыми днями сижу в консоли и набираю команды avreal?
Однозначно!
Это как медведи на красной площади: Раз работаете в линуксе - значит из командной строки не вылезаете :))
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Программирование AVR под Ubuntu

Сообщение ploop »

У меня всё проще: на Си пока не пишу, хватает ассемблера. В качестве редактора - Geany, где в опциях компиляции прописаны собственно ассемблер с ключами, а на сборку повесил avrdude тоже с ключами. В итоге F8 - компилит (и выкидывает ошибки, если есть), F9 - тут же прошивает.

Geany удобен тем, что лёгок и быстр, в отличии от монстров, типа Eclipse или NetBeans. Хотя это совсем разного уровня вещи, первый можно назвать продвинутым блокнотом, а не полноценной IDE.
Аватара пользователя
КАШАК
Это не хвост, это антенна
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик
Контактная информация:

Re: Программирование AVR под Ubuntu

Сообщение КАШАК »

Сто-то проект в Eclipse не собирается. Пишет:

Код: Выделить всё

**** Build of configuration Release for project test ****

Nothing to build for project test
Код пытаюсь скомпилить простейший:

Код: Выделить всё

#include "avr/io.h"

short unsigned int i;

void main (void)
{
  DDRB  = 255;
  PORTB = 0;

  while(1)
  {
    if (PORTB == 255)
      PORTB = 0;
    else
      PORTB++;

    for (i=0; i<10000; i++)
    {
    }
  }
}
Как правильно скомпилить проект?
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Программирование AVR под Ubuntu

Сообщение md5sum »

Файл после правки сохранил? (звездочка у имени должна пропасть)
Сам по началу забывал сохранять - наследие студии (она сама сохраняет)
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
КАШАК
Это не хвост, это антенна
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик
Контактная информация:

Re: Программирование AVR под Ubuntu

Сообщение КАШАК »

Сохранял, звёздочка на имени пропала, но проект не компилится. Может я что-то не то жму для компиляции? Я жму в Build All в меню Project.
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Программирование AVR под Ubuntu

Сообщение md5sum »

А project -> clean что скажет?
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
КАШАК
Это не хвост, это антенна
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик
Контактная информация:

Re: Программирование AVR под Ubuntu

Сообщение КАШАК »

Тоже самое...
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Программирование AVR под Ubuntu

Сообщение md5sum »

Кидай PrintScreen. Можно в личку...
— Не говорите мне что делать и я не скажу куда Вам идти...
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»