Технический форум по робототехнике.
Vooon » 07 июл 2011, 15:06
ЭЭЭ! cvavr чистый???
=DeaD= » 07 июл 2011, 15:20
CVAVR чистый Си, а gcc - грязный Си чтоли?
Недавно же разбирали побитовый доступ, что он не в синтаксисе Си?
Romikgy » 07 июл 2011, 16:43
нет , не грязный , а линухподобный....
Добавлено спустя 53 секунды:=DeaD= писал(а):Недавно же разбирали побитовый доступ, что он не в синтаксисе Си?
чет упустил эту дисскусию ((
osc » 07 июл 2011, 17:28
В чём его линухоподобность?
EasyTech » 07 июл 2011, 18:03
Как писал админ easyelectronics xон совместим с этой платформой.
Выбрал WinAVR т.к. у easyelectronics всё расписано до мелочей и примеров дофига))
По описанию WinAVR далеко идет вперед))
Romikgy » 07 июл 2011, 18:28
osc писал(а):В чём его линухоподобность?
в gcc )))
Vooon » 08 июл 2011, 08:16
Это не ответ, давай контретно.
Michael_K » 08 июл 2011, 10:04
Да чего там спорить. стандартные "компьютерные" яп (практически любые вообще) плохо подходят для микроконтроллеров с гарвардской архитектурой, поэтому и возникают всякие "примочки" и расширения.
То же самое касается и традиционного построения компилятора - например разделения компилятора и линкера - эта техника очень сильно мешает оптимизации кода (что в случае МК гораздо критичнее, чем в случае компа).
=DeaD= » 08 июл 2011, 10:23
А какая оптимизация имеется в виду - производительности или объема программы?
Romikgy » 08 июл 2011, 10:26
Vooon писал(а):Это не ответ, давай контретно.
сильно конкретно не могу )))
компилятор winavr был портирован со стандартного gcc от юникс\линух систем, поэтому в нем многое осталось от этого компилятора, и это понятно .... а вот стиль написания , используя gcc мне (субъективно) не сильно нравится...(до сих пор у меня дрож от описания прерываний на winavr) хотя в нем и больше свобод для реализации разных зае...в
в общем как я и говорил выше писать можно на любом языке ...
PS не относится к компилятору но к спору winavr и cvavr , у cvavr очень хороший визард , это очень удобно для начинающих , кто не совсем разобрался с переферией МК , за это ему огромный плюс)))
galex1981 » 08 июл 2011, 10:42
А чем линуксовые компиляторы плохи? Если вся ОС собрана с их помошью и глюков в них меньше чем в любых других
=DeaD= » 08 июл 2011, 10:56
Как вообще Си\Си++ компилятор линукс-подобным? Может библиотеки? Среда разработки?
Или что имеется в виду? Возможность запуска из командной строки?
Michael_K » 08 июл 2011, 11:06
=DeaD= писал(а):А какая оптимизация имеется в виду - производительности или объема программы?
а любая. Вообще возможности оптимизации ограничены, когда компилятор не знает, как именно будет использован объектный модуль, а линкер не знает, что написано в исходнике, не умеет перелопачивать объектники, и не делает сквозную оптимизацию.
Добавлено спустя 6 минут 45 секунд:Ну вот недавно разбирали код для пика и авр. В пике компилятор нагородил фигню, потому что стэк у пика неадресуемый, и компилятор создал программный стэк для локальных переменных. Вдруг там где-нибудь рекурсия всплывет. Или эта же функция будет использоваться в прерывании в другом модуле.
В авр компилятор создал функции, а их копии инлайнил. Он мог бы просто инлайнить и не оставлять их отдельные копии, но он не знал, вдруг в другом объектнике потребуется указатель на эту функцию. И т.п.
Такой фигни очень много.
Ну а как описать расположенный во флэш массив указателей на строки расположенные в рам (или наоборот, или все во флэш) - можно вообще поэмы писать
=DeaD= » 08 июл 2011, 11:12
Это вроде всё касается объемов получаемой программы? Или я упустил и где-то пострадала производительность?
Michael_K » 08 июл 2011, 11:20
в пике очень сильно пострадала производительность. Из-за чего, собственно, Дмитрий даже и не стал рассматривать пиковский вариант, написанный на си. компилятор вместо просто обращений к памяти использовал программно оранизованный стэк, на котором разместил локальную переменную массив.