Цитата(axis @ Aug 22 2005, 18:58)
Что характерно - буржуи с avrfreaks практически не используют IAR. Вместо этого они активно юзают GCC и WinAVR.
Ясно, денег своих платить не хотят. А кто на приличной фирме работает, для того это не проблема - три тонны баксов окупаются на той же поддержке довольно быстро.
Цитата(axis @ Aug 22 2005, 18:58)
Только вот как быстро вы "с нуля" реализуете проект какой-нибудь "пикалки" с LCD и i2c-периферией ?
Под IAR прийдется прописывать все низкоуровневые операции самостоятельно. Да - в итоге вы будете полность контролировать код (ведь это будет ваш код). Только вот времени на это уйдет - не одна неделя.
Какие низкоуровневые операции переписывать? С чего переписывать?...
Цитата(axis @ Aug 22 2005, 18:58)
Чем берет GCC (CodeVision, etc...) - "в них есть все, что нужно". Вы пишите только свою бизнес-логику. А весь низкоуровневый геморр отдаете на совесть разработчика компилятора.
В самом GCC никаких прикладных нестандартных вещей нет - это обычный программерский пакет, такой же как и IAR. Если кто-то для него написал библиотеку, так это другое дело. Для IAR тоже много чего написано. По большому счету, совершенно не важно, для какого пакета написан код, если он написан на С/С++ и написан грамотно. Наличие в CodeVision поддержки LCD для кого-то, возможно, и является значимым плюсом, но, имхо, это просто мелкая фенька. Гораздо важнее, что кодогенерация у IAR'а заметно лучше, и вообще фичи языка IAR поддерживает несравненно лучше - взять хотя бы ++, которых у CV вообще нет (и вряд ли появятся). К тому же лично, например, предпочитаю реализовывать подобные вещи сам - разобраться надо по-любому, а собственно реализация, когда уже знаешь, что к чему, много времени и сил не занимает.
Цитата(axis @ Aug 22 2005, 18:58)
Лично я на своем опыте убедился - если важно сделать быстро (дабы обойти конкурентов и предъявить хотя бы что-то) - нужно юзать CodeVision (WinAvr, Atman). Пусть и "сырое" зато уже есть. Кстати - вы вспомните как развивались продукты Microsoft...
Если времени дофига и хочется сделать "конфетку" - базара нет - только IAR.
Прошу простить, но это звучит достаточно бредово. Пакет как таковой тут вообще роль играет довольно слабо. На первом месте всегда сложность прикладной задачи и квалификация разарботчика в предметной области. Это главное. На втором месте то, как разработчик владеет тем или иным инстуменатрием. Если привык к GCC, на нем сделаешь быстрее, чем на IAR', даже, если по всем признакам IAR рулит (другое дело, что в данной ситуации имеет смысл задуматься об освоении более подходящего инструмента)...
И напоследок. Вот подумайте над такой вещью. Вот надо мне кольцевой буфер. Для байтов. Вот написал я его. А потом понадобилось то же самое для целых. Или для структур. На IAR'е я напишу шаблон:
template<typename T, word size, typename S = byte>
class ring_buffer { ... }
и буду инстанцировать себе буфера:
Код
ring_buffer<char, 16> CharBuf; // колцевой буфер на 16 char
ring_buffer<int, 8> IntBuf; // колцевой буфер на 8 интов
IAR это позволяет. GCC тоже. А CV? И сколько нужно времени, чтобы переписывать для CV одно и то же? И надо ли? Т.ч. еще вопрос, откуда и что переписывать. И где на выходе результат быстрее получится.
«Отыщи всему начало, и ты многое поймёшь» К. Прутков