Error: Ram start overlaps rom binary
Rom end : 0x8df9ba1c
Ram start: 0x8de29000
NK
physfirst 8c200000
physlast 8df9ba1c
ulRAMFree 8de29000
Fatal error hit, exiting...
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
.
.
30,733,179 NK.bin
.
Error: Ram start overlaps rom binary
Rom end : 0x8df9ba1c
Ram start: 0x8de29000
NK
physfirst 8c200000
physlast 8df9ba1c
ulRAMFree 8de29000
Fatal error hit, exiting...
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
.
.
30,733,179 NK.bin
.
导致这个错误的原因是NK.bin的实际大小超过了config.bib文件中定义的大小。
有两个方法可以解决这个问题。
方法一:删除一些不必要的组件,然后重新Sysgen
方法二:修改config.bib文件
下面是我的config.bib文件的一段:
view plaincopy to clipboardprint?
NK 8C200000 01C00000 RAMIMAGE
RAM 8DE00000 02200000 RAM
.
.
ROMSTART=8C200000
ROMWIDTH=32
ROMSIZE=01c00000
.
NK 8C200000 01C00000 RAMIMAGE
RAM 8DE00000 02200000 RAM
.
.
ROMSTART=8C200000
ROMWIDTH=32
ROMSIZE=01c00000
.
这里定义的NK的大小是01C00000,也就是28M。
而实际上我现在的NK已经达到了30,733,179,也就是29.3M。
这就是导致问题的主要原因。
解决方法:
首先把01C00000改成01E00000(30M)
然后把8DE00000改成8E100000(+2M)
把02200000改成02000000(-2M)
最后把ROMSIZE=01c00000改成ROMSIZE=01E00000
重新Sysgen
(这里面如果NK超过32M,Build Options中需要勾选上
“Run-Time Image Can be Larger than 32 MB”)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/joyzml/archive/2010/01/18/5207176.aspx