scat_noremap.scf

来自「USB 软件配置的具体工程」· SCF 代码 · 共 65 行

SCF
65
字号
;;; Copyright ARM Ltd 2001. All rights reserved.
;
; This scatterloading descriptor file defines: one load region (ROM_LOAD) 
; and five execution regions (ROM_EXEC, 32bitRAM, HEAP, STACKS, UART0).
;
; The entire program (code & data) is placed in FLASH which resides 
; at 0x24000000, of length 0x4000000 bytes.  On reset, an aliased copy 
; of FLASH is re-mapped (by hardware) to address 0x0.  Program 
; execution starts at AREA Init in init.s, which is placed 
; '+First' in the image.  Following reset, the first few 
; instructions of init.s remap 32bitRAM to address 0x0.
; (The ARM Integrator Board remaps its Flash in this way)
;
; Most of the RO code will execute from FLASH.  Its execution 
; address (0x24000000) is the same as its load address (0x24000000), 
; so it does not need to be moved (a 'root region').
;
; 32bitRAM might be fast on-chip (internal) RAM, and is typically
; used for the stack and code that must be executed quickly.
; Here, the exception vectors (AREA Vect in vectors.s) get relocated 
; (copied)  from FLASH to 32bitRAM at address 0x0 for speed, so this 
; area is placed '+First' in the region.

; The RW data will also get relocated (copied) from FLASH to RAM.
; 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.
;
; The region UART0 is used to map the position of the Integrator UART0 registers.
;
; Regions marked UNINIT will be left uninitialized, i.e. they will not be 
; zero-initialized by the C library when it starts-up.


FLASH 0x00000 
{ 
    FLASH 0x00000 0x100000 
    { 
        boot_gfd.o (INT,+First)
        * (+RO,+RW,+ZI)
    }
     
    
    SDRAM 0x30000000
    {
        main.o (+RO,+RW,+ZI)
        gfd_dmac.o (+RO,+RW,+ZI)
        Gfd_usb_hl.o (+RO,+RW,+ZI)
        gfd_dma_usbhl.o (+RO,+RW,+ZI)
       	int_vec_handler.o (+RO,+RW,+ZI)
    } 


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

⌨️ 快捷键说明

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