刚找到一段比较有原理性的一段话
Error: Ram start overlaps rom binary
Rom end : 0x8e31dd94
Ram start: 0x8e02e000
NK
physfirst 8c200000
physlast 8e31dd94
ulRAMFree 8e02e000
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).
解决方法:在PLATFORM ->SETTING->BUILD OPTIONS选上ENABLE IMAGES LARGER THAN 32M
或者少加一下组件!
在PB定制的时候添加了Web Server组件,结果就出现了Ram start overlaps rom binary的错误,
结果修改config.bib文件也没有用还是同样的错误,
后来在Platform\Setting\Build Optins中也把Enable image Large than 32M选项勾上了,
但是错误还是在。
今天在做调试的过程中,在优龙P2410提供的BSP包中的YLLP2410工程基础上,添加了一些自己需要的组件,经编译,出现一下提示
Error: Ram start overlaps rom binary
经过分析发现此错误应该是因为内核文件超出了29M的范围,通过修改了config.bib文件的
1、#deine NKLEN 01D00000
改为 01F00000
2、#define RAMSTART 8E000000
改为 8E200000
3、#define RAMLEN 02000000
改为 01E00000
修改原则为:1、NKSTART+NKLEN
2、RAMSTART+RAMLEN<90000000
重新编译后编译通过 复制代码
我试了一次,可惜命不好,还是同样的错误,现在的组件数量跟我第一次成功的组件数是一样的,不知道会不会添加组件再删除组件后,体积还是不自觉变大了,实在看不懂这些地址信息,也不知道NK和LEN是什么关系,准备重头开始了~!
这个是我的错误:
total space 383860 in 192 ranges
Writing D:\WINCE500\PBWorkspaces\Test2440\RelDir\smdk2440_ARMV4I_Release\NK.bin
Table of contents 8e0b98bc 00002360 ( 9056)
Writing ROM signature and TOC pointer at 8c200040
Kernel data copy section 8cf2add0 00000010 ( 16)
ROM Header 8e0b9868 00000054 ( 84)
First DLL code Address: 02cc0000
Last DLL code Address: 04000000
First DLL Address: 01c701de
Last DLL Address: 02000000
Physical Start Address: 8c200000
Physical End Address: 8e0bbc1c
Start RAM: 8e000000
Start of free RAM: 8e029000
End of RAM: 8ff00000
Number of Modules: 171
Number of Copy Sections: 1
Copy Section Offset: 8cf2add0
FileSys 4K Chunks/Mbyte: 64 <2Mbyte 64 2-4Mbyte 0 4-6Mbyte 0 >6Mbyte
CPU Type: 01c2h
Miscellaneous Flags: 0002h
Extensions Pointer: 8c202850
Total ROM size: 01ebbc1c ( 32226332)
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
Error: Ram start overlaps rom binary
Rom end : 0x8e0bbc1c
Ram start: 0x8e029000
NK
physfirst 8c200000
physlast 8e0bbc1c
ulRAMFree 8e029000
Fatal error hit, exiting...
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
Test2440 - 3 error(s), 14 warning(s) 复制代码