阅读:3296回复:19
关于CE的NK.bin的一个疑问
各位大虾的一直以来对小弟的帮助,小弟感激不尽,在此衷心感谢.但是目前遇到了一个困惑的问题,就是S3C2410下面Nk.bin最大能做到多大.就我目前的试验有如下结果,希望大家给指个路,我要想做36M的NK.bin应该怎么办?
我用三星的SMDK试验中(Nand Flash64M+ SDRAM 64M配置,在config.bib中已经改变了NK=48M,RAM=16M,AUTOSIZE,ROMSIZE=48M),一般正常使用的NK(保留Eboot空间,NK从Nandflash第10个block开始)都在20M左右,没有问题,当组件变多,达到27.9M-28.7M时候,download NK就勉强能下到RAM里去,如果这个时候也选中了写入Bootmedia,也能写进去,但是重启系统就会在一个地方卡住启动不了了.怎样重起都起不来.我怀疑把系统的什么内容给重叠了.(好象是网卡的io空间) 当组件继续变多,NK达到28.7M以上时候,连NK也写不进去了,写到28.7M旧会死掉.同时这个时候发现NK.nb0变成了29.0M和NK.nb1的出现.(这似乎说明ROMSIZE没有发生变化仍是32M) CE系统默认的是Nk和RAM各占32M的空间,而RAM里系统和应用程序又各占16M,我想问,这个是能改的吗?在哪里改?Eboot是不是也需要修改?Nand Flash也是一样,我想让系统占48M,留下resident flash 16M可以么,怎么改呢,目前好困惑~~~ wxl,wwei_wang,joyfly等大虾请支招啊 |
|
最新喜欢:thinke... |
沙发#
发布于:2005-04-27 18:16
我对Eboot的配置进行了修改也无济于事,依然写不进去,在RAM里写不全(还没到flash那地步),我一共修改了config.bib,loader.h,boot.bib三个文件的配置,但是PB编译出来是没问题的,NK.bin 29.1M,NK.nb0 45.0M,没有NK.nb1了.但是仍然不能全写.我感觉问题还是在Eboot可是不知道该怎么改了.
请大狭们指路哈~~ |
|
板凳#
发布于:2005-05-08 13:09
下载进去的的确是NK.bin但是我检查了OEMMapMemAddr函数好象没有错误哦~~,另外什么叫\"在生成os image的时候,先在config.bib里面把地址指定到ram区,就是那个romstart\"呢,请大哥明示一下子.
我的config.bib如下: #define NKNAME NK ; NK Start address #define NKSTART 8C200000 #define NKLEN 02D00000 #define RAMSTART 8F000000 #define RAMLEN 00F00000 ; Common RAM areas ......略 CONFIG COMPRESSION=ON KERNELFIXUPS=ON AUTOSIZE=ON IF IMGPROFILER PROFILE=ON ENDIF IF IMGPROFILER ! PROFILE=OFF ENDIF ROMFLAGS=0 ROMSTART=$(NKSTART) ROMWIDTH=32 ROMSIZE=$(NKLEN) 在loader.h文件里面的相关定义如下: // Flash Cache area defined in boot.bib #define FLASH_CACHE 0x8D000000UL #define FLASH_CACHE_SIZE 0x02000000UL // BinFS work area defined in boot.bib #define BINFS_RAM_START (0x8c021000 | CACHED_TO_UNCACHED_OFFSET) // uncached #define BINFS_RAM_LENGTH 0x5000 // Nk Memory reigions defined in config.bib... // #define ROM_RAMIMAGE_START 0x8C200000 #define ROM_RAMIMAGE_SIZE 0x02D00000 // Start addresses must match config.bib\'s RAMIMAGE #define RAM_START 0x8F000000 #define RAM_SIZE 0x00F00000 #define DEFAULT_LAUNCHADDR ROM_RAMIMAGE_START // SDRAM #define SDRAM_BASE 0x8C000000// defined in OEMAddressTable #define SDRAM_SIZE 0x04000000//64 MB 看看有什么问题吗?应该是对的啊~~ |
|
地板#
发布于:2005-05-09 14:44
不是的,从串口的显示来看是先下载到RAM完了之后再一总写到flash里的.现在是写到RAM里都写不完,然后是PB报了一个什么配置不对,在串口上没有任何错误信息,所以就是难判断什么问题了啊~~
|
|
地下室#
发布于:2005-05-09 20:27
对,还没有到该写入flash的那一步.现在只是写到RAM里去.
大哥我已经照改了,还是不行,没有任何的变化.我的cachesize已经改成0x02D0000UL了 |
|
5楼#
发布于:2005-05-10 16:14
是IMGRAM64但是环境不让我添加这个变量.不知道为什么.
他提示说,the variable IMGRAM64 is a build option variable,the checkbox, \"Eable Image Larger than 32MB\",that controls that variable is located on the Build Options table.然后就只能点取消.是怎么回事? |
|
6楼#
发布于:2005-05-10 16:35
而且我已经允许了Larger than 32MB这个选项.没有任何改观.
现在的问题很是恼人啊,一直都得不到好的解决.究竟是什么原因呢. 我把这里的一些问题说一下,看看对不对,同时也供大家借鉴一下. 我的问题遇到的有: ROMstart 决定NK的开始位置 ROMLen 决定NK的长度(大小),也即生成NK.nb0的大小 RAMStart 决定系统RAM的开始位置,通常位于连结于NK之后的位置 RAMLen 决定系统RAM的长度(大小) 这个Len决定了以后系统内存和应用程序内存的总和(然后再对半分给二者) FLASH_CACHE 决定了flash缓存的开始位置,我的理解这个位置没有什么特殊要求,只要在Eboot之后就可以了吧 FLASH_CACHE_SIZE 决定flash缓寸长度,大小上应该等于NKLen长度 COMPRESSION 决定NK.bin是最小压缩版还是和NK.nb0一样大 ROMWIDTH 决定ROM数据宽度 AUTOSIZE 自动调整ROM和RAM的大小(但是看上去没有起作用啊) 请wxl_50685330大哥指正一下. [编辑 - 5/10/05 by zouyingmyfriend] |
|
7楼#
发布于:2005-05-10 16:48
wxl大哥,你以前有没有碰到过这种情况?
都应该改还有哪些地方呢,感觉上好象还有什么地方的设置不对似的. 我改过了config.bib boot.bib loader.h这么几个地方如前面所贴.看样子好象和RAM的设置有关.但是改动RAMLEN又没有改变. 怎么办是好? |
|
8楼#
发布于:2005-05-10 18:31
LPBYTE OEMMapMemAddr( DWORD dwImageStart, DWORD dwAddr )
{ //EdbgOutputDebugString(\"OEMMapMemAddr: 0x%x, 0x%x, \", dwImageStart, dwAddr); if ( g_ImageType & IMAGE_TYPE_MXIP ) { DWORD i, Length=0; // we don\'t know the segments length, so parse our BIN table for the length for ( i = 0; i < g_BINRegionInfo.dwNumRegions; i++ ) { if ( (dwAddr >= g_BINRegionInfo.Region.dwRegionStart) && (dwAddr < g_BINRegionInfo.Region.dwRegionStart + g_BINRegionInfo.Region.dwRegionLength) ) { dwAddr = (dwAddr - g_BINRegionInfo.Region.dwRegionStart) + FLASH_CACHE + Length; break; } // bump length Length += g_BINRegionInfo.Region.dwRegionLength; } } //EdbgOutputDebugString(\"0x%x \\r\\n\", dwAddr); return (LPBYTE)dwAddr; } 没有问题吧?? |
|
9楼#
发布于:2005-05-12 15:28
郁闷啊郁闷~~~
|
|
10楼#
发布于:2005-05-12 15:32
看样子根本就是PB的问题啊~~
[编辑 - 5/12/05 by zouyingmyfriend] |
|