4.4. Fuse- и Lock-биты
Конфигурационные Fuse-биты необходимы для настройки важных системных функций. Их запись можно выполнить только через внешний интерфейс программирования. Программно можно только опросить состояние fuse-бит. Конфигурационные биты позволяют настроить источники сброса, в т.ч. супервизор питания, детектор просадок питания и сторожевой таймер; а также задать параметры запуска, разрешить работу интерфейса JTAG и задать идентификатор пользователя JTAG-порта.
Lock-биты предназначены для раздельной установки уровня защиты секторов flash-памяти. Они используются для блокирования возможности чтения и/или записи кода программы. Lock-биты можно записать либо с помощью внешнего программатора, либо из прикладной программы, причем только в направлении усиления уровня защиты. Стереть lock-биты можно только командой Chip erase, причем фактическое стирание lock-бит произойдет только после полного стирания flash-памяти.
Fuse- и lock-биты в незапрограммированном состоянии равны единице, а в запрограммированном - нулю.
Перепрограммирование fuse- и lock-бит выполняется аналогично Flash-памяти программ.
4.5. Память данных
Память данных состоит из памяти ввода-вывода, внутреннего SRAM, опционально отображаемого в памяти данных EEPROM и внешней памяти (в случае доступности таковой). Память данных выполнена как один непрерывный сектор памяти (см. рисунок 4.2).
Рисунок 4.2. Карта памяти данных
Начальные адреса памяти ввода-вывода, EEPROM и SRAM одинаковы у всех МК XMEGA. Адресное пространство внешней памяти (при наличии в МК) всегда начинается с адреса, следующего за последним адресом внутреннего SRAM, и завершается адресом 0xFFFFFF.
4.6. Внутреннее SRAM
Внутреннее SRAM отображается в пространстве памяти данных и всегда начинается по шестнадцатеричному адресу 0x2000. ЦПУ осуществляет доступ к SRAM с помощью инструкций чтения (LD/LDS/LDD) и записи (ST/STS/STD).
4.7. EEPROM
Для энергонезависимого хранения данных у МК XMEGA предусмотрено EEPROM. Предусмотрено два способа его адресации: в отдельном адресном пространстве (по умолчанию) или в пространстве обычной памяти данных.
EEPROM поддерживает побайтный и постраничный доступ.
4.7.1. Доступ к EEPROM в пространстве памяти данных
EEPROM поддерживает опциональную возможность отображения своего адресного пространства в пространстве памяти данных. Использование этой возможности позволит повысить эффективность чтения EEPROM и загрузки в него из буфера данных. Доступ к EEPROM при таком варианте его использования осуществляется с помощью инструкций чтения и записи. Отображаемое в памяти данных EEPROM всегда начинается по шестнадцатеричному адресу 0x1000.
4.8. Память ввода-вывода
Регистры статуса и конфигурации всех УВВ и модулей, в т.ч. ЦПУ, адресуются через ячейки памяти ввода-вывода в пространстве памяти данных. Все ячейки ввода-вывода доступны с помощью инструкций чтения (LD/LDS/LDD) и записи (ST/STS/STD), которые передают данные между 32 регистрами общего назначения регистрового файла и памятью ввода-вывода. К ячейкам с адресами 0x00…0x3F можно адресоваться напрямую с помощью инструкций IN и OUT. По адресам 0x00…0x1F можно применить специальные инструкции проверки бит и битовых функций. Определения памяти ввода-вывода МК XMEGA представлены в разделе "Register Summary" (краткий обзор регистров) документации на МК.
4.8.1. Регистры ввода-вывода общего назначения
Первые 16 адресов памяти ввода-вывода зарезервированы для 16 регистров ввода-вывода общего назначения. Данные регистры можно использовать для хранения информации, а также особенно полезны для хранения глобальных переменных и флагов, т.к. к ним предусмотрен побитный доступ с использованием инструкций SBI, CBI, SBIS и SBIC.
4.9. Внешняя память
МК XMEGA имеют до 4 портов для связи с внешней памятью, в т.ч. внешние SRAM, SDRAM и подключаемая по типу параллельной памяти периферия, например, ЖКИ и ИС с параллельным интерфейсом. Более детально об этом см. в описании интерфейса внешней шины (EBI). Адресное пространство внешней памяти всегда начинается с адреса, следующего за последним адресом внутреннего SRAM.
|