#! armcc -E --cpu Cortex-M4 #define m_text_start 0x68000000 #define m_text_size 0x7FF0 #define m_data_start 0x20000000 #define m_data_size 0x7FF0 #define HEAP_SIZE 0x200 #define STACK_SIZE 0x400 #define MY_ALIGN(address, alignment) ((address + (alignment-1)) AND ~(alignment-1)) LR_m_text m_text_start m_text_size { ER_m_text m_text_start m_text_size { * (RESET,+FIRST) * (InRoot$$Sections) .ANY (+RO) } RW_m_data m_data_start { ; RW data .ANY (+RW ) } ZI_m_data +0 { ; ZI data .ANY (+ZI ) } ARM_LIB_HEAP (m_data_start+m_data_size-HEAP_SIZE-STACK_SIZE) EMPTY HEAP_SIZE { ; Heap region growing up } ARM_LIB_STACK (m_data_start+m_data_size) EMPTY -STACK_SIZE { ; Stack region growing down } }