Языки программирования
Программирование микроконтроллеров на языке С.
- Подробности
- Создано 07.07.2011 13:24
Совсем недавно, основным языком программирования микроконтроллеров был ассемблер. Программист, используя ассемблер, имел полный контроль над всеми внутренними ресурсами процессора. Готовые программы отличались компактностью и быстродействием. Рост объемов памяти, тактовой частоты и периферии в микроконтроллерах, постоянно расширял область применения этих устройств. При этом усложнялась задача разработки программного обеспечения. Например, логические или целочисленные арифметические функции реализуются достаточно просто. В противоположность им, вычисления с плавающей запятой требуют специальных алгоритмов, занимающих большой объем памяти. То же касается и многих современных интерфейсов, присутствующих в микроконтроллерах. Благодаря этим и многим другим причинам, возникла необходимость использования языков высокого уровня, для разработки управляющих программ микроконтроллеров.
Преимущества и недостатки языка высокого уровня.
Главными преимуществами языков высокого уровня принято считать более понятный человеку код и возможность переноса программ с одного процессора на другой. Хотя последнее утверждение очень спорно, тем не менее, при выполнении определенных условий перенос программы все же возможен. Также сильно упрощается реализация многих стандартных функций и появляется аппаратная независимость языка. Последние обстоятельства, фактически и придают такую высокую привлекательность языкам высокого уровня.
При всех достоинствах у языков высокого уровня имеются и недостатки. Самый серьезный из них определяется увеличенным объемом машинного кода, по сравнения с реализацией того же алгоритма на ассемблере. Фактически, больший объем является платой за универсальность и простоту разработки программ. Несколько снижают остроту проблемы рост памяти микроконтроллеров и увеличение их быстродействия. Другие, традиционно называемые недостатки, такие как высокая стоимость компиляторов и сложность отладки, также постепенно нивелируются, в виду развития техники.
Почему С?
На сегодняшний день имеется множество языков программирования высокого уровня, отличающихся своим синтаксисом и возможностями. Как правило, выбор того или иного языка основан на его возможностях при решении тех или иных задач. Для работы с микроконтроллерами сегодня адаптировано множество традиционных языков программирования и их вариантов. Тем не менее основным языком профессиональной разработки является С или С++. Связано это со многими особенностями данных языков, а не только с популярностью и распространенностью компиляторов.
Изначально язык С создавался для программирования операционных систем. В этом качестве он имеет лучшие возможности по работе с аппаратными регистрами микроконтроллера. Второй особенностью является относительно низкий уровень языка, что позволяет создавать высокоэффективный машинный код. В некоторых издания С даже называют «высокоуровневый ассемблер». При этом объем получаемого исходного кода меньше, чем у ассемблера, а его воспринимаемость человеком лучше. Другими достоинствами можно считать и вышеназванную популярность среди программистов и разработчиков компиляторов, наличие огромного количества прикладных библиотек, высокую стандартизированность языка. Все это вместе взятое и дало возможность С, стать основным языком для микроконтроллеров.