Кейль51 и far memory!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено bialix 03 февраля 2003 г. 15:26

Пишу для ADuC812 программу. Имеется небольшая мозоль - эта микруха позволяет адресовать до 16МБайт внешней памяти через movx @DPTR, при этом задействуется еще и 3й дополнительный регистр DPP. Во внешней памяти эти самые старшие 8 бит (из DPP) определяют номер страницы по 64К. Вроде как в компиляторе есть поддержка такой адресации (на вкладке Target есть два чекбокса "far memory type support" и "Save address extension SFR in interrupts")
Вот только не догоню никак, как объявить какую-либо переменную, которая у меня лежит на странице 2 явно. На конструкцию типа
unsigned char far NN _at_ 0x020013;
ругается при линковке
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: HDATA
SEGMENT: ?FD?MENU?3
LENGTH: 000001H

Че этой заразе надо?
Все время надо вручную устанавливать требуемое значение в DPP
Отсюда - мелкие ошибки и неувязки (когда забываю переключить банк)

Подскажите, кто знает, как с этим бороться

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru