Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.77/114: Рейтинг темы: голосов - 114, средняя оценка - 4.77
ot135vb
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 27
1

mikroC_PRO_AVR

09.02.2013, 16:46. Просмотров 20494. Ответов 39
Метки нет (Все метки)

Здравствуйте. Кто-нибудь, когда-нибудь использовал
mykroC_PRO_AVR? Если-да, то поделитесь какие есть
плюсы и минусы у этого компилятора.
0
soridumpid
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
09.02.2013, 17:33 2
250$ - первый недостаток. Зачем искать что-то непонятное за деньги, когда есть бесплатный AVR_GCC (WinAVR), котрый входит в абсолютно бесплатную студию Atmel? К тому-же библиотеки у микроэлектроники поставляются без исходничков - еще один минус.
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
09.02.2013, 18:18 3
Цитата Сообщение от soridumpid
250$ - первый недостаток.
До 2х килобайт кода - он совершенно бесплатный. Для освоения - на первое время хватит. А если надо больше, и использовать только для себя, - в Интернете полно ключей, которые обычно подходят и для нескольких следующих версий.

Зачем искать что-то непонятное за деньги, когда есть бесплатный AVR_GCC (WinAVR), котрый входит в абсолютно бесплатную студию Atmel?.
Как раз компиляторы МикроЭлектраники - куда понятнее для новичка, чем ваш AVR_GCC и прочие компиляторы.

Дружественная среда, богатый набор библиотек, (почти на все, что понадобится на первое время), - делает написание программ легким и приятным.

К тому-же библиотеки у микроэлектроники поставляются без исходничков - еще один минус.
Не думаю, что человек, только начавший освоение микроконтроллеров и компилятора, сразу кинется править библиотеки...

А уж если у вас есть такой зуд - посмотрите откомпилированные листинги. Кто вам не дает?
Да и уже года два - три, как у компиляторов МикроЭлектраники появились и средства для работы с библиотеками. Пишите свои, кто вам не дает...

Я лично предпочитаю МикроПаскаль, и пока ни на что его менять не собираюсь.
Но и МикроС у МикроЭлектраники, на мой взгляд, тоже неплох (среда и набор библиотечных функций - почти те же).

А писать кривые и глючные программы можно на любом компиляторе.
Это уж больше от самого программиста зависит. И чем замороченней и сложней компилятор - тем больше шансов наделать на нем ошибок.
0
ot135vb
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 27
09.02.2013, 19:16 4
Да я не новичок в микроконтроллерном деле. Много всего разного, за всем не уследишь, да и незачем. Просто случайно наткнулся, заинтересовался, что за штучка. Наличие или отсутствие библиотек меня как-то мало волнует.
Своя рубашка ближе к телу.
0
moksir
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 216
09.02.2013, 19:20 5
Тоже нравятся эти компиляторы и не только для AVR, но и для PIC и ARM и для 51.
Есть правда недостаток серьезный (кроме цены) - плохая оптимизация.
Но для "вхождения" в микроконтроллеры пойдут.
0
ot135vb
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 27
09.02.2013, 19:59 6
В случае оптимизации кода, наверное, лучше IAR нет.
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
09.02.2013, 20:39 7
Цитата Сообщение от ot135vb
В случае оптимизации кода, наверное, лучше IAR нет.
Лучшая оптимизация кода - написание оптимального алгоритма.
Иной раз небольшая переделка алгоритма повышает быстродействие в разы.

Писать же абы как, надеясь, что за тебя все вылижет компилятор, - удел неумех...
0
ot135vb
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 27
09.02.2013, 20:44 8
Имеется в виду, что для одной и той же программы IAR лучше, чем
CodeVisionAVR/
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
09.02.2013, 20:52 9
Цитата Сообщение от ot135vb
Имеется в виду, что для одной и той же программы IAR лучше, чем
CodeVisionAVR/
Все - относительно.
К примеру, обращение к символьному дисплею в МикроПасале или МикроС может откомпилироваться в код большего размера, чем в других компиляторах.
Зато - там изначально заложено назначение любой ноги индикатора на любой порт, независимо от остальных. А это - иногда важнее, для удобства разводки или при сложном распределении портов по функциям.

Другие компиляторы - сделают короче, но - вы должны будете посалить все ноги на один порт, и в определенном порядке...

Так что - не все однозначно. Всегда есть всякие нюансы, и за все приходится чем - то платить...
0
itysiy
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
09.02.2013, 21:00 10
Цитата Сообщение от SWK
Все - относительно.
К примеру, обращение к символьному дисплею в МикроПасале или МикроС может откомпилироваться в код большего размера, чем в других компиляторах.
Зато - там изначально заложено назначение любой ноги индикатора на любой порт, независимо от остальных. А это - иногда важнее, для удобства разводки или при сложном распределении портов по функциям.

Другие компиляторы - сделают короче, но - вы должны будете посалить все ноги на один порт, и в определенном порядке...

Так что - не все однозначно. Всегда есть всякие нюансы, и за все приходится чем - то платить...
Это отдельная реализация библы. У мя такая же есть (на gcc пишу). Выполнение дольше, размер дольше, выгода иногда уместна. Но не в библах дело. Как то читал статью с вырезками отдельный выкрутасов разных компиляторов (конечно же ссылку потерял). Компилятор microC заворачивал такие конструкции, что становилось не по себе. И это не от рук программиста зависит, и не от алгоритма, а от не оптимальности самого компилятора, который неспособен сразу сообразить, что в данном случае в AVR имеются средства, с которыми можно решить вопрос проще. Ну и еще один плюс в сторону более распространенных компиляторов - их распространенность. Легче получить помощь сообщества, больше информации по ньюансам компилятора и т.д.
0
ot135vb
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 27
09.02.2013, 22:34 11
Ещё по поводу оптимизации. В CodeVision оптимизация по скорости
приводит к увеличению размера кода. А при оптимизации по размеру
уменьшается скорость выполнения. А вдруг плохая оптимизация microC
увеличив код, приводит к молниеносному выполнению программы.
Кстати, попробовал сейчас скомпилировать программу, написанную,
в CodeVision. Прошло без ошибок. Может случайно. А в целом можно
сказать, что MicroC-одна из многих. На вкус и цвет товарищей нет.
0
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
09.02.2013, 23:22 12
Цитата Сообщение от ot135vb
. На вкус и цвет товарищей нет.
Здесь не тот случай, когда можно говорить о вкусе.
CVAVR и микрос одного и вкуса и запаха
Дерьмо оно и в африке дерьмо.
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
09.02.2013, 23:27 13
Цитата Сообщение от ot135vb
Ещё по поводу оптимизации. В CodeVision оптимизация по скорости
приводит к увеличению размера кода. А при оптимизации по размеру
уменьшается скорость выполнения.
Обычное явление. Чтобы сократить размер кода - надо больше использовать циклы, выделять одинаковые куски кода, оформляя их подпрограммами. При этом увеличивается время за счет проверок условий, переходов, и дополнительной работы стека.

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

Требования по быстродействию и размеру - всегда были противоречивыми.

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

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

Или, например, замена вычисления тригонометрических функций (при небольшом количестве используемых их значений), табличными значениями.

Много еще всякого, на чем можно сэкономить...
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
09.02.2013, 23:30 14
Цитата Сообщение от dosykus_2
Здесь не тот случай, когда можно говорить о вкусе.
CVAVR и микрос одного и вкуса и запаха
Дерьмо оно и в африке дерьмо.
Не нравится - не ешь.

Всю жизнь питайся только икрой и устрицами.
0
soridumpid
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
09.02.2013, 23:37 15
Вот и холиварчик :)
А вот объясните мне, любители микроси, чем он лучше атмеловской студии с ее тулчейном?
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
10.02.2013, 00:40 16
Цитата Сообщение от soridumpid
Вот и холиварчик :)
А вот объясните мне, любители микроси, чем он лучше атмеловской студии с ее тулчейном?
А зачем?
Лучше попробовать и сравнить. Не понравится - значит, не судьба...
Но это - и не повод обсирать, как тут некоторые. Ничем другим себя пока не проявившие.

Я - так себе, (перепробовав многое), - МикроПаскаль выбрал. Нравится.
Мог бы писать и на чем другом, но той легкости и удовольствия - почему - то от других компиляторов для микроконтроллеров - не ощущаю... А на этом - пишу, как думаю. Не заморачиваясь на борьбу с компилятором, не листая поминутно справочников по языку, не вглядываясь в Сишные закорючки.

Причем одинаково легко пишу и для PIC16, и для Меги 128, и для простых AVR...
Могу некоторые куски кода (например, разборку команд с радиоканала), напрямую с PIC16 ходового контроллера на Мегу 128 - Центрального, переносить, практически без переделок.
Да и снова написать - минутное дело...

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

У меня уже достаточно опыта, чтобы иметь свое мнение, а не идти на поводу у толпы, за очередным "сникерсом" или "пепси". Что мне нравится - то я и ем. А не то, что некоторые всем навязывают.
0
R_uro
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 1,088
10.02.2013, 01:50 17
У микроСи есть существенное неудобство - текстовый редактор не умеет сворачивать функции . Так что при размере программы в несколько сот строк и выше пользоваться довольно неудобно...
Но зато в нем есть довольно удобный отладчик...
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
10.02.2013, 02:42 18
Цитата Сообщение от R_uro
У микроСи есть существенное неудобство - текстовый редактор не умеет сворачивать функции . Так что при размере программы в несколько сот строк и выше пользоваться довольно неудобно...
Но зато в нем есть довольно удобный отладчик...
Не знаю как в МикроС, но в МикроПаскале - давно есть, еще до PRO вроде уже было. Правда, я редко ей пользуюсь.
Давно еще как - то, несколько лет назад, поймался на том, что после неоднократных сверток и разворачивания, после сохранения программы потерял часть листинга. С тех пор не пользуюсь, на всякий случай... Да и при моих обьемах пока это неактуально. Только в ЦК, когда почти все его 128 кб забью, тогда - может, и понадобится. Для 8-16кб - вроде бы ни к чему.

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

Совсем уж низко, до просмотра регистров, - никогда не было необходимости опускаться. Всегда программа в основном работала, если что не так - то бывало уже на довольно высоком уровне, в самом алгоритме. А чтобы просто не работало что-то из железа (USORT, ШИМ, АЦП, таймеры или еще чего), - под МикроПаскалем ни разу не было. Все идет с ходу.

Но если надо - всегда в программе можно затычку сделать для выдачи по команде любой переменной, слова состояния или регистра. В контроллере башни, например, использовал. Для прямой побитной установки внешних регистров 74HC595 при отладке.
0
Sym
0 / 0 / 0
Регистрация: 16.12.2016
Сообщений: 1
10.02.2013, 03:06 19
Цитата Сообщение от dosykus_2
Цитата Сообщение от ot135vb
. На вкус и цвет товарищей нет.
Здесь не тот случай, когда можно говорить о вкусе.
CVAVR и микрос одного и вкуса и запаха
Дерьмо оно и в африке дерьмо.

Если вы думаете что ваш Arduino лучше перечисленных компиляторов, то это еще под вопросом. Там тоже не всё так гладко.
0
dork_usir
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 783
10.02.2013, 04:18 20
Цитата Сообщение от SWK
Для меня главное - чтобы писалось легко, реализовывалось все, что задумал, и при этом совершенно не отвлекаясь на тонкости или глюки используемых инструментов.
А не "крутость" и "модность" компилятора.
Дело не в "модности" или "крутости"... а в правильном выборе инструмента...
AVR-GCC... С30 GCC... С32 GCC... и на кой этот убогий микропаскаль или микроси сдался???
У меня уже достаточно опыта, чтобы иметь свое мнение, а не идти на поводу у толпы, за очередным "сникерсом" или "пепси". Что мне нравится - то я и ем. А не то, что некоторые всем навязывают.
Никто никому ничего не навязывает... кому нравится пусть прямо в блокноте HEX строчит... маленькими буквами...
И "толпа" не всегда плохо... по AVR-GCC легко нагуглить кучу примеров, уроков, справок, исходников, что для новичка наиболее ценно...
Да и на форумах, если что, быстрее ответят по AVR-GCC, чем по микроси...
А профи просто не станут пачкаться об всякие микро... им некогда фигнёй заниматься...
0
10.02.2013, 04:18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru