Содержание

AVR

Семейство микроконтроллеров AVR

Архитектура 8-ми разрядных микроконтроллеров AVR это оригинальная разработка компании Atmel.

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

Адресное пространство преферийных устройств совмещено с адресным пространством памяти данных. С одной стороны это плохо. При использовании внешней памяти данных (в старших моделях контроллеров), без испольльзования трюков (страничная организация памяти), не получится использовать полностью все 64 Кб допустимых шестнадцатиразрядной шиной адреса. С другой стороны, это упрощает систему команд.

Ядро и система команд микроконтроллеров AVR соответствует RISC архитектуре, то есть число различных команд относительно не большое, но выполняются они максимально быстро. Большинство команд AVR выполняется за один такт, задающего генератора. Если мы используем генератор на частоту 1 Мгц (например встроенный RC или с внешним кварцевым резонатором), то за 1 секунду будет выполнено миллион элементарных команд.

Шина команд в AVR шеснадцати разрядная. Благодаря этому в число элементарных однотактовых команд попадают команды загрузки констант в регистр, арифметических и логических операций между регистром и константой.

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

Система команд AVR разрабатывалась с рассчётом на применение компиляторов с языков высокого уровня (в первую очередь конечно C).

Я, в своей практике, использую GCC. Не буду спорить с апологетами специально разработанных под AVR компиляторов. Мне удобнее использовать единый инструмент и для разработки встраиваемых приложений и для приложений для ПК. К тому же, при правильном использовании GCC даёт достаточно оптимальный и небольшой машинный код.

Программаторы

Soft

Все представленные программаторы кросплатформенные.

Отладка

OS

Утилиты

Ссылки по теме

1) не уверен на счёт JTAG