AVR

Семейство 8-ми битных микроконтролеров

Информация представленная на этой странице по большей части устарела.

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

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

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

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

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

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

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

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

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

Soft

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

Отладка

OS

  • scmRTOS Single-Chip Microcontroller Real-Time Operating System. Оська для однокристаллок написанная на C++ но без использования классов и объектов.

Утилиты

  • AVR fuse calculator - рассчёт значений конфигурационных байт. Полезно при программировании через AVRDUDE.

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

 
comments powered by Disqus