logo
HCS12 с применением языка С - royallib

4.7. Подсистема памяти мк b32

Подсистема памяти МК семейства 68HC12/HCS12 включает четыре различных модуля памяти: энергонезависимая Flash-память программ, энергонезависимая EEPROM память данных, статическое ОЗУ и блок регистров специальных функций для управления режимами работы периферийных модулей. Расположение различных модулей памяти в адресном пространстве МК принято отражать на так называемой карте памяти. Карта памяти МК B32 представлена на рис. 4.11. Указанные на ней адреса будут действительны при выходе МК из состояния сброса. В ходе исполнения прикладной программы адресное пространство для каждого модуля памяти может быть изменено (см. 4.5.1.). Тогда для обращения к ячейкам памяти будут использоваться не указанные на рис. 4.11 физические адреса, а измененные виртуальные адреса.

Рис. 4.11.  Карта памяти МК B32 в составе отладочной платы MC68HC912B32EVB

Микроконтроллер B32 предназначен для использования преимущественно в однокристальном режиме работы. Он содержит в себе 32Кб ПЗУ программ, 768 байт памяти типа EEPROM, 1Кб статического ОЗУ и 512 регистров управления.

Строго говоря, аббревиатура EEPROM (Electrically Erasable Programmable ROM) обозначает энергонезависимую память с электрическим программированием и электрическим стиранием. Поэтому и резидентная память программ, выполненная на основе технологии FLASH, и энергонезависимая память данных должны быть характеризованы как EEPROM. Однако энергонезависимая память программ и энергонезависимая память данных отличаются по своим свойствам не только на уровне технологии изготовления, но и на уровне разработчика встраиваемых систем. Память типа Flash допускает выполнение операции стирания только над некоторым множеством ячеек, что неудобно при необходимости замены только одного байта информации. Энергонезависимая память данных позволяет стереть и потом запрограммировать один байт информации. Однако ячейки памяти с подобным свойством занимают значительную площадь полупроводникового кристалла МК, поэтому на их основе не может быть выполнена память программ большого объема. Во избежание путаницы у российских разработчиков принято использовать аббревиатуру EEPROM только для памяти с побайтным стиранием и побайтным программированием. А память со стиранием блоками обозначают как Flash, хотя и эта память по своим свойствам относится к EEPROM.

Используя МК от Freescale Semiconductor, в частности семейство 68HC12/HCS12 следует знать, что гарантированное число циклов стирания/программирования для МК HCS12 составляет 10000, а для МК 68HC12 — всего 100. Именно поэтому во многих отладочных средствах на основе МК 68HC12 рекомендуется промежуточные версии программы записывать и исполнять из ОЗУ. Поскольку резидентное ОЗУ у микроконтроллеров обладает недостаточным объемом для размещения программы, то многие отладочные платформы используют расширенный режим работы МК с подключением внешнего ОЗУ. В МК семейства HCS12 для целей отладки обычно используется внутреннее Flash ПЗУ программ, т.к. 10000 циклов перезаписи обычно достаточно для внесения всех исправлений в процессе отладки.