谈谈 common.reg platform.reg project.reg 的关系

zaodt 2009-05-06 10:10:19
谈谈我的理解,大家看看对不对,或者还有什么补充。

common.reg 与平台无关

platform.reg 相应平台

project.reg 相应项目


它们的优先级为:

project > platform > common

就是 project 中的设置会覆盖前面的设置。



应该是这样理解的吧?

感觉这样的设计非常合理。
...全文
507 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
aduhupu 2009-12-14
  • 打赏
  • 举报
回复
The registry values in Platform.reg override the default values specified in Project.reg and Common.reg. The registry values in Project.reg override the default values specified in Common.reg.
sunrain_hjb 2009-05-06
  • 打赏
  • 举报
回复
串口驱动卸载后不能动态加载,是ceddk.dll的问题,
具体的是调用函数HalTranslateBusAddress()时出了错,
你可以尝试修改一下SRC\DRIVERS\CEDDK\DLL中的source文件
去掉这一行 $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\ddk_bus.lib \
重新编译,更新CEDDK.dll,再加载串口驱动就没有问题了,
我在WinCE模拟器中已经测试通过。

不过,这只是解决问题的一个办法,根本原因还不确定,有时间再查一查。
我比较疑惑的是开机时加载为什么没有这个问题,而动态加载时出现了状况。

PowerButton驱动动态加载出现状况,具体是什么情况呢?
有时,你可能需要在卸载之后重启机器再加载,特别是在驱动中使用了中断时。

DM还在改进当中,差不多的时候,会公开相关代码的。

gooogleman 2009-05-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sunrain_hjb 的回复:]
gooogleman,正想找你呢,你的串口驱动调试好了没,
我查出为什么串口驱动不能动态加载的原因了。
有空交流一下。
[/Quote]

串口大问题没有了,还有些小问题。

你的驱动调试助手的确是经典之作,但是我发现有些驱动在动态加载的时候比较奇怪,比如PowerButton驱动,我卸载再次激活,然后这个驱动就不能使用了,但是提示激活成功。这些很难查到问题。我后来不得已,只能用最笨的方法烧写NK了。

给你个建议,你写一个协议:你把驱动调试助手源码公开,但是修改代码发布必须以你为首,并且发布给大家使用,修改BUG,就像在linux一样,这样对调试wince驱动是很大的跨越。哈哈,建议而已。因为现在很多人还在修改个分号还要打包烧写内核呢。
xqhrs232 2009-05-06
  • 打赏
  • 举报
回复
又见高人
sunrain_hjb 2009-05-06
  • 打赏
  • 举报
回复
gooogleman,正想找你呢,你的串口驱动调试好了没,
我查出为什么串口驱动不能动态加载的原因了。
有空交流一下。
a747lulu747 2009-05-06
  • 打赏
  • 举报
回复
common.reg包含了所有和硬件平台无关的注册表配置,然后根据你的环境变量来进行过滤;
platform.reg是当前平台的注册表配置,这部分需要OEM人员负责编写;
rpoject.reg一般默认为空,如果在OS设计的时候加入了自己新建的项目,则可以在该.reg中加入。
paul_chao 2009-05-06
  • 打赏
  • 举报
回复
platform > project > common

LZ 有興趣可看看 reginit.ini 即知.

Paul, Chao @ Techware
gooogleman 2009-05-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sunrain_hjb 的回复:]
应该是这样的。
[/Quote]

楼主理解相当正确。

sunrain_hjb 好久不来了,像是去度蜜月了。哈哈
sunrain_hjb 2009-05-06
  • 打赏
  • 举报
回复
应该是这样的。
博说医械研发 2009-05-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sunrain_hjb 的回复:]
串口驱动卸载后不能动态加载,是ceddk.dll的问题,
具体的是调用函数HalTranslateBusAddress()时出了错,
你可以尝试修改一下SRC\DRIVERS\CEDDK\DLL中的source文件
去掉这一行 $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\ddk_bus.lib \
重新编译,更新CEDDK.dll,再加载串口驱动就没有问题了,
我在WinCE模拟器中已经测试通过。

不过,这只是解决问题的一个办法,根本原因还不确定,有时间再查一查。
我比较疑惑的是…
[/Quote]
我下载过一个DM,是你所作?
zaodt 2009-05-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 paul_chao 的回复:]
platform > project > common

LZ 有興趣可看看 reginit.ini 即知.

Paul, Chao @ Techware
[/Quote]



刚才测试过了,的确如你所说,Platform.reg 中的设置覆盖了 Project.reg 中的设置。
gooogleman 2009-05-06
  • 打赏
  • 举报
回复
哦,的确DM比较敏感,出现了很多问题。稳定性和可靠性提高之后就是神奇之作了。

19,523

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧