Использование языков программирования в микроконтроллерах

Несмотря на то, что в отличие от языков высокого уровня написание и отладка программы на языке ассемблера занимает много времени, язык ассемблера получил широкое распространение в силу следующих обстоятельств:

  • • составленная на нем программа имеет значительно меньшие размеры и работает гораздо быстрее, чем программа, написанная на языке высокого уровня. Для некоторых приложений эти показатели играют первостепенную роль;
  • • некоторым процедурам требуется полный доступ к аппаратному обеспечению, что обычно невозможно осуществить на языке высокого уровня. К этому случаю относятся прерывания и обработчики прерываний в операционных системах, а также контроллеры устройств во встроенных системах, работающих в режиме реального времени.

Языки высокого уровня характеризуются рядом показателей, реализация которых во встраиваемых микроконтроллерах может оказаться проблематичной, что обусловлено ограниченным объемом памяти программ (ПЗУ – ROM) и данных (ОЗУ RAM); отсутствием BIOS или операционной системы; наличием переопределяемых выводов контроллеров (когда вывод может использоваться как цифровой/ аналоговый/последовательный вход-выход).

Использование языков высокого уровня для программирования микроконтроллеров обусловлено следующими причинами:

  • • существует множество алгоритмов и готовых программ на языках высокого уровня, которые можно непосредственно вставить в разрабатываемую прикладную программу. Если возникает необходимость переноса программ на другие микроконтроллеры, то такой перенос выполняется намного проще, чем перенос программ на ассемблере;
  • • при программировании на языках высокого уровня имеется ряд возможностей, которыми не располагают ассемблеры. Например, разработчик может автоматически вводить в программу коды сложных операций, производить эффективный контроль синтаксических ошибок и др. Поэтому составление программ на языках высокого уровня требует меньших затрат;
  • • при разработке программ на языке высокого уровня значительно упрощается поддержка приложения, связанная с модификацией и отладкой программного кода.

В большинстве программ лишь незначительный процент всего кода отвечает за большой процент времени выполнения программы. Обычно 1% программы отвечает за 50% времени выполнения, а 10% – за 90% времени выполнения. Такие участки программ пишут на языке ассемблера, а остальное – на языках высокого уровня. К наиболее распространенным языкам относятся C/C++, BASIC и Forth. С помощью компиляторов языки высокого уровня преобразуются в язык ассемблера, а затем в объектный код (биты и байты), который выполняется микроконтроллером. Имеется множество компиляторов, разработанных для различных микроконтроллеров. Их эффективность определяется требуемым объемом памяти программ и данных, а также ресурсами, необходимыми для поддержания объектного кода

Таким образом, для написания конкретной программы в реальных условиях используется как ассемблер, так и один из языков высокого уровня.

 
< Пред   СОДЕРЖАНИЕ     След >