Подобные особенности программирования МК делают, в общем, не слишком актуальным вопрос о том, как программист добивается своих целей. Правда, память программ в МК исчисляется килобайтами, а скорость работы их не очень-то велика, и потому тут на первый план нередко выходят соображения компактности кода или скорости выполнения процедур: нередко специально составляются библиотеки подпрограмм, оптимизированные либо по количеству команд, либо по времени выполнения - смотря, что важнее. В общем случае, разумеется, программы, написанные на С, дают менее компактный код (даже для AVR, система команд которой специально оптимизирована для программирования на С), и это стоит учитывать.
Если речь идет о программах для простых и малотиражных устройств, где количество строк кода не превышает сотен, а стоимость разработки является определяющей, то ассемблер оказывается целесообразнее, чем С. При этом следует учесть, что инженеру без специальной программистской подготовки, рассуждающему в терминах регистров и ячеек памяти, ассемблер дастся легче, чем С, который с его надуманной нотацией еще требуется специально изучать. Добавим еще, что стоимость IAR Embedded Workbench, наиболее популярной среды программирования на С, находится в диапазоне килобаксов, а ассемблер бесплатен (для некоторых разновидностей МК есть, правда, "опенсорсный" компилятор GCC). Тем не менее, профессиональный подход в области МК все же подразумевает использование С, и стандартных библиотек на этом языке значительно больше, чем на ассемблере. Язык С позволяет легче переходить с одного МК на другой, а программы, содержащие более нескольких тысяч команд, на ассемблере писать и отлаживать настолько тяжело, что тут уже не до компактности кода.
Гни свою линию: ZyXEL P660HTW2
Технология ADSL-доступа в Интернет, несмотря на кажущуюся допотопность и атавистическую привязанность к телефонной меди, отточена так, что, единожды настроив удачно выбранный модем, забываешь обо всем этом хозяйстве на сезоны, а то и годы. Но апгрейд, как и некоторые другие события в жизни, подкрадывается незаметно.
-
все
в одном: поддержка всех мыслимых
частотных планов и расширений ADSL
(Annex A, B, M, L), Ethernet-коммутатор,
WiFi-точка доступа с мощной антенной,
поддержка IPTV, простая настройка
благодаря программе NetFriend,
совместимость с сотнями
провайдеров
+
дизайн
на (радио)любителя, внешний неказистый
блок питания, WiFi по умолчанию работает
в незащищенном режиме
Через год беспроблемной работы Интернета я решил, что неплохо бы подключить услугу "Стрим-ТВ" и познакомиться с IP-телевидением воочию. К этому моменту дома образовалась сеть из двух компьютеров, принт-сервера и частенько примыкающего к ним ноутбука, так что, присматривая новый ADSL-маршрутизатор, подходящий для IPTV, я уже настраивался на вариант со встроенным 4-портовым коммутатором и встроенной точкой доступа WiFi.
Прежде чем я успел осилить первую сотню страниц в бдениях на форумах соответствующей тематики "кулики-болота", нам на тест был предложен интернет-центр ZyXEL P660HTW2. Первое, что удивило нечасто выныривающего на поверхность этого рынка меня, это, конечно, позиционирование устройства: не ADSL-маршрутизатор, а именно интернет-центр. Не то чтобы я не знал о существовании фирмы ZyXEL и ее специализации, но считал свою телефонную линию совсем не проблемно-капризной и был уверен, что меня устроит почти любое устройство из более доступного эшелона. Тем удивительнее оказалось то, что свои старшие устройства для массового пользователя ZyXEL, в отличие от других производителей, все чаще именует уже не модемами или маршрутизаторами, а интернет-центрами.