2012-03-09 6 views
2

Глядя на пакете BSP, поставляемый с VxWorks показывает следующее распределение памяти для изображения: (от Pentium4)Картирования VxWorks изображения на RAM (БСП)

Parameter RAM_HIGH_ADRS { 
    NAME  Bootrom Copy region 
    DEFAULT  (INCLUDE_BOOT_APP)::(0x00008000) \ 
       0x00108000 
} 

Parameter RAM_LOW_ADRS { 
    NAME  Runtime kernel load address 
    DEFAULT  (INCLUDE_BOOT_RAM_IMAGE)::(0x00508000) \ 
       (INCLUDE_BOOT_APP)::(0x00108000) \ 
       0x00308000 
} 

Но это выглядит странно для меня, как может RAM_LOW_ADRS > RAM_HIGH_ADRS? Насколько я понял, загрузчик, возможно, будет загружен после RAM_HIGH_ADRS и изображения VxWorks в RAM_LOW_ADRS, и загрузчик, предположительно, будет расположен после изображения.

Любые идеи?

ответ

1

RAM High/Low являются некорректными, как вы обнаружили.
Это действительно следует называть RAM_VXWORKS_ADDR и RAM_BOOT_ADDR (или некоторые из них).
Многие из этих имен носят исторический характер.

В 99% случаев RAM_HIGH> RAM_LOW. Но, в зависимости от архитектуры, BSP и цели, может быть инверсия.

В конце концов, это всего лишь адрес для загрузки программного обеспечения. Пока нет конфликтов или совпадений, все в порядке.

Куча vxWorks не имеет ничего общего с RAM_LOW/HIGH_ADDR.

VXWORKS куча (в упрощенном виде) проходит сверху VXWORKS изображения по адресу, возвращенного sysMemTop() - которая определяется БСПОМ и может перспективы к верхней части физической памяти (или нет).

В обычной ситуации, когда vxWorks загружает загрузочный адрес загрузки, bootrom просто перезаписывается. Это не так в вашем BSP, поэтому вы освобождаете некоторое пространство оперативной памяти, так как bootrom не «исправлен».

+0

Привет, Re: «В нормальной ситуации, с VxWorks погрузки ниже адрес нагрузки бутромом, то BootROM просто перезаписывается» ли вы имеете в виду, что переопределены как приложение работает и стек и куча расти? ...... и НЕ во время копирования? –

 Смежные вопросы

  • Нет связанных вопросов^_^