Перешел я с винды на линукс, а точнее на Ubuntu. Вот тут и начал думать, как писать программы для AVR в Linux? На винде пользовался CodeVision, на линуксе пока тоже им пользуюсь, из под Wine, но это неудобно, т.к. он подтормаживает и т.п. На линуксе есть две среды разработки Eclipce и CodeBlock но нет литературы и примеров для них... Кто на чем пишет прошивки в линуксе? Кто, что посоветует?
P.S.
Обратно в винду переходить не хочу, т.к. в линуксе скорость прошивки при помощи программатора AVR910 в разы выше...
Опыт растет прямо пропорционально выведенному из строя оборудованию...
КАШАК писал(а):
P.S.
Обратно в винду переходить не хочу, т.к. в линуксе скорость прошивки при помощи программатора AVR910 в разы выше...
Гыгыгы, поколение Codevision
По сути: если есть большая выдержка, то можешь компилироть проекты из Терминала, что имхо вручную изврат.
Поставь как я под Wine AVRStudio, компилировать нормально, но вот прошивать все равно через терминал надо будет или есть оболочки для Дудки, облегчающие эту задачу.
Кстати? Либо я отстал от жизни, либо ты ошибся написав что у тебя программатор AVR910, так как под иного нет драйверов на Linux!
Я не ошибся, у меня действительно AVR910, мастеркитовский, шью из под связки программ AVR8 Burn-O-Mat + AVRDude. Запустил его быстрее чем на винде, просто в ноут воткнул и в настройках AVRDude выбрал свой программатор, а на винде пол дня с дровами мучился... Только сначала установил все как здесь описано http://cxem.net/mc/mc44.php Намного удобнее чем из под терминала, выглядит программа так http://cxem.net/mc/mc48.php А обязательно программы для винды ставить? Может можно их библиотеки к линуксовым IDE приделать? Или писать с библиотеками AVR-gcc?
Опыт растет прямо пропорционально выведенному из строя оборудованию...
romazan писал(а):Гыгыгы, поколение Codevision
По сути: если есть большая выдержка, то можешь компилироть проекты из Терминала, что имхо вручную изврат.
Поставь как я под Wine AVRStudio, компилировать нормально, но вот прошивать все равно через терминал надо будет или есть оболочки для Дудки, облегчающие эту задачу.
Гыгыгы, поколение windows
Если проект свободно может компилироваться из терминала, то это большой шаг к повторяемости: отсутствует привязка к среде. Правда надо изучить структуру Makefile и понимать принцип работы маке и компилятора.
Вместо wine+studio - eclipse. Прошивать avrdude (в терминал выходить не надо).
А в Studio есть tools->customize->tools, где прописываете свой батничек, который прошивает текущий проект в МК. Даже кнопочка появится - чтоб было куда тыркать. Правда в этом случае то-же надо-б знать как правильно батники составлять
2 КАШАК под эклипс ставишь плагин http://avr-eclipse.sourceforge.net/. Создаешь проект, в свойствах проекта (вкладка avrdude) указываешь свой программатор: Atmel Low Cost Serial Programmer. Прошивать большой кнопкой AVR со стрелкой
— Не говорите мне что делать и я не скажу куда Вам идти...
КАШАК писал(а):А обязательно программы для винды ставить? Может можно их библиотеки к линуксовым IDE приделать? Или писать с библиотеками AVR-gcc?
Если нужен именно CV, то придется его ставить повозившись с wine. Да и не факт, что будет нормально работать.
Касательно AVR-Studio: она использует winawr, что собственно есть адаптация avr-gcc для винды. Так зачем студию с winavr тащить в линукс, если avr-gcc там и так есть?
— Не говорите мне что делать и я не скажу куда Вам идти...
Кстати? Либо я отстал от жизни, либо ты ошибся написав что у тебя программатор AVR910, так как под иного нет драйверов на Linux!
Походу отстал. Драйвера там не нужны.
На Си действительно проблем нет, можно настроить практически любую понравившуюся среду разработки, а компилятор - avr-gcc.
На счет CV не знаю, совместим ли будет код с avr-gcc, говорят, она вообще своеобразная...
Я не ошибся, у меня действительно AVR910, мастеркитовский, шью из под связки программ AVR8 Burn-O-Mat + AVRDude. Запустил его быстрее чем на винде, просто в ноут воткнул и в настройках AVRDude выбрал свой программатор, а на винде пол дня с дровами мучился...
Кстати, я тут намедни с одной проблемой столкнулся: с родной протоссовской (которая, кажется, и есть в мастеркитовских наборах) прошивкой дудка не хотела шить новые серии МК, например ATmega48-88-168, пишет, что программатор их не поддерживает. И действительно, в её выводе поддерживаемых контроллеров много чего нет.
Пришлось прошить его прошивкой AVR910-AVRDoper (адаптирована для этой схемы), а в качестве программатора выбирается STK500v2. Тут уже всё нормально.
КАШАК писал(а):А обязательно программы для винды ставить? Может можно их библиотеки к линуксовым IDE приделать? Или писать с библиотеками AVR-gcc?
Если нужен именно CV, то придется его ставить повозившись с wine. Да и не факт, что будет нормально работать.
Касательно AVR-Studio: она использует winawr, что собственно есть адаптация avr-gcc для винды. Так зачем студию с winavr тащить в линукс, если avr-gcc там и так есть?
CV не принципиально, уже давно собирался переходить на другую среду разработки... Если AVR-Studio и Eclipse используют avr-gcc, то программы в них должны выглядеть одинаково?
Опыт растет прямо пропорционально выведенному из строя оборудованию...
КАШАК писал(а):CV не принципиально, уже давно собирался переходить на другую среду разработки... Если AVR-Studio и Eclipse используют avr-gcc, то программы в них должны выглядеть одинаково?
Да.
— Не говорите мне что делать и я не скажу куда Вам идти...
Если проект свободно может компилироваться из терминала, то это большой шаг к повторяемости: отсутствует привязка к среде. Правда надо изучить структуру 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).
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
У меня всё проще: на Си пока не пишу, хватает ассемблера. В качестве редактора - Geany, где в опциях компиляции прописаны собственно ассемблер с ключами, а на сборку повесил avrdude тоже с ключами. В итоге F8 - компилит (и выкидывает ошибки, если есть), F9 - тут же прошивает.
Geany удобен тем, что лёгок и быстр, в отличии от монстров, типа Eclipse или NetBeans. Хотя это совсем разного уровня вещи, первый можно назвать продвинутым блокнотом, а не полноценной IDE.