4468|19

55

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

cofig.bib配置 [复制链接]

最近在搞wince方面的开发,看了wince的帮助,对config.bib的配置还是模糊不清的,在这里请教下各位。
下面是我的硬件的config.bib
MEMORY


IF IMGFLASH !
    NK            86100000  01F00000  RAMIMAGE
    RAM           81100000  05000000  RAM
ENDIF

IF IMGFLASH
    NK            9C020000  01fD0000  RAMIMAGE
    RAM           81100000  05000000  RAM
ENDIF

CONFIG


IF IMGFLASH
    ROMSTART=9C020000
    ROMSIZE=1FD0000
    ROMWIDTH=32
    ROMOFFSET=0
ENDIF

    COMPRESSION=ON
    PROFILE=OFF
    KERNELFIXUPS=ON
    ROMFLAGS=0
    AUTOSIZE=ON

IF IMGPROFILER   
   PROFILE=ON
ENDIF
IF IMGPROFILER !
   PROFILE=OFF
ENDIF

问题是,   NK            9C020000  01fD0000  RAMIMAGE  和RAM           81100000  05000000  RAM 有什么关系?NK的大小是包含在RAM里吗?NK 和RAM的开始地址可以交换吗?(NK            81100000  01fD0000  RAMIMAGE  和RAM           9C020000  05000000)


CONFIG的配置和MEMORY的配置有什么关联吗?
是不是问的很多啊,刚搞这个 的,看一些资料看的不是很理解,所以来这里请教大家。


最新回复

顶这个, RAMIMAGE小点没事的.  详情 回复 发表于 2008-11-17 22:25
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
wince 下,RAM一般情况下分了3块:加载os部分,ramdisk部分;程序ram

config.bib主要就是确定这几个部分的大小,起始地址等等
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
    RAM           81100000  05000000  RAM 这里的RAM是包括RAM和ROM的总和?
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

4
 
进来学习了
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
这里的RAM仅仅指程序运行时所需内存,及用来存放基于RAM的文件系统和程序变量的。不能与NK的地址有重叠。
这是msdn里的原话:Specifies the range of virtual addresses available to the kernel for allocation to running processes and the RAM-based Windows Embedded CE-based file system.

建议你到msdn里去看看,下面是网址,里面有很详细的介绍
http://msdn2.microsoft.com/en-us/library/aa909412.aspx
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
谢谢tianix,我去看了 ,但是还是不是很明白的。
比如NANDIMAGE
FIXUPVAR
这些项起什么作用的?
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

7
 
FIXUPVAR 是表示内核全局变量存放在内存中的位置

关于NANDIMAGE,它指出了当使用BINFS时,放在NAND中的那一部分内核重定位到内存中的位置,你可能先需要了解一下BINFS。

简单来说,使用BINFS时,Image被分成两个部分:XIPKERNEL.bin和NK.bin,XIPKERNEL.bin中的东西就是那些WinCE中比较核心的又需要经常加载的一些程序和DLL文件,这些文件会在刚启动的时候拷贝到RAM中去,这样就可以在RAM中XIP(Excute in place)了。在NK.bin中的基本上是需要但不至于要常驻内存的一些程序和DLL了,比如我们BuildIn下的大部分驱动,比如微软的IE,mediaplayer等应用程序,甚至连设备管理器device.exe也可以放到这里面,这些文件只有在需要的时候才被复制到内存中去执行,节约了内存并且也加快了启动的时间。而NK.bin放在内存中的地址就是NANDIMAGE指定的了,XIPKERNEL.bin则由RAMIMAGE指定。
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

8
 
NK            9C020000  01fD0000  RAMIMAGE  是NK在内存中的地址
RAM           81100000  05000000  RAM       是RAM文件系统和程序运行的区域
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

9
 
好像没那么简单,呵呵.
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

10
 
有问题请先GOOGLE,BAIDU
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 7 楼 hahagoodhaha 的回复:
NK            9C020000  01fD0000  RAMIMAGE  是NK在内存中的地址
RAM          81100000  05000000  RAM      是RAM文件系统和程序运行的区域


好帖子
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 7 楼 hahagoodhaha 的回复:
NK            9C020000  01fD0000  RAMIMAGE  是NK在内存中的地址 ----------是虚拟地址才对RAM          81100000  05000000  RAM      是RAM文件系统和程序运行的区域
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

13
 
学习一下
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

14
 
NK            86100000  01F00000  RAMIMAGE
RAM          81100000  05000000  RAM
设置了用于存储NK.BIN的数据内存和用于运行应用程序的程序内存的位置。
其中NK存储区域被当做用于数据存储的ROM,而RAM区域被当作运行程序的RAM。

如果NK.BIN大于RAMIMAGE设置值那AUTOSIZE自动判断边界
而那个 AUTOSIZE 的作用是
1 允许未使用的运行时映象RAM被用做系统RAM和对象存储RAM,
2 RAM区域的内存能够被RAMIMAGE区域使用。默认是ON
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

15
 
一般不会去改congfig.bib的,最有可能改的是:当编出来的NK的大小超出了默认设置的时候就会修改NK的地址变大一点。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 14 楼 mooncmy 的回复:
一般不会去改congfig.bib的,最有可能改的是:当编出来的NK的大小超出了默认设置的时候就会修改NK的地址变大一点。

我觉得不用改 因为AUTOSIZE是ON
如果NK.BIN的大小超过了默认设置那符合AUTOSIZE的第2点自动会扩展的。当然NK.BIN不能大于总的RAM。
我做过的默认的RAMIMAGE是0x009e00000大概10M左右 但是我NK.bin是20M左右不需要设置 也能启动
我内存总大小128M的大于NK.bin的大小
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

17
 
IF IMGFLASH
    NK            9C020000  01fD0000  RAMIMAGE
    RAM          81100000  05000000  RAM
ENDIF

从这里看来9C020000应该是一个Nor Flash的地址,NK是不Load到RAM的,直接在Nor Flash上跑的。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

18
 
学习
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

19
 
study and study
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

20
 
引用 15 楼 e01620230 的回复:
引用 14 楼 mooncmy 的回复:
一般不会去改congfig.bib的,最有可能改的是:当编出来的NK的大小超出了默认设置的时候就会修改NK的地址变大一点。

我觉得不用改 因为AUTOSIZE是ON
如果NK.BIN的大小超过了默认设置那符合AUTOSIZE的第2点自动会扩展的。当然NK.BIN不能大于总的RAM。
我做过的默认的RAMIMAGE是0x009e00000大概10M左右 但是我NK.bin是20M左右不需要设置 也能启动
我内存总大小128M的大于NK.bin的大小


顶这个, RAMIMAGE小点没事的.
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表