// ************************************************ | |
// | |
// XLINK configuration file for MSP430F5438A | |
// | |
// Copyright 1996-2010 IAR Systems AB | |
// | |
// $Revision: $ | |
// | |
// ************************************************ | |
// --------------------------------------------------------- | |
// Description | |
// | |
// | |
// Usage: | |
// | |
// xlink [file file ...] -f lnk430f5438a.xcl | |
// | |
// ----------------------------------------------- | |
// Device summary | |
// | |
// | |
// Core: MSP430X | |
// | |
// Interrupt vectors: 64 | |
// | |
// Peripheral units: 0-001FF | |
// | |
// Information memory (FLASH): 01800-019FF | |
// | |
// Read/write memory (RAM): 01C00-05BFF | |
// | |
// Read-only memory (FLASH): 05C00-0FFFF | |
// 10000-45BFF | |
// | |
// ----------------------------------------------- | |
// Segments | |
// | |
// ------------------------------------- | |
// Data read/write segments (RAM) | |
// | |
// | |
// The following segments are available for both | |
// the DATA16 and DATA20 segment groups. | |
// | |
// segment Usage | |
// ------- -------------------------- | |
// DATA<nn>_Z Data initialized to zero | |
// DATA<nn>_I Data initialized by copying from DATA<nn>_ID | |
// DATA<nn>_N Data defined using __no_init | |
// DATA<nn>_HEAP The heap used by 'malloc' and 'free' | |
// | |
// segment Usage | |
// ------- -------------------------- | |
// CSTACK Runtime stack | |
// | |
// ------------------------------------- | |
// Program and data read-only segments (FLASH) | |
// | |
// | |
// The following segments are available for both | |
// the DATA16 and DATA20 segment groups. | |
// | |
// segment Usage | |
// ------- -------------------------- | |
// DATA<nn>_C Constant data, including string literals | |
// DATA<nn>_ID initializers for DATA<nn>_I | |
// | |
// segment Usage | |
// ------- -------------------------- | |
// INFO Information memory | |
// INFOA Information memory, bank A | |
// INFOB Information memory, bank B | |
// INFOC Information memory, bank C | |
// INFOD Information memory, bank D | |
// CSTART Program startup code | |
// CODE Program code | |
// ISR_CODE Program code for interrupt service routines | |
// DIFUNCT Dynamic initialization vector used by C++ | |
// CHECKSUM Checksum byte(s) generated by the -J option | |
// INTVEC Interrupt vectors | |
// RESET The reset vector | |
// | |
// Notes: | |
// | |
// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in | |
// the DATA16 segment group must be placed in in the range 0000-FFFD. | |
// | |
// * The INFOx and INFO segments overlap, this allows data either to be | |
// placed in a specific bank or anywhere in the info memory. | |
// | |
// * The INTVEC and RESET segments overlap. This allows an application to | |
// either use the reset vector provided by the runtime library, or | |
// provide a reset function by defining an interrupt function associated | |
// with the reset vector. | |
// | |
// --------------------------------------------------------- | |
// Configuation | |
// | |
// ----------------------------------------------- | |
// Stack and heap sizes | |
// | |
// Uncomment for command line use | |
//-D_STACK_SIZE=80 | |
//-D_DATA16_HEAP_SIZE=80 | |
//-D_DATA20_HEAP_SIZE=80 | |
// ----------------------------------------------- | |
// Define cpu | |
// | |
-cmsp430 | |
// ----------------------------------------------- | |
// Support for placing functions in read/write memory | |
// | |
-QCODE_I=CODE_ID | |
// --------------------------------------------------------- | |
// Placement directives | |
// | |
// ----------------------------------------------- | |
// Read/write memory | |
// | |
/* Commented out and substituted the original memory region definition */ | |
/* for RAM to reserve the memory region from 0x2000 to 0x2021 as it is */ | |
/* used during active mode Icc tests in "5xx_ACTIVE_test.asm" */ | |
-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=1C00-5BFF | |
//-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=1C00-2000,2022-5BFF | |
-Z(DATA)CODE_I | |
-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE | |
-Z(DATA)CSTACK+_STACK_SIZE# | |
// ----------------------------------------------- | |
// Read-only memory | |
// | |
// ------------------------------------- | |
// Information memory | |
// | |
-Z(CONST)INFO=1800-19FF | |
-Z(CONST)INFOA=1980-19FF | |
-Z(CONST)INFOB=1900-197F | |
-Z(CONST)INFOC=1880-18FF | |
-Z(CONST)INFOD=1800-187F | |
// ------------------------------------- | |
// Low memory 0-0FFFF | |
// | |
// --------------------------- | |
// Code | |
// | |
-Z(CODE)CSTART,ISR_CODE=5C00-FF7F | |
// --------------------------- | |
// Constant data | |
// | |
-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=5C00-FF7F | |
// ------------------------------------- | |
// All memory 0-FFFFF | |
// | |
// --------------------------- | |
// Code | |
// | |
// Can be modified to test the use of high memory. | |
// Original code | |
-P(CODE)CODE=5C00-FF7F,10000-45BFF | |
// Modified code | |
//-P(CODE)CODE=10000-45BFF | |
-Z(CODE)CODE_ID | |
// --------------------------- | |
// Constant data | |
// | |
// *** Modified to place code in high memory and insodoing, testing the port. | |
// Original code | |
-Z(CONST)DATA20_C,DATA20_ID=5C00-FF7F,10000-45BFF | |
// Modified code | |
//-Z(CONST)DATA20_C,DATA20_ID=10000-45BFF | |
// ------------------------------------- | |
// Interrupt vectors | |
// | |
-Z(CODE)INTVEC=FF80-FFFF | |
-Z(CODE)RESET=FFFE-FFFF |