Показать сообщение отдельно
Непрочитано 23.07.2013, 10:50  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Честно говоря разговор ни о чём, и встревать не хочется, но тема такова, что читать её будут новички, а она сплошь пестрит заблуждениями.
Я не собираюсь обсуждать CV, так как я с ним не работал, а со слов других людей обсуждать не хочу, но с IAR я работал очень плотно...
1. "Сложно начать" и аналогичное... Вы хоть попробуйте. Честно говоря по-моему это самая простая среда в использовании. Особенно для новичков. Многие её ругают именно за это. По сути вам надо создать проект - у вас появляется "main.c". И в опциях проекта указать наименование камня. И всё! Пишите.
Ну да нет кодогенератора. Но для AVR (а CV только под него) это 5-10 строчек или в среднем менее 1% от минимального проекта, не считая примеры. Если вы не в состоянии это написать, то как остальные 99 будут написаны?
2. "Не полная совместимость 3 и 5 версии" и прочее ... Я не знаю о чём вы вообще пишете. Там были изменения в файлах конфигурации линковки... Но 98% это вообще не будут использовать. Это уже для "тонкой настройки". Такие вещи используют, когда надо бутлоадер сделать, к примеру и надо расположить прошивку лихим способом, или чтобы компилятор автоматом CRC прошивки посчитал и расположил её в нужном месте, или какие-то данные не инициализировал или две прошивки независимые создавать с общими переменными ... Короче экзотика, к самому Си не имеющая никакого отношения. Да ещё и такие изменения не все камни затронула...
3. "Под одним компилятором компилируется под другим нет" .. Тоже не совсем правда. 99% проги скомпилируется любым компилятором. Не скомпилируются вещи, выполненные не совсем по стандарту, либо совсем не по стандарту ... Ты чётко знаешь, на этапе написания, что именно будет непереносимо. Это: ассемберные вставки, объявление прерываний, специальные конструкции компилятора. В плане совместимости IAR сделан достаточно грамотно. Препоном будут являтся только ассемблерные вставки. Объявление прерываний можно сделать таким способом, что будет компилится и там и там. Остальное выполнено в виде процедур. Их просто надо переобъявить. Часть примеров написано таким обазом что компилируется 4-5 основными компиляторами.

Иными словами нет никаких проблем. Они надуманы.
SasaVitebsk вне форума