Предыдущая Следующая

-carm

//****************************************^

// Размещение сегментов - общая информация //

// Все числа в приведенных ниже командных строках размещения сегментов // интерпретируются, как шестнадцатеричные, если им непосредственно не / / предшествует знак 1 . 1 , который обозначает представление десятичных чисел. //

// При определении размещения сегмента с использованием опции -Р вместо опции -Z // компоновщик произвольно разбивает каждый сегмент на части и беспорядочно / / размещает эти части в пределах заданных диапазонов, чтобы обеспечить наиболее // эффективное использование памяти. При этом, однако, невозможно найти начальный // или конечный адрес (используемый операторами ассемблера .sfb./.sfe.) сегмента, // который был разбит и преобразован. //

// Опция -М компоновщика очень полезна при генерации выходного файла, который

/ / должен использоваться для программирования внешних устройств ROM/Flash //

// (см. xlink.pdf для уточнения подробностей). //********************************************^

I/*********************************************

// ROMSTART/END - область, где будет находиться CODE. // Сегменты только для- чтения, отображенные в ROM. //*********************************************^

// Для отладки во Flash

-DROMSTART=0

-DR0MEND=3FFFF

//********************************************^

// Адресный интервал для векторов сброса и исключительной ситуации // (INTVEC).

// Векторная область -32 байта.

// Дополнительные 32 байта распределены для

// таблицы констант, используемой ldr PC в cstartup.s79.

//****************************************************

-Z (CODE) INTVEC=00-3F

//******************************************************

// Код запуска и подпрограммы исключительной ситуации (IC0DE). //********************************************************

-Z (CODE) ICODE, DIFUNCT=ROMSTART-ROMEND -Z (CODE) SWITAB=ROMSTART-ROMEND //******************************************^

// Сегменты кода могут быть помещены в любом месте. //*******************************************************

-Z (CODE) CODE=ROMSTART-ROMEND

//*****************************************************

// Первоначальное местоположение ROM для скопированного кода _ ramfunc

//и выполняемого в RAM.

//*******************************************^

-Z (CONST) CODE_ID=ROMSTART-ROMEND

//*****************************************************

// Различные константы и инициализаторы. //*******************************************************

-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND -Z (CONST) CHECKSUM=ROMSTART-ROMEND

//*****************************************************

// Сегменты для чтения - записи, отображенные в RAM.

// Все данные помещены достаточно высоко в области старрших адресов, чтобы // освободить для программы 12К (если она также находится в оперативной памяти) -DRAMSTART=40000000

-DRAMEND=40003FFF // Истинно для всех 16к SRAM //*****************************************^


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz