[an error occurred while processing this directive]
Ответ: По поводу 2) расскажу подробно...
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

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

Отправлено Alex11 20 сентября 2005 г. 09:26
В ответ на: вопросы вдогонку (+) отправлено Doka 19 сентября 2005 г. 17:36

Дело в том, что С компилер дурной. У него нет понятия far. И он не следит за размерами массивов и пересечениями ими границ стрниц в 64К слов. Вся адресная арифметика делается на AR - регистрах, а она там 16-разрядная. В результате, при обращении к элементам массива, который расположен так, что пересекает границу 64К слов возникают ошибки адресации, не диагностируемые компилятором. Чтобы избежать этого безобразия адресное пространство делят на страницы. При этом, если массивы меньше 64К - линкер их упихивает так, чтобы они не пересекали границ страниц, а если больше - ругается, что не смог разместить.

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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

E-mail: info@telesys.ru