|
Переход на Eclipse, А так же использование С++ |
|
|
|
Nov 27 2010, 00:01
|
Местный
  
Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646

|
Привет! Обычно для написания программ под AVR я использовал AVR Studio + WinAVR. Но в АВРСтудио не нравилось очень плохая подсветка синтаксиса и то, что, к примеру, когда ставлю точку после структуры то не отображаються елементы структуры. Вот решил перейти на Eclipse. Установил еклипс, плагин для AVR, создал новый проект на С, скомпилировал, сразу показало две ошибки: первая что компил хз что такое int main(void), вторую не помню. Ну я тут долго не разбирался так как при создании проекта была возможность выбора Си или С++, а так как в С++ больше возможностей (знаю так как програмлю в С++ билдер 2010), то я решил попробовать писать прошивки под AVR на С++. Ну вобщем то первые впечатлению очень даже не плохие. Не радует только одно: невозможно откомпилировать библиотеку V-USB:(, которой я ОЧЕНЬ часто пользуюсь, точей говоря, практически во всех проектах.
У меня 2 вопроса к форумчанам: 1. Сильно ли много ресурсов АВР съедает С++ по сравнению с обычным Си? 2. Можно ли как то перевести либу V-USB с Си на С++?
Спасибо!
|
|
|
|
|
Nov 27 2010, 04:32
|
Частый гость
 
Группа: Участник
Сообщений: 182
Регистрация: 4-11-10
Пользователь №: 60 646

|
Цитата(Br.Misha @ Nov 27 2010, 02:01)  1. Сильно ли много ресурсов АВР съедает С++ по сравнению с обычным Си? 2. Можно ли как то перевести либу V-USB с Си на С++? 1. Съедает прилично , вы заметите , но это не единственная проблема - пролемы начнутся с того что нужно самому реализовывать часть языка которая тупо отсутствует , это как минимум операторы new и delete, но там ещё куча вещей 2. Портировать с С на С++ не так тяжело , но может быть рутинно в связи с большим объемом кода который нужно портировать
Сообщение отредактировал IgorKossak - Nov 27 2010, 22:09
Причина редактирования: Излишнее цитирование
|
|
|
|
|
Nov 27 2010, 07:26
|
Местный
  
Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970

|
Цитата(Br.Misha @ Nov 27 2010, 03:01)  1. Сильно ли много ресурсов АВР съедает С++ по сравнению с обычным Си? 2. Можно ли как то перевести либу V-USB с Си на С++?
Спасибо! 1. при вдумчивом подходе к коду и понимании, как оно внутри работает - разница не критична 2. extern "C"
|
|
|
|
|
Nov 27 2010, 11:18
|

Участник

Группа: Участник
Сообщений: 38
Регистрация: 10-11-05
Из: Таганрог
Пользователь №: 10 659

|
Возможно автору и так известно но все же: вполне сносное подобие класса можно реализовать на С используя структуры, с их же помощью и создавать булевы переменные как битовые структуры, ибо все равно меньше чем байт в ПЗУ или ОЗУ Вы не адресуете, а инструкций для битовых операций у АВР достаточно, и при грамотном подходе откомпилированный код будет очень компактным. Из личного опыта: и я и многие знакомые-разработчики в свое время отказались от программирования на С++ под контроллеры, так что не наступайте на чужие грабли  ))
--------------------
Вы пробовали выключить и снова включить?
|
|
|
|
|
Dec 5 2010, 15:16
|
Местный
  
Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646

|
MrYuran, я компилил на Си а не С++. Помогло когда я вынес все файлы с папки usbdrv в общую папку проекта, проблема исщезла, но теперь эта папка забита файлами usb драйвера, поэтому вопрос, как прикрепить папку usbdrv остается. Кстати, когда в эклипсе развернуть (слева) папку usbdrv, то ве файлы в ней перечеркнуты, я так понял, это значит что они не счтаются исходными файлами поекта, вот нужно как то сделать чтобы еклипс понял, что эти файлы тоже нужно компилировать.
Да, и еще: в АВРстудио компилируются все файлы, который я подключаю в левой колонке, тоесть я могу по нем клацнуть правой кнопкой, потом Revjdt from project и они компилироваться не будут, хотя и будут находится в папке с проектом. А вот в эклипсе компилируются все файлы, которые лежат в папке с проектом. Как их можно сделать чобы они не компилировались, кроме как удалять с папки?
|
|
|
|
|
Dec 5 2010, 15:57
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

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

Группа: Участник
Сообщений: 15
Регистрация: 16-01-10
Пользователь №: 54 847

|
А кто знает как в эклипс уменьшить размер текста, вроде до перестановки винды как-то делал а теперь не могу найти.
|
|
|
|
|
Dec 23 2010, 11:13
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

|
Цитата(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
|
|
|
|
|
Dec 24 2010, 04:06
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
Цитата(ANT @ Dec 23 2010, 17:13)  Не поверите - точно также  : Resource Configurations -> Exclude from Build - только галочки надо снять. ясен пень - не поверю, так как ранее писал: этот пункт из контекстного меню проекта исчезает, если выделен исключенный из проекта файл! а найти аналогичное место снятия галочек можно лишь покопавшись в настройках проекта, что муторно и долго. почему пункт исчезает и как его вернуть - вот мой вопрос.
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
|
Dec 24 2010, 05:03
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

|
Цитата(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
|
|
|
|
|
Dec 24 2010, 14:38
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

|
Цитата(AHTOXA @ Dec 24 2010, 12:34)  А у меня не исчезает, а только лишь переползает пониже ... Так было в предыдущей версии - Galileo. В Helios стало по-другому  .
|
|
|
|
|
Dec 26 2010, 01:08
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 16-01-10
Пользователь №: 54 847

|
Цитата(ANT @ Dec 23 2010, 19:13)  Не поверите - точно также  : Resource Configurations -> Exclude from Build - только галочки надо снять. Window -> Preferencies -> General -> Appearance -> Colours and Fons -> Editor Спасибо
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|