4.2.3. Модели памяти

(Руководство разработчика по микроконтроллерам семейства HCS08)

Компилятор использует ряд стандартных правил, которые определяют способы доступа к памяти программ и к памяти данных проекта. Эти правила характеризуют термином «модель памяти». Для МК HCS08 доступны три типа моделей памяти:

  • Small. Данная модель памяти используется компилятором по умолчанию. При этой модели памяти все переменные и все функции адресуются посредством 16-битных адресов. Это позволяет размещать данные и программный код в любой области линейно адресуемой памяти, начиная с адреса 0x0000 и заканчивая 0xFFFF. Для указанной модели памяти предназначаются следующие стандартные библиотеки ANSI:
    • ANSIIS — не поддерживает числа с плавающей запятой;
    • ANSIS — поддерживает числа с плавающей запятой и числа формата double разрядностью 32 бит;
    • ANSIFS — поддерживает числа с плавающей запятой разрядностью 32 бит и числа формата double разрядностью 64 бит.
  • Tiny. Эта модель памяти использует для размещения переменных и для организации области памяти стека нулевую страницу памяти, начиная с 0x0000 и заканчивая 0x00FF. Данная модель, безусловно, генерирует более быстрый код, но имеет ограничения по размеру области памяти для переменных. Однако можно применить ключевое слово far для размещения части переменных за пределами нулевой страницы памяти. Для модели памяти tiny предназначаются следующие стандартные библиотеки ANSI:
    • ANSITIS — не поддерживает числа с плавающей запятой;
    • ANSITS — поддерживает числа с плавающей запятой и числа формата double разрядностью 32 бит;
    • ANSITFS — поддерживает числа с плавающей запятой разрядностью 32 бит и числа формата double разрядностью 64 бит.
  • Banked. Эта модель памяти предназначается для МК, объем памяти которых превышает 64КБ. Для модели памяти banked предназначаются следующие стандартные библиотеки ANSI:
    • ANSIBIM — не поддерживает числа с плавающей запятой;
    • ANSIBM — поддерживает числа с плавающей запятой и числа формата double разрядностью 32 бит;
    • ANSIBFM — поддерживает числа с плавающей запятой разрядностью 32 бит и числа формата double разрядностью 64 бит.

Электронные компоненты Freescale >>>
Подробнее о компании Freescale >>>