Memory Address Allocation: configuration of config. bib
Author: Lai yuping (auly) aulyp@163.com
In the embedded wince system, memory allocation is set through the config. bib file, such as allocating the video address, RAM address, and Rom address. The following describes in detail some keywords used in this file and different Address Allocation when using NK mirror or xip.
(1) ramimage is an image placed in ram, and the address space is not controlled by Ce. This is the region automatically copied to the memory at startup,
(2) nandimage is an image placed in flash. the space allocated here indicates the region in which the system copies it to when it calls its function, because the program cannot be run directly in flash, it is generally overlapped with the ram range, which means it is copied to ram for running. Because many programs are stored in NK. set in bib, NK Sh. In this case, if NK is placed in flash, the program will also be placed in flash. When the system wants to call it, it will be copied to ram.
(3) Ram is the address space managed by Ce, that is, the space dynamically controlled by the system.
(4) If NK is used, the image must be automatically copied to ram, so the space allocated by NK is ramimage. If the xip method is used, the xipkernel is automatically copied to the memory, and the other is first stored in flash before being copied to the memory for running. Therefore, the NK method must be set to nandimage.
Xip:
Xipkernel 80200000 00300000 ramimage
NK 80500000 01900000 nandimage
NK mode:
NK 80100000 01f00000 ramimage
(5) Note: If a dedicated space is reserved for a specific module, it is best not to leave this space within the ram range, otherwise, the system may dynamically allocate it to other applications.
For example, you 'd better not store the display in the ram range:
Display 80100000 00100000 Reserved
Example:
Xip:
# Define chain_address 81d00000
# Define chain_length 00001000
Xipkernel 80200000 00300000 ramimage
NK 80500000 01900000 nandimage
Chain $ (chain_address) $ (chain_length) Reserved
Ram 80500000 03b00000 Ram
Flash 92000000 00100000 Reserved
ARGs 80020000 00000800 Reserved
Sleep 80028000 00002000 Reserved
Edbg 80030000 00020000 Reserved
Display 80100000 00100000 Reserved
NK:
NK 80200000 01900000 ramimage
Ram 81b00000 02500000 Ram; at this time, NK and Ram cannot overlap
Flash 92000000 00100000 Reserved
; Common RAM Areas
ARGs 80020000 00000800 Reserved
Sleep 80028000 00002000 Reserved
Edbg 80030000 00020000 Reserved
Display 80100000 00100000 Reserved