2631|3

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince 中压缩与非压缩dll , xip dll 与非xip dll [复制链接]

由于嵌入式系统的特定要求,ce必须比桌面系统更有效的使用和节省物理内存,采用有rom文件系统与ram文件系统。可以在rom中存放压缩的与非压缩的文件,前者中的可执行文件(dll,exe)必须解压到ram才可使用,后者如果在支持线性访问的介质(如nor flash)中则可以xip。非xip的dll在加载时,会在调用dll的进程的slot0空间中按需申请物理内存。ram文件系统专用于对象存储,nk(config.bib中定义,用于存放从flash中的内核镜像解压出来的所有文件)以外的ram分为对象存储区域(采用flash进行对象存储后,可以减少)和应用程序内存区域(默认各一半)。

有以下两个疑问:
1、rom中存放压缩与非压缩的文件,这里压缩的文件指的是怎么个压缩法?是怎么实现压缩的,用UPX对dll加一个压缩壳算吗?
2、一个dll,如果是xip的,只要被放到slot1,所有的进程都可以使用,节省空间。也就是说XIP dll可以被多个进程共享。
            如果不是XIP,该dll就会被加载到app的进程空间,如果每个进程都要使用dll,那么每个进程空间都必须保存一份这个dll的代码
  ps:这种理解来源与网络
  如果上面的理解是对的,那XIP dll 和非XIP dll  能不能人为转换呢?  

望达人不吝赐教 先谢谢了^^
此帖出自WindowsCE论坛

最新回复

放在IMAGE里的DLL分两种。一种在BIB文件的MODULES section指定,另一种在FILES section指定。在MODULES section指定的DLL在make image时会做一些特殊处理,在运行时他们只能在指定的基址加载,不能重定位。FILES section的DLL默认是压缩的,加载机制和普通DLL一样,可以重定位。在CE上同名的DLL只能加载一份,无论在哪个进程,映射地址都是一样的。  详情 回复 发表于 2009-1-8 09:23
点赞 关注
 

回复
举报

61

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
1、rom中存放压缩与非压缩的文件,这里压缩的文件指的是怎么个压缩法?是怎么实现压缩的,用UPX对dll加一个压缩壳算吗?
这个压缩是什么算法没有研究过,是否压缩是可以自由指定的,这个压缩只是空间上的压缩,没有什么特殊的

2、一个dll,如果是xip的,只要被放到slot1,所有的进程都可以使用,节省空间。也就是说XIP dll可以被多个进程共享。
            如果不是XIP,该dll就会被加载到app的进程空间,如果每个进程都要使用dll,那么每个进程空间都必须保存一份这个dll的代码
  ps:这种理解来源与网络
  如果上面的理解是对的,那XIP dll 和非XIP dll  能不能人为转换呢?  

没有听说过XIP的DLL就可以被共享,不XIP的DLL就不能被共享这种说法,这好象跟是否XIP没有什么关系吧
DLL是否XIP是可以被指定的,但有些特定的DLL是不能XIP的
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
rom的文件压缩在PB里面是有源码的应该是LZ77,也提供了工具可以做这个事,和UPX的lzma还不一样
CE5及一下下DLL的空间都是共享的,不分XIP和非XIP,XIP在ROMimage生成期间指定,生成好了后你自己转换不了
XIP和非XIP DLL是有差别的,比如XIP DLL load后好像不用做Relocate

此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
放在IMAGE里的DLL分两种。一种在BIB文件的MODULES section指定,另一种在FILES section指定。在MODULES section指定的DLL在make image时会做一些特殊处理,在运行时他们只能在指定的基址加载,不能重定位。FILES section的DLL默认是压缩的,加载机制和普通DLL一样,可以重定位。在CE上同名的DLL只能加载一份,无论在哪个进程,映射地址都是一样的。
此帖出自WindowsCE论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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