у меня так. Ни на что не претендую, но работаю. Кучу не юзаю, поэтому очень маленькая. Не забудьте сделать REMAP векторов в RAM с 0x40000000 адреса
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено DASM 21 июня 2004 г. 19:00
В ответ на: Коллеги, подскажите как правильно в IAR настроить карту памяти для Philips LPC2106(имеется ввиду *.xcl файл) при отладке из RAM отправлено altdv 21 июня 2004 г. 15:36


-DROMSTART=40000200
-DROMEND=40009FFF

//************************************************
// Address range for reset and exception
// vectors (INTVEC).
// The vector area is 32 bytes,
// an additional 32 bytes is allocated for the
// constant table used by ldr PC in cstartup.s79.
//************************************************

-Z(CODE)INTVEC=40000000-4000003F


//************************************************
// Startup code and exception routines (ICODE).
//************************************************

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

//************************************************
// Far code segments may be placed anywhere, but
// all __nearfunc declared Thumb/ARM functions,
// located in the NEARFUNC_T/NEARFUNC_A segment,
// must fit in a single 4/32 Mbyte area.
//************************************************

-Z(CODE)NEARFUNC_T,NEARFUNC_A=ROMSTART-ROMEND
-Z(CODE)FARFUNC_T,FARFUNC_A=ROMSTART-ROMEND

//************************************************
// Original ROM location for __ramfunc code copied
// to and executed from RAM.
//************************************************

-Z(CONST)NEARFUNC_T_ID,NEARFUNC_A_ID=ROMSTART-ROMEND
-Z(CONST)FARFUNC_T_ID,FARFUNC_A_ID=ROMSTART-ROMEND

//************************************************
// Various constants and initializers.
//************************************************

-Z(CONST)INITTAB,HUGE_ID,HUGE_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND

//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************

-DRAMSTART=4000A000
-DRAMEND=4000FFFF

//************************************************
// Data segments.
//************************************************

-Z(DATA)HUGE_I,HUGE_Z,HUGE_N=RAMSTART-RAMEND

//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************

-Z(DATA)NEARFUNC_T_I,NEARFUNC_A_I=RAMSTART-RAMEND
-Z(DATA)FARFUNC_T_I,FARFUNC_A_I=RAMSTART-RAMEND

//************************************************
// ICCARM produces code for __ramfunc functions in
// *_I segments. The -Q XLINK command line option
// redirects XLINK to emit the code in the
// corresponding *_ID segment instead, but to keep
// symbol and debug information associated with
// the *_I segment, where the code will execute.
//************************************************

-QNEARFUNC_T_I=NEARFUNC_T_ID
-QNEARFUNC_A_I=NEARFUNC_A_ID
-QFARFUNC_T_I=FARFUNC_T_ID
-QFARFUNC_A_I=FARFUNC_A_ID

//*************************************************************************
// Stack and heap segments.
//*************************************************************************

-D_CSTACK_SIZE=100
// -D_SVC_STACK_SIZE=10
-D_IRQ_STACK_SIZE=100
-D_HEAP_SIZE=100

-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
// -Z(DATA)SVC_STACK+_SVC_STACK_SIZE=RAMSTART-RAMEND
-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_SIZE=RAMSTART-RAMEND


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

Ответы



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

E-mail: info@telesys.ru