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