December 15 2017 04:25:15
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Использование FLASH памяти
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08

Область ОЗУ МК используется также для организации стека. После сброса МК начальное значение указателя стека равно $00FF, т.е. область стека автоматически размещается в нулевой странице памяти. Однако, по причине приведенных выше соображений, желательно переместить область стековой памяти с нулевой на первую страницу, переинициализировав указатель стека. Выбирая объем стековой памяти, следует помнить, что при каждом вызове подпрограммы занимаются две ячейки стековой памяти, а при переходе к подпрограмме обработки прерывания - шесть ячеек. Из них пять байт загружаются в стек автоматически, а шестой байт Вы загрузите содержимым старшего байта индексного регистра H сами под управлением программы (см. п. 3.5.5).

Область ПЗУ обычно располагается в нижней части карты памяти. Объем памяти, предоставляемый для размещения кода прикладной программы, окажется несколько меньше того объема, который указан в имени МК. Например, МК HC908GP20 по определению обладает 20 байт памяти программ. Из них для размещения программы пользователя предоставляется 19968 байт (19.5 кбайт). Происходит это потому, что область ПЗУ МК делится на четыре различных по функциональному назначению сегмента:

* Сегмент кода программы.

* Сегмент регистров специальных функций (небольшое количество регистров расположено в нижней части карты памяти).

* Сегмент кода программы монитора.

* Сегмент векторов прерывания и сброса.

Сегмент кода программы занимает основную часть области ПЗУ. Длина сегмента векторов прерывания и сброса составляет от 36 до 52 байт для различных типов МК. Длина сегмента программы отладочного монитора обычно составляет от 224 до 960 байт.

Кроме указанных сегментов, в адресном пространстве ПЗУ можно встретить резервные (обозначены - Reserved) и несуществующие физически (обозначены - Unimplemented) области памяти. При попытке обращения к последним аппаратные средства МК генерируют запрос на прерывание по несуществующему адресу. Обращение к зарезервированным ячейкам памяти может вызвать непредсказуемый результат, поэтому делать этого не следует. То же самое относится и к зарезервированным битам регистров специальных функций, которые обозначены "R".

3.6.3. РЕЖИМЫ РАБОТЫ FLASH-ПЗУ

FLASH-память используется для хранения прикладных программ пользователя в семи моделях МК семейства НС08. Объем и размещение FLASH-ПЗУ в адресном пространстве этих МК приведены в Табл. 3.69.

МК семейства НС08 имеют в своем составе модули FLASH-ПЗУ двух модификаций: FLASH08/1 и FLASH08/2. Модули различаются, гарантированным числом циклов операции стирания/программирования, а также алгоритмами выполнения этих операций. Модули первого поколения FLASH08/1 допускают 100 циклов стирания/программирования. Модули FLASH08/1 входят в состав МК HC908GP20, HC908AZ60 и HC908MR24. Модули второго поколения FLASH08/2 допускают 10000 циклов стирания/программирова-ния Такие модули входят в состав МК HC908GP32, HC908MR32 и HC908JL3/JK3/JK1. Можно предположить, что последующие модели МК семейства НС08 с FLASH-памятью будут выпускаться с модулем FLASH08/2 или с новой, еще более совершенной, модификацией модуля.

Схема управления модуля FLASH-ПЗУ обеспечивает следующие режимы работы:

  1. Режим считывания.

  2. Режим стирания.

  3. Режим программирования.

  4. Режим контрольного считывания (только для модулей FLASH-ПЗУ первого поколения).

Табл. 3.69. Размещение FLASH-памяти в адресном пространстве МК

Сегмент в области Объем и адреса сегментов FLASH
FLASH-памяти HC908GP20 HC908GP32 HC908AZ60 HC908MR24 HC908MR32 HC(9)08JL3/JK3 HC(9)08JK1
Сегмент кода программы 1 Объем (байт) 19968 32256 32256 24064 32245 4096 1536
Адреса $B000..$FDFF $8000..$FDFF $8000...$FDFF $A000..$FDFF $8000...$FDFF $EC00....$FBFF $F600.$FBFF
Сегмент кода программы 2 Объем (байт)

29616



Адреса

$0450...$05FF
$0E00...$7FFF




Регистры защиты FLASH-ПЗУ FLBPR Адреса SFF80
$FF80 SFF81 $FF80


Сегмент кода векторов прерывания и сброса Объем (байт) 36 36 52 46 46 48 48
Адреса $FFDC.$FFFF $FFDC...FFFF $FFCC...$FFFF $FFD2..$FFFF $FFD2...$FFFF $FFD0....$FFFF $FFD0$FFFF
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.02 секунд 2,297,567 уникальных посетителей