Example 4. Origin and Length as Expressions
/************************************************************************************/
/* Sample command file with MEMORY directive */
/************************************************************************************/
file1.c.obj file2.c.obj /* Input files */
--output_file=prog.out /* Options */
#define ORIGIN 0x00000000
#define BUFFER 0x00000200
#define CACHE 0x0001000
MEMORY
{
PAGE 1: FAST_MEM (RX): origin = ORIGIN + CACHE length = 0x00001000 + BUFFER
PAGE 0: SLOW_MEM (RW): origin = end(FAST_MEM) length = 0x00001800 - size(FAST_MEM)
PAGE 0: EXT_MEM (RX): origin = 0x03000000 length = size(FAST_MEM) - CACHE