Полная версия этой страницы:
Переход на Eclipse
Br.Misha
Nov 27 2010, 00:01
Привет!
Обычно для написания программ под AVR я использовал AVR Studio + WinAVR. Но в АВРСтудио не нравилось очень плохая подсветка синтаксиса и то, что, к примеру, когда ставлю точку после структуры то не отображаються елементы структуры. Вот решил перейти на Eclipse.
Установил еклипс, плагин для AVR, создал новый проект на С, скомпилировал, сразу показало две ошибки: первая что компил хз что такое int main(void), вторую не помню. Ну я тут долго не разбирался так как при создании проекта была возможность выбора Си или С++, а так как в С++ больше возможностей (знаю так как програмлю в С++ билдер 2010), то я решил попробовать писать прошивки под AVR на С++. Ну вобщем то первые впечатлению очень даже не плохие. Не радует только одно: невозможно откомпилировать библиотеку V-USB:(, которой я ОЧЕНЬ часто пользуюсь, точей говоря, практически во всех проектах.
У меня 2 вопроса к форумчанам:
1. Сильно ли много ресурсов АВР съедает С++ по сравнению с обычным Си?
2. Можно ли как то перевести либу V-USB с Си на С++?
Спасибо!
follow_me
Nov 27 2010, 04:32
Цитата(Br.Misha @ Nov 27 2010, 02:01)

1. Сильно ли много ресурсов АВР съедает С++ по сравнению с обычным Си?
2. Можно ли как то перевести либу V-USB с Си на С++?
1. Съедает прилично , вы заметите , но это не единственная проблема - пролемы начнутся с того что нужно самому реализовывать часть языка которая тупо отсутствует , это как минимум операторы new и delete, но там ещё куча вещей
2. Портировать с С на С++ не так тяжело , но может быть рутинно в связи с большим объемом кода который нужно портировать
да вы прямо как тот новый русский, который, как только в машине бензин кончается, покупает новую! если компиляция не прошла - значит вы что-то сделали не так, но вместо поиска собственных оплошностей вы сразу решили платформу поменять!
я пользуюсь эклипсом года полтора - никаких проблем, кроме неспешной загрузки и индексации! тем не менее я очень доволен

рекомендую огласить точный список проблем, и наверняка вам подскажут, как их побороть в рамках С, без привлечения плюсов
Цитата(Br.Misha @ Nov 27 2010, 03:01)

1. Сильно ли много ресурсов АВР съедает С++ по сравнению с обычным Си?
2. Можно ли как то перевести либу V-USB с Си на С++?
Спасибо!
1. при вдумчивом подходе к коду и понимании, как оно внутри работает - разница не критична
2. extern "C"
Br.Misha
Nov 27 2010, 10:07
Если честно, то наиболее в С++ меня привлекает использование классов. Вообще в программировании под авр на Си мне е хватает только классов и булевых переменных.
Лан, почитал я в инете неоч хорошие отзывы а С++ в АВР. Решил всетаки писать на Си. Вчера у меня что то не получалось с мейкфайломСегодня вродь разобрался...
Fktrctq
Nov 27 2010, 11:18
Возможно автору и так известно но все же: вполне сносное подобие класса можно реализовать на С используя структуры, с их же помощью и создавать булевы переменные как битовые структуры, ибо все равно меньше чем байт в ПЗУ или ОЗУ Вы не адресуете, а инструкций для битовых операций у АВР достаточно, и при грамотном подходе откомпилированный код будет очень компактным.
Из личного опыта: и я и многие знакомые-разработчики в свое время отказались от программирования на С++ под контроллеры, так что не наступайте на чужие грабли

))
kovigor
Nov 27 2010, 14:26
Цитата(Br.Misha @ Nov 27 2010, 14:07)

Лан, почитал я в инете неоч хорошие отзывы а С++ в АВР.
Не вижу смысла загонять мощный экскаватор в детскую песочницу, в которой и обычным совочком управиться можно
segment
Nov 27 2010, 20:04
Использую С++, намного удобнее и понятнее код. В разумных пределах конечно использую.
Сергей Борщ
Nov 27 2010, 20:10
QUOTE (Fktrctq @ Nov 27 2010, 13:18)

Из личного опыта: и я и многие знакомые-разработчики в свое время отказались от программирования на С++ под контроллеры, так что не наступайте на чужие грабли

))
Из личного опыта: и я и многие знакомые-разработчики бесповоротно перешли с "голого" C на C++ под контроллеры. Так что не наступайте на чужие грабли - освойте инструмент на должном уровне и не слушайте советов тех, кому не хватило терпения/способностей.
IgorKossak
Nov 27 2010, 22:14
Ой чувствую зарождение очередной религиозной войны.
Не заставляйте меня грохнуть тему.
Автор, дайте конкретный список вопросов, а не какие-нибудь абстракции.
Модератор.
_Pasha
Nov 28 2010, 07:09
Цитата(Br.Misha @ Nov 27 2010, 04:01)

Но в АВРСтудио не нравилось очень плохая подсветка синтаксиса

Фраза - супер. Понравилось.
MrYuran
Nov 29 2010, 07:54
Цитата(Br.Misha @ Nov 27 2010, 13:07)

Лан, почитал я в инете неоч хорошие отзывы а С++ в АВР.
Это наверно не в тех интернетах читали...
IgorKossak
Nov 30 2010, 08:00
Часть темы о разворачивании
отделил.
Br.Misha
Dec 5 2010, 02:16
Уже вродь разобрался с эклипсом, но вот появилась проблема.
Делаю проект с использованием V-USB. Там есть папка usbdrv, в аврстудио я заходил в опции, потом include directories и там добавлял эту папку, но где в эклипе это делать я не знаю.
Сверху хидеры подключил (#include "usbdrv/usbdrv.h", #include "usbdrv/requests.h"), но когда вызываю usbPoll(), то вылазит ../main.c:20: undefined reference to `usbPoll'.
Подскажите плиз как решить проблему.
MrYuran
Dec 5 2010, 13:44
Цитата(Br.Misha @ Dec 5 2010, 05:16)

когда вызываю usbPoll(), то вылазит ../main.c:20: undefined reference to `usbPoll'.
Если компилите плюсами, то сишные прототипы функций нужно заключать в скобки extern "C", уже писали сверху.
Br.Misha
Dec 5 2010, 15:16
MrYuran, я компилил на Си а не С++.
Помогло когда я вынес все файлы с папки usbdrv в общую папку проекта, проблема исщезла, но теперь эта папка забита файлами usb драйвера, поэтому вопрос, как прикрепить папку usbdrv остается.
Кстати, когда в эклипсе развернуть (слева) папку usbdrv, то ве файлы в ней перечеркнуты, я так понял, это значит что они не счтаются исходными файлами поекта, вот нужно как то сделать чтобы еклипс понял, что эти файлы тоже нужно компилировать.
Да, и еще: в АВРстудио компилируются все файлы, который я подключаю в левой колонке, тоесть я могу по нем клацнуть правой кнопкой, потом Revjdt from project и они компилироваться не будут, хотя и будут находится в папке с проектом. А вот в эклипсе компилируются все файлы, которые лежат в папке с проектом. Как их можно сделать чобы они не компилировались, кроме как удалять с папки?
Цитата(Br.Misha @ Dec 5 2010, 18:16)

Да, и еще: в АВРстудио компилируются все файлы, который я подключаю в левой колонке, тоесть я могу по нем клацнуть правой кнопкой, потом Revjdt from project и они компилироваться не будут, хотя и будут находится в папке с проектом. А вот в эклипсе компилируются все файлы, которые лежат в папке с проектом. Как их можно сделать чобы они не компилировались, кроме как удалять с папки?
Жмём на файл правой кнопкой: Resource Configurations->Exclude from build
Br.Misha
Dec 5 2010, 18:55
ANT, офигенное спасибо! таким же образом, я подключил папку usbdrv!!!
Br.Misha
Dec 22 2010, 19:05
Вот, даже не думал что у такой класной оболочки нету возможности открыть существующий проект. К примеру, если я хочу открыть проект на другом компе. или я что то не так понял?
Сергей Борщ
Dec 22 2010, 22:01
QUOTE (Br.Misha @ Dec 23 2010, 00:05)

К примеру, если я хочу открыть проект на другом компе.
Import->General->Existing proects into workspace.
а вот такая вещь: в Eclipse Helios можно запросто исключить файлы и папки из проекта, однако включить их обратно в проект значительно сложнее - контекстное меню для исключенных файлов не содержит пункта управления ресурсом

это как побороть?
А кто знает как в эклипс уменьшить размер текста, вроде до перестановки винды как-то делал а теперь не могу найти.
Цитата(ARV @ Dec 23 2010, 08:29)

а вот такая вещь: в Eclipse Helios можно запросто исключить файлы и папки из проекта, однако включить их обратно в проект значительно сложнее - контекстное меню для исключенных файлов не содержит пункта управления ресурсом

это как побороть?
Не поверите - точно также

: Resource Configurations -> Exclude from Build - только галочки надо снять.
Цитата(sds1 @ Dec 23 2010, 11:00)

А кто знает как в эклипс уменьшить размер текста, вроде до перестановки винды как-то делал а теперь не могу найти.
Window -> Preferencies -> General -> Appearance -> Colours and Fons -> Editor
Цитата(ANT @ Dec 23 2010, 17:13)

Не поверите - точно также

: Resource Configurations -> Exclude from Build - только галочки надо снять.
ясен пень - не поверю, так как ранее писал:
этот пункт из контекстного меню проекта исчезает, если выделен исключенный из проекта файл! а найти аналогичное место снятия галочек можно лишь покопавшись в настройках проекта, что муторно и долго.
почему пункт исчезает и как его вернуть - вот мой вопрос.
Цитата(ARV @ Dec 24 2010, 10:06)

ясен пень - не поверю, так как ранее писал: этот пункт из контекстного меню проекта исчезает, если выделен исключенный из проекта файл! а найти аналогичное место снятия галочек можно лишь покопавшись в настройках проекта, что муторно и долго.
почему пункт исчезает и как его вернуть - вот мой вопрос.
Извиняюсь, не проверил. Возвращать можно так:
1. Правой кнопкой на исключённый файл -> Properties
2. Выбираем C/C++ Build
3. В строке Configurations выбираем All configurations
и снимаем галочку Exclude resource from build
4. Жмём OK
5. Файл включается в конфигурацию, на его значке появляется гаечный ключ.
6. Снова правой кнопкой: Resource configurations -> Reset to default -> Select All -> OK
AHTOXA
Dec 24 2010, 06:34
Цитата(ARV @ Dec 24 2010, 12:06)

ясен пень - не поверю, так как ранее писал: этот пункт из контекстного меню проекта исчезает
А у меня не исчезает, а только лишь переползает пониже
Это на работе. А дома вчера проверял - вроде исчез. Или я просто уже сонный проверял
Цитата(AHTOXA @ Dec 24 2010, 12:34)

А у меня не исчезает, а только лишь переползает пониже
...
Так было в предыдущей версии - Galileo. В Helios стало по-другому

.
AHTOXA
Dec 24 2010, 17:35
У меня Helios. И дома и на работе.
Сейчас проверил ещё раз дома - пункт исчезает. А на работе - не исчезает. Чудеса
Цитата(ANT @ Dec 23 2010, 19:13)

Не поверите - точно также

: Resource Configurations -> Exclude from Build - только галочки надо снять.
Window -> Preferencies -> General -> Appearance -> Colours and Fons -> Editor
Спасибо
Br.Misha
Feb 18 2011, 01:53
Когда еще только поставил еклипс то сделал настройки цвета текста и мне было удобно писать програмки. Но сегодня чисто случайно сбил в дефолт и нормально опять настроить не получилось. Может кто значет где можно скачать красивые темки для еклипса? Или мож кто свою импортирует и сюда зальет?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.