roboforum.ru

Технический форум по робототехнике.


Помогите в Си AVR

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Re: Помогите в Си AVR

Сообщение Vooon » 07 июл 2011, 15:06

ЭЭЭ! cvavr чистый???
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Помогите в Си AVR

Сообщение =DeaD= » 07 июл 2011, 15:20

CVAVR чистый Си, а gcc - грязный Си чтоли? :shock:

Недавно же разбирали побитовый доступ, что он не в синтаксисе Си?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Помогите в Си AVR

Сообщение Romikgy » 07 июл 2011, 16:43

нет , не грязный , а линухподобный....

Добавлено спустя 53 секунды:
=DeaD= писал(а):Недавно же разбирали побитовый доступ, что он не в синтаксисе Си?

чет упустил эту дисскусию ((
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 750
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Porto Franco "Odessa"

Re: Помогите в Си AVR

Сообщение osc » 07 июл 2011, 17:28

В чём его линухоподобность?
Аватара пользователя
osc
 
Сообщения: 333
Зарегистрирован: 07 сен 2009, 20:06
прог. языки: c, c#
ФИО: Евгений

Re: Помогите в Си AVR

Сообщение EasyTech » 07 июл 2011, 18:03

Как писал админ easyelectronics xон совместим с этой платформой.
Выбрал WinAVR т.к. у easyelectronics всё расписано до мелочей и примеров дофига))
По описанию WinAVR далеко идет вперед))
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Помогите в Си AVR

Сообщение Romikgy » 07 июл 2011, 18:28

osc писал(а):В чём его линухоподобность?

в gcc )))
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 750
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Porto Franco "Odessa"

Re: Помогите в Си AVR

Сообщение Vooon » 08 июл 2011, 08:16

Это не ответ, давай контретно.
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Помогите в Си AVR

Сообщение Michael_K » 08 июл 2011, 10:04

Да чего там спорить. стандартные "компьютерные" яп (практически любые вообще) плохо подходят для микроконтроллеров с гарвардской архитектурой, поэтому и возникают всякие "примочки" и расширения.

То же самое касается и традиционного построения компилятора - например разделения компилятора и линкера - эта техника очень сильно мешает оптимизации кода (что в случае МК гораздо критичнее, чем в случае компа).
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Помогите в Си AVR

Сообщение =DeaD= » 08 июл 2011, 10:23

А какая оптимизация имеется в виду - производительности или объема программы?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Помогите в Си AVR

Сообщение Romikgy » 08 июл 2011, 10:26

Vooon писал(а):Это не ответ, давай контретно.

сильно конкретно не могу )))
компилятор winavr был портирован со стандартного gcc от юникс\линух систем, поэтому в нем многое осталось от этого компилятора, и это понятно .... а вот стиль написания , используя gcc мне (субъективно) не сильно нравится...(до сих пор у меня дрож от описания прерываний на winavr) хотя в нем и больше свобод для реализации разных зае...в
в общем как я и говорил выше писать можно на любом языке ...
PS не относится к компилятору но к спору winavr и cvavr , у cvavr очень хороший визард , это очень удобно для начинающих , кто не совсем разобрался с переферией МК , за это ему огромный плюс)))
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 750
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Porto Franco "Odessa"

Re: Помогите в Си AVR

Сообщение galex1981 » 08 июл 2011, 10:42

А чем линуксовые компиляторы плохи? Если вся ОС собрана с их помошью и глюков в них меньше чем в любых других
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Помогите в Си AVR

Сообщение =DeaD= » 08 июл 2011, 10:56

Как вообще Си\Си++ компилятор линукс-подобным? Может библиотеки? Среда разработки?
Или что имеется в виду? Возможность запуска из командной строки?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Помогите в Си AVR

Сообщение Michael_K » 08 июл 2011, 11:06

=DeaD= писал(а):А какая оптимизация имеется в виду - производительности или объема программы?

а любая. Вообще возможности оптимизации ограничены, когда компилятор не знает, как именно будет использован объектный модуль, а линкер не знает, что написано в исходнике, не умеет перелопачивать объектники, и не делает сквозную оптимизацию.

Добавлено спустя 6 минут 45 секунд:
Ну вот недавно разбирали код для пика и авр. В пике компилятор нагородил фигню, потому что стэк у пика неадресуемый, и компилятор создал программный стэк для локальных переменных. Вдруг там где-нибудь рекурсия всплывет. Или эта же функция будет использоваться в прерывании в другом модуле.

В авр компилятор создал функции, а их копии инлайнил. Он мог бы просто инлайнить и не оставлять их отдельные копии, но он не знал, вдруг в другом объектнике потребуется указатель на эту функцию. И т.п.

Такой фигни очень много.

Ну а как описать расположенный во флэш массив указателей на строки расположенные в рам (или наоборот, или все во флэш) - можно вообще поэмы писать :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Помогите в Си AVR

Сообщение =DeaD= » 08 июл 2011, 11:12

Это вроде всё касается объемов получаемой программы? Или я упустил и где-то пострадала производительность?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Помогите в Си AVR

Сообщение Michael_K » 08 июл 2011, 11:20

в пике очень сильно пострадала производительность. Из-за чего, собственно, Дмитрий даже и не стал рассматривать пиковский вариант, написанный на си. компилятор вместо просто обращений к памяти использовал программно оранизованный стэк, на котором разместил локальную переменную массив.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Пред.След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31