3356|9

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请问ce.bib和虚拟内存的对应关系? [复制链接]

各位前辈好!

目前在对于在CE6.0的ce.bib调试理解上遇到了一些困难,希望各位能解答一下....

我查看ce.bib里面的配置
NK       80220000  009E0000  RAMIMAGE (约10MB)
RAM      80C00000  01000000  RAM      (约16MB)

得知了在虚拟内存 static mapped cached 里面0x80220000 位址开始配置 NK区的内存范围
也从此得知NK.bin的大小为26B
经查询MSDN及板上各位的文章,
略知 RAMIMAGE :为专用于保存镜像的内存区域
     RAM      :运行所有进程的内存区域

可是问题来了,在使用KITL载入CE后,开启 Remote Process Viewer查看
发现 只有 NK.exe kernel.dll kitl.dll的base address在上述设定的 NK 区

其余的有如 filesys ioctrl皆在C000 0000以后的Kernel XIP DLLS区
这个结果让我搞不清楚 RAMIMAGE 和 RAM 区的用意何在??

目前我的想法是,当开机后,会将NK.bin 解压缩 映射到static mapped cached 区 然后开始startup()
中间并把kernel space 所会使用到的所有dll从"NK区" 拷贝到 "Kernel XIP DLLS区",
user space 会用到的dll 则从 "NK区" 拷贝到 "user dll区(0x4000 0000以上)"

上述是我的疑问和目前的想法,有任何思考错误或答案,真的要麻烦高手们解答了!

最新回复

自推...掉下去了!!  详情 回复 发表于 2010-2-2 04:52
点赞 关注

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
不清楚,帮顶
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
帮顶下。

MARK
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
这个结果让我搞不清楚   RAMIMAGE   和   RAM   区的用意何在??

NK         80220000     009E0000     RAMIMAGE(约10MB)
RAM        80C00000     01000000     RAM (约16MB)

这两行代码就是将物理地址(静态)映射到虚拟地址空间
有两种静态映射,一种有缓存,一种无缓存
无缓存的一般用来映射CPU物理寄存器等

8000 0000 - A000 0000是有缓存的
A000 0000 - C000 0000是无缓存的

上面两行代码先将NK映射到80220000
然后剩下的01000000(16M)留给用户RAM
两者之和是RAM的总大小

NK.exe应该是在Slot 97把
C200 0000 - C400 0000.

Slot1存储XIP的DLL
0200 0000 - 0400 0000

懵懵懂懂。不太了解。
等大侠
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
你这种配置应该是没有用到XIP吧
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 
请问 hzdysymbol 大 所说的XIP是指在config.bib设定的一个section 吗?
还是指记忆体结构的Kernel   XIP   DLLS 区段?

那个joyzml大 不好意思,我用的是CE6.0

另外 PO上 我参考的记忆体结构图  [/url]

另外,我在CE BASE 的 博客有看到一篇文章 可能有关系,因为英文太烂,看的速度有点慢!!
有兴趣的可以看看![url=http://blogs.msdn.com/ce_base/archive/2007/11/26/How-does-Windows-Embedded-CE-6.0-start_3F00_.aspx]


 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

7
 
这个表要和内存映射表配合看。我博客有个例子,
http://blog.eeworld.net/gooogleman/archive/2009/11/23/4854218.aspx

在pB帮助搜索config.bib看看。啥都有
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

8
 
googleman大,您的博客内容好详细,不过我还是无法得到我问题的答案...

因为我目前使用CE 6.0

我的问题点在于,我的RAMIMAGE 设定80220000~009E0000,看您博客的意思好像是NK.bin会copy到此区

然后RAM 的范围留作AP...使用

但我在CE6 启动后,只剩NK.exe Kernel.dll 及 kitl.dll在此区 ...

还是不理解..是我想法错了吗??帮我解答一下~~感激!


 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

9
 
看的我有点儿困了,学习学习,呵呵…
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

10
 
自推...掉下去了!!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表