scat_exec_ram.lin

来自「周立功arm7(lpc2104)的工程模板」· LIN 代码 · 共 65 行

LIN
65
字号

; *********************************
; LPC22XX SYSTEM WITHOUT OS
; FILE:     SCAT.LIN
; MODIFIED: ZPCYP 2005-3-16 20:16
; *********************************

; This scatterloading descriptor file defines: one load region (ROM_LOAD) 
; and four execution regions (ROM_EXEC, RAM, HEAP, STACKS).
;
; The entire program (code & data) is placed in ROM at ROM_LOAD.
;
; The RO code will execute from ROM_EXEC.  Its execution address (0x0) is the same
; as its load address (0x0), so it does not need to be moved (a 'root region').
; The exception vector table (AREA Vect in vectors.s) must appear at 0x0, so is 
; placed '+First' in the image.
;
; The RW data will get relocated (copied) from ROM_LOAD to RAM at 0x40000000.
; The ZI data will get created (initialized) in RAM, above the RW data.
; 
; The region HEAP is used to locate the bottom of the heap immediately above 
; the ZI data ("+0"). The heap will grow up from this address.
;
; The region STACKS is used to locate the top of the memory used to store
; the stacks for each mode. The stacks will grow down from this address.
;
; Regions marked UNINIT will be left uninitialized, i.e. they will not be 
; zero-initialized by the C library when it starts-up.


ROM_LOAD 0x00000000
{
    ROM_EXEC 0x00000000
    {
        vectors.o (Vect, +First)
    }

    RAM_EXEC 0x40000000
    {
        * (+RO)
    }

    RAM 0x40003000
    {
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        heap.o (+ZI)
    }

    STACKS 0x40004000 UNINIT
    {
        stack.o (+ZI)
    }

    EXT_RAM 0x81000000 UNINIT
    {
        ext_ram.o (+ZI)
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?