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

4.7.2. Изменение адресов в карте памяти мк

Внимательно проанализировав распределение адресного пространства в карте памяти МК, можно заметить, что часть доступного адресного пространства не используется резидентной памятью микроконтроллера. Так в МК B32 (рис. 4.11) в диапазоне адресов $01FF…$0800, $0BFF…$0D00 и $0FFF…$8000 память отсутствует. Именно это незанятое адресное пространство может быть использовано для подключения внешней памяти в расширенных режимах работы МК. В процессе подключения внешней памяти может оказаться, что отдельные блоки внутренней памяти МК желательно «переместить» в пределах адресного пространства МК. Тогда схемотехника подключения внешней памяти упростится. Для назначения новых, виртуальных адресов блоков резидентной памяти МК предназначены три регистра специальных функций:

• INITRG — регистр базового адреса блока регистров специальных функций;

• INITRM — регистр базового адреса блока ОЗУ;

• INITEE — регистр базового адреса блока EEPROM.

В состоянии сброса МК эти регистры указывают на реальные, физические адреса перечисленных блоков памяти. Назначение виртуальных адресов блоков обычно происходит на начальном этапе выполнения программы в секции инициализации.