Программирование микроконтроллеров

Программирование avr микроконтроллеров обозначает процесс записи (программирования) информации в постоянное запоминающее устройство (ПЗУ) микроконтроллера. В общем случае, помимо программирования avr микроконтроллеров, в практике встречается программирование микросхем (мс.) памяти и программирование логических матриц. Как правило, программирование avr микроконтроллеров и микросхем памяти производится при помощи специальных устройств – программаторов. Хороший программатор позволяет не только программировать (записывать), но и считывать информацию, а в ряде случаев, производить и другие действия с мс. и информацией находящейся в ней (стирание, защита от чтения, защита от программирования и т.п.).

Микроконтроллеры avr могут быть запрограммированы двумя способами – по параллельному интерфейсу и по последовательному. «Параллельное» программирование более сложное в плане реализации программатора и самого программирования, но зато имеет немного большие возможности (например прошивка контроллера с отключенным ресетом). Последовательное программирование (SPI programming ) очень легко реализуется, не требует повышенного напряжения, работает даже если микроконтроллер уже впаян в рабочую схему – это и называется внутрисхемным программированием (ISP – In System Programmer).

Языки программирования микроконтроллеров

Все современные микроконтроллеры относятся к классу микропроцессорных устройств. Главным принципом действия таких элементов является исполнение последовательного потока команд, называемого программой. Микроконтроллер получает команды в виде отдельных машинных кодов. Между тем, для создания и отладки программ, машинные коды подходят плохо, так как трудно воспринимаются человеком. Этот факт привел к появлению различных языков программирования. Языки программирования микроконтроллеров по своей структуре мало отличаются от классических языков для компьютеров. Единственным отличием становится ориентированность на работу со встроенными периферийными устройствами. Архитектура микроконтроллеров требует, например, наличия битово-ориентированных команд. Последние позволяют выполнять работу с отдельными линиями портов ввода/вывода или флагами регистров. Подобные команды отсутствуют в большинстве крупных архитектур. Даже ядро ARM, активно применяемое в микроконтроллерах, не содержит битовых команд, вследствие чего разработчикам пришлось создавать специальные методы битового доступа.

Программирование микроконтроллеров на ассемблере

Ассемблер является языком самого низкого уровня. При этом он позволяет наиболее полно раскрыть все возможности микроконтроллеров и получить максимальное быстродействие и компактный код. В некоторых случаях альтернативы ассемблеру нет, но тем не менее он имеет множество недостатков. Несмотря на получаемую компактность машинного кода, программа, написанная на языке Ассемблер, громоздка и труднопонимаема. Для ее создания требуется отличное знание архитектуры и системы команд микроконтроллеров. Ассемблер отлично подходит для программирования микроконтроллеров, имеющих ограниченные ресурсы, например 8-ми битных моделей с малым объемом памяти. Для больших программ и тем более 32-разрядных контроллеров, лучше использовать другие языки, отличающиеся более высоким уровнем. Это позволит создавать более сложные и при этом понятные программы.

Программирование микроконтроллеров на си

Язык программирования си, относится к языкам более высокого уровня, по сравнению с Ассемблером. Программа на этом языке лучше понятна человеку. Достоинством программирования на си является огромное число программных средств и библиотек, позволяющих просто создавать необходимый код. Фактически, си сегодня стал основным языком разработки управляющих программ. Компиляторы данного языка реализованы практически для всех моделей микроконтроллеров. Стандартный язык дает возможность переноса программ с одной платформы на другую. Теоретически, используя разные компиляторы, можно преобразовать любую программу в команды микроконтроллера нужного типа. На практике дополнительно требуется учитывать архитектуру микроконтроллера каждого типа. Язык си имеет достаточно сложную для изучения структуру. Получаемый программный код конкретной задачи, имеет больший объем, чем код той же задачи, реализованной на Ассемблере. Тем не менее язык си следует признать единственным правильным выбором для профессионального программирования микроконтроллеров.




Найдено по ссылке: программирование микроконтроллеров, программирование avr микроконтроллеров, языки программирования микроконтроллеров, программирование микроконтроллеров с нуля, программирование микроконтроллеров на си, программирование микроконтроллеров на ассемблере

Готовые решения: от расчета до портала

Система управления: товары, заказы и онлайн-магазины

Билетный портал (транспорт, театр, спорт)