Использование языков программирования в микроконтроллерах
Некоторым процедурам требуется полный доступ к аппаратному обеспечению, что обычно невозможно осуществить на языке высокого уровня. К этому случаю относятся прерывания и обработчики прерываний в операционных системах, а также контроллеры устройств во встроенных системах, работающих в режиме реального времени. Составленная на нем программа имеет значительно меньшие размеры и работает гораздо… Читать ещё >
Использование языков программирования в микроконтроллерах (реферат, курсовая, диплом, контрольная)
Несмотря на то, что в отличие от языков высокого уровня написание и отладка программы на языке ассемблера занимает много времени, язык ассемблера получил широкое распространение в силу следующих обстоятельств:
- • составленная на нем программа имеет значительно меньшие размеры и работает гораздо быстрее, чем программа, написанная на языке высокого уровня. Для некоторых приложений эти показатели играют первостепенную роль;
- • некоторым процедурам требуется полный доступ к аппаратному обеспечению, что обычно невозможно осуществить на языке высокого уровня. К этому случаю относятся прерывания и обработчики прерываний в операционных системах, а также контроллеры устройств во встроенных системах, работающих в режиме реального времени.
Языки высокого уровня характеризуются рядом показателей, реализация которых во встраиваемых микроконтроллерах может оказаться проблематичной, что обусловлено ограниченным объемом памяти программ (ПЗУ — ROM) и данных (ОЗУ RAM); отсутствием BIOS или операционной системы; наличием переопределяемых выводов контроллеров (когда вывод может использоваться как цифровой/ аналоговый/последовательный вход-выход).
Использование языков высокого уровня для программирования микроконтроллеров обусловлено следующими причинами:
- • существует множество алгоритмов и готовых программ на языках высокого уровня, которые можно непосредственно вставить в разрабатываемую прикладную программу. Если возникает необходимость переноса программ на другие микроконтроллеры, то такой перенос выполняется намного проще, чем перенос программ на ассемблере;
- • при программировании на языках высокого уровня имеется ряд возможностей, которыми не располагают ассемблеры. Например, разработчик может автоматически вводить в программу коды сложных операций, производить эффективный контроль синтаксических ошибок и др. Поэтому составление программ на языках высокого уровня требует меньших затрат;
- • при разработке программ на языке высокого уровня значительно упрощается поддержка приложения, связанная с модификацией и отладкой программного кода.
В большинстве программ лишь незначительный процент всего кода отвечает за большой процент времени выполнения программы. Обычно 1% программы отвечает за 50% времени выполнения, а 10% - за 90% времени выполнения. Такие участки программ пишут на языке ассемблера, а остальное — на языках высокого уровня. К наиболее распространенным языкам относятся C/C++, BASIC и Forth. С помощью компиляторов языки высокого уровня преобразуются в язык ассемблера, а затем в объектный код (биты и байты), который выполняется микроконтроллером. Имеется множество компиляторов, разработанных для различных микроконтроллеров. Их эффективность определяется требуемым объемом памяти программ и данных, а также ресурсами, необходимыми для поддержания объектного кода Таким образом, для написания конкретной программы в реальных условиях используется как ассемблер, так и один из языков высокого уровня.