-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 ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |