发新话题
打印

【客户问题】升级R3后,编译出来NK大于40M,请问如何调整?

【客户问题】升级R3后,编译出来NK大于40M,请问如何调整?

【客户问题】
升级rc3时,有两个问题请教下:
1、SMDK6410.pbxml如何用?谢谢。
2、按WINCE6.0 R3升级说明.pdf订制了os,但nk.bin大于40M。
"请注意查看产生的内核映像(Nk.bin)大小,如果超过 40MB,就需要在 BSP 里做内存调整
来实现 NK的下载和运行."
请问如何调整?谢谢。


您好:
感谢使用立宇泰产品。问题回复如下:
1.在你的\WINCE600\OSDesigns下新建立一个文件夹,把工程文件放到新建的文件夹下,双击它即可。
2.关于如何修改NK的大小请看下面:
修改WINCE600\PLATFORM\SMDK6410\SRC\INC文件夹下的image_cfg头文件中的:
#define IMAGE_NK_SIZE xxxxxxx NK的大小
修改WINCE600\PLATFORM\SMDK6410\SRC\INC文件夹下的image_cfg声明文件:
IMAGE_NK_SIZE xxxxxxx NK的大小
修改WINCE600\PLATFORM\SMDK6410\FILES文件夹下config.bib文件下:
#define NKLEN xxxxxxx ; NK的大小
#define RAMLEN xxxxxxx ; 除去NK后剩余保留内存

TOP

【增加一个同类客户问题】关于6410开发板wince6.0增大内存中NK.NB0空间大小

当在下载NK的时候遇到:
Download BIN file information:
-----------------------------------------------------
[0]: Base Address=0x80100000 Length=0x2be85d8 44M
-----------------------------------------------------
BIN image type unknow
!OEMVERIFYMEMORY: Invalid image

怎么办?

是由于我们内配的NK空间太小了,可以考虑做如下处理:
这样修改如下地方:

(1)修改WINCE600\PLATFORM\SMDK6410\SRC\INC文件夹下的image_cfg头文件中的:
// NK Area

#define IMAGE_NK_OFFSET (0x00100000)
#define IMAGE_NK_PA_START (DRAM_BASE_PA_START+IMAGE_NK_OFFSET)
#define IMAGE_NK_CA_START (DRAM_BASE_CA_START+IMAGE_NK_OFFSET)
#define IMAGE_NK_UA_START (DRAM_BASE_UA_START+IMAGE_NK_OFFSET)
//
//#define IMAGE_NK_SIZE (0x03F00000) // Set Max Size, This will be tailored automatically
#define IMAGE_NK_SIZE (0x02800000)这个是你内存中开辟的nk.nb0内核大小
(2)修改WINCE600\PLATFORM\SMDK6410\SRC\INC文件夹下的image_cfg声明文件
;// NK Area
IMAGE_NK_OFFSET EQU (0x00100000)
IMAGE_NK_PA_START EQU (DRAM_BASE_PA_START+IMAGE_NK_OFFSET)
IMAGE_NK_CA_START EQU (DRAM_BASE_CA_START+IMAGE_NK_OFFSET)
IMAGE_NK_UA_START EQU (DRAM_BASE_UA_START+IMAGE_NK_OFFSET)
;
;IMAGE_NK_SIZE EQU (0x03F00000) ; Set Max size, This will be tailored automatically.
IMAGE_NK_SIZE EQU (0x02800000) 这个是你内存中开辟的nk.nb0内核大小

以上这两个文件关系到你在eboot下载NK.BIN的时候能否成功下载进去;

(3) WINCE600\PLATFORM\SMDK6410\FILES文件夹下config.bib文件下:

由于我们的BSP用的是非XIP模式,所以我们只要这样设置即可

MEMORY
IF IMGMULTIXIP !
#define NKNAME NK
#define NKSTART 80100000 内存中的起始地址
;

;#define NKLEN 03F00000 ; 63MB (Max size, to match image_cfg.* files. This will be auto-sized)
#define NKLEN 02800000 ; 40MB NK.NB0的大小
#define RAMNAME RAM
;
;#define RAMSTART 84000000
;#define RAMLEN 01D00000 ; 29MB (Will be auto-sized from the end of NK)
#define RAMSTART 82900000
#define RAMLEN 03600000 ; 54MB 除去NK后剩余保留内存

;-----------------------------------------------------

; NAME ADDRESS SIZE TYPE

;-----------------------------------------------------
$(NKNAME) $(NKSTART) $(NKLEN) RAMIMAGE
$(RAMNAME) $(RAMSTART) $(RAMLEN) RAM

ENDIF
。。。。
。。。。。
。。。。

ROMSTART = $(NKSTART)
ROMWIDTH = 32
ROMSIZE = $(NKLEN)

ENDI

TOP

发新话题