如果编译CE NK的时候,我们可能会遇到这个编译错误:"Too much data space used by DLL's in MODULES section",原因是文件太多,无法放进MODULES内存段。
Code space full, fixing up ***.dll to ram space
Code space full, fixing up ***.dll to ram space
Code space full, fixing up ***.dll to ram space
Error: Too much data space used by DLL's in MODULES section
Current usage = 28864k, Maximum usage = 26624k.
Reduce DLL usage or move some DLL's into the FILES section.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).
PB的文档中有关于该错误的描述:
Debug images are larger than their retail counterparts, which may cause build errors because of two primary reasons:
1. The amount of space allotted to the overall OS image (config.bib's RAMIMAGE entry) is insufficient. The values used in config.bib are often limited by the amount of physical memory present on the target device and thus can only be increased to a hardware-imposed limit.
2. The modules (DLLs) within the OS image exceed the slot-based virtual address space that has been allotted. During the build process, Romimage configures the modules to fit one of two slot address spaces (slot 0 or slot 1), depending on build logic. If you run out of allotted space in these two slots, a build error similar to the following will occur:
Error: Too much data space used by DLL's in MODULES section
Current usage = 42752k, Maximum usage = 26624k.
Reduce DLL usage or move some DLL's into the FILES section. Fatal error hit, exiting...
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
PB的文档中有关于该错误的描述:
Debug images are larger than their retail counterparts, which may cause build errors because of two primary reasons:
1. The amount of space allotted to the overall OS image (config.bib's RAMIMAGE entry) is insufficient. The values used in config.bib are often limited by the amount of physical memory present on the target device and thus can only be increased to a hardware-imposed limit.
2. The modules (DLLs) within the OS image exceed the slot-based virtual address space that has been allotted. During the build process, Romimage configures the modules to fit one of two slot address spaces (slot 0 or slot 1), depending on build logic. If you run out of allotted space in these two slots, a build error similar to the following will occur:
Error: Too much data space used by DLL's in MODULES section
Current usage = 42752k, Maximum usage = 26624k.
Reduce DLL usage or move some DLL's into the FILES section. Fatal error hit, exiting...
To avoid this, build retail images and include debug versions of only executables that you want to debug, or reduce the build configuration (SYSGEN/feature selections) to something smaller.
所以我们可以针对两个问题,进行两种解决方法:
1. 修改config.bib文件中Memory的部分,修改模块的size;
2. 将某些模块移入到FILE部分中。
关于Config.bib文件的修改和slot address speces的说明,请参考MSDN.http://msdn.microsoft.com/en-us/library/aa909412.aspx
也可看看下面写的:
http://topic.csdn.net/u/20080303/15/5ca361da-813e-4dfc-a394-31843385329c.html
http://www.kaise.com.tw/bbs/viewtopic.php?t=782&view=previous&sid=812b3775881ae365b11ca42510e16b66
*************************************
这辈子没法做太多事情,所以每一件都要做到精彩绝伦
这辈子没法做太多事情,所以每一件都要做到精彩绝伦