Ну и чем девайс с хардварным USB в TQFP-корпусе, но с 51-м ядром внутри лучше, чем девайс с не менее хардварным USB в TQFP-корпусе, но с RISC-ядром AVR? Тем более, что для последнего есть свободный и standards-compliant AVR-GCC, а не «богопротивный» µVision.
Раз уж вы затронули тему «священных воин», то отвечу, что аспект исключительно конфессиональный. С тем же успехом можете спросить: «чем православие с хардварными исповедями священику, но с золочеными куполами на храмах лучше, чем католицизм с не менее хардварными исповедями священику, но с готическими шпилями на соборах?»
Дело не в священных войнах. Я имел дело с µVision. Препротивнейший компилятор. Препротивнейшая IDE. Препротивнейшие библиотеки. К сожалению. Хочется надеяться, что после недавней покупки их компанией ARM что-то изменится. Хотя исходников так или иначе не видать.
Keil в первую очередь продает компилятор, µVision — бесплатный довесок, не хотите — не используйте. Если вам не понравился IDE это ни в коей мере не оценивает компилятор. IDE действительно не фонтан, можно использовать любую на ваш вкус.
andrewsh, расскажите пожалуйста, чем вам так насолил Keil и Silabs, что каждый второй комментарий к топику ваш, да еще и с такой убежденной отрицательной категоричностью?
Silabs мне ничем не насолил, а вот от кейловских компиляторов я отнюдь не в восторге. Кошмарные языковые расширения, корявая документация, много чего ещё. У меня сложилось исключительно отрицательное мнение в результате моего опыта общения с ним.
А никак не обстоят. µVision с грехом пополам запускается под последним wine. В принципе, можно написать Makefile, использующий command-line версию компилятора, но это непросто, учитывая необходимость преобразования путей (естественно, автоматического приведения путей к системному виду нету).
Статью прочитал с интересом, так как давно интересуюсь темой разработки USB-устройств и подключения их к компьютеру. К сожалению, не нашел в статье обзора по имеющимся библиотекам и примерам устройств USB. Непонятно, есть ли смысл изучать новые для себя чипы Silabs и что-то на них делать. Есть ли у Silabs что-то напоминающее библиотеки LUFA и V-USB, откуда можно брать готовый код и создавать на основе его свои устройства? На каких условиях можно использовать библиотеку USBXpress? Какие USB-устройства на её основе можно разработать? Есть ли поддержка USB-хоста? И хотелось бы получить информацию о доступности и стоимости чипов Silabs в нашей великой и могучей стране.
Поставил себе USBXpress, посмотрел мельком документацию — и что-то не впечатлился. Памяти в чипах мало, номенклатура не настолько широкая, как у Atmel, исходников библиотек нет, только хедер и скудная документация. В которой, кстати, ни полслова не сказано, как делать стандартные устройства Midi Class, Mass Storage Class, Still Image Class и т. д. — только работа с каким-то проприетарным классом Silabs и его драйверами (и еще CDC). Примеров кода тоже очень мало (собственно только один). Вывод — Silabs еще надо очень много поработать над собой, чтобы дотянуться до IAR+Atmel или GCC+Atmel, или LUFA+GCC+Atmel, или V-USB+GCC+Atmel.
Единственно, что порадовало — наличие в некоторых чипах 16-битного ADC (АЦП). Но в них не оказалось USB… В общем, меня постигло разочарование.
Приобщение к миру USB-устройств на примере микроконтроллеров от Silicon Laboratories