如下:
; Memory Map
; ----------
;
; 8000.0000 -+
; | Bootloader Stack (64KB)
; 8001.0000 -+
; | Bootloader RAM (64KB)
; 8002.0000 -+
; | Bootloader Code (256KB)
; 8006.0000 -+
; | GAP (reserved for future)
; 800F.F000 -+
; | ARGS (4KB)
; 8010.0000 -+
; |
; | OS (NK) Code (48MB)
; |
; 8310.0000 -+ **auto-size**
; |
; | OS (NK) RAM (15MB)
; |
; 8400.0000 -+
;
IF IMGFLASH !
#define NK_START 80100000
#define NK_SIZE 01A00000
#define NKRAM_START 83100000
#define NKRAM_SIZE 00F00000 ;
ELSE ;IMGFLASH
#define NK_START 9CA80000
#define NK_SIZE 01A00000 ;
#define NKRAM_START 83100000
#define NKRAM_SIZE 00F00000 ;
ENDIF ;IMGFLASH
MEMORY
; Name Start Size Type
; ------- -------- -------- ----
RSVD 80000000 000FF000 RESERVED
ARGS 800FF000 00001000 RESERVED
IF IMGFLASH !
NK 80100000 1A00000 RAMIMAGE
RAM 83100000 F00000 RAM
ELSE
NK 9CA80000 1A00000 RAMIMAGE
RAM 83100000 F00000 RAM
ENDIF
; Reserve ZBANK virtual block (No physical memory
; is required to back this virtual range).
;
ZBANK 96500000 00100000 RESERVED
CONFIG
IF IMGFLASH
ROMSTART = 9CA80000
ROMSIZE = 01A00000
ROMWIDTH = 32
ELSE
AUTOSIZE = ON
ENDIF
KERNELFIXUPS=ON
; @CESYSGEN IF !NK_NKNOCOMP
COMPRESSION=ON
; @CESYSGEN ENDIF !NK_NKNOCOMP
; @CESYSGEN IF NK_NKNOCOMP
COMPRESSION=OFF
; @CESYSGEN ENDIF NK_NKNOCOMP
IF IMGPROFILER
PROFILE=ON
ELSE
PROFILE=OFF
ENDIF
;
; ROMFLAGS is a bitmask of options for the kernel
; ROMFLAGS 0x0001 Disallow Paging
; ROMFLAGS 0x0002 Not all KMode
; ROMFLAGS 0x0010 Trust Module only
;
IF IMGTRUSTROMONLY
IF IMGNOTALLKMODE
ROMFLAGS=12
ELSE
ROMFLAGS=10
ENDIF
ELSE
IF IMGNOTALLKMODE
ROMFLAGS=02
ELSE
ROMFLAGS=00
ENDIF
ENDIF