WINCE6添加个驱动“惊现”奇怪问题,请围观!

[复制链接]
查看11 | 回复10 | 2021-1-27 06:31:07 | 显示全部楼层 |阅读模式
目前在wince6下添加一个对flash格式化的驱动
PSM4(最新版本,带源代码的)
按照说明添加完之后发现:
我在DLLMAIN中添加的打印信息根本不打印
我又在初始化文件中许多函数中添加打印信息
打印信息是用的RETAILMSG(1,.....)
都没有打印
我编译的时候用的是BuildandSysgen
而我在把NK下到板子上之后,通过查看Windows文件夹中所添加的驱动,发现驱动的DLL已经在里面了
之后我又把以前版本的PSM加到BSP中buildandsysgen,依然不能出现我添加的打印信息
之后我又把MSFLASH从public中移植到BSP中,把source修改,之后也可以生成DLL
依然不能出现我添加的打印信息??
请问:
这个现象跟注册表有关系吗?
正常情况下,CE启动之后应该主动调用我的DLLMAIN,再调用init之类的函数,即使我的注册表信息有误,
也应该正常打印出我在DLLMAIN和init中添加的打印信息吧???
谢谢!
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:31:07 | 显示全部楼层
这个现象跟注册表有关系吗?
没关系.
回复

使用道具 举报

千问 | 2021-1-27 06:31:07 | 显示全部楼层
而我在把NK下到板子上之后,通过查看Windows文件夹中所添加的驱动,发现驱动的DLL已经在里面了
---》这只是说明你在platform.bib中把你的驱动包含进内核而已,如果在platform.reg中没有对应你的这个驱动的注册表信息就不会加载你的驱动,比如:
我在platform.bib的MODULES下面把CMC.dll包含进NK中
CMC.dll$(_FLATRELEASEDIR)\CMC.dllNKSHK
但如果不再platform.reg中加入下面的注册表信息
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\CMC]
"Dll"="CMC.dll"
"Prefix"="CMC"
"Order"=dword:0
"Index"=dword:1
如果不加上面的注册表信息,系统在启动的时候是不会加载CMC驱动的,就不会去调用DLLmain函数及初始化函数。
回复

使用道具 举报

千问 | 2021-1-27 06:31:07 | 显示全部楼层
学习一下
WinCE对很多驱动都不能支持,的确值得改进啊。
回复

使用道具 举报

千问 | 2021-1-27 06:31:07 | 显示全部楼层
驱动只有整合到Image中,而没有被加载
加载是通过注册表来实现的
回复

使用道具 举报

千问 | 2021-1-27 06:31:07 | 显示全部楼层
注册表
回复

使用道具 举报

千问 | 2021-1-27 06:31:07 | 显示全部楼层
引用4楼91program的回复:驱动只有整合到Image中,而没有被加载
加载是通过注册表来实现的
UP
回复

使用道具 举报

千问 | 2021-1-27 06:31:07 | 显示全部楼层
最好确认下ce.bib和reginit.ini这两个文件
回复

使用道具 举报

千问 | 2021-1-27 06:31:07 | 显示全部楼层
引用2楼loongembedded的回复:而我在把NK下到板子上之后,通过查看Windows文件夹中所添加的驱动,发现驱动的DLL已经在里面了
---》这只是说明你在platform.bib中把你的驱动包含进内核而已,如果在platform.reg中没有对应你的这个驱动的注册表信息就不会加载你的驱动,比如:
我在platform.bib的MODULES下面把CMC.dll包含进NK中
CMC.dll$(_FLATRELEASEDI……

对的。说和注册表无关的那位,说的还真是暂钉截铁。。哎~~
回复

使用道具 举报

千问 | 2021-1-27 06:31:07 | 显示全部楼层
呵呵!
我的注册表信息:
IFBSP_PSM_DATAVOL
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\PSM1]
"Dll"="PSMFSD.dll"
"Paging"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\PSM2]
"Dll"="PSMFSD.dll"
"Paging"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\PSM3]
"Dll"="PSMFSD.dll"
"Paging"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\PSM4]
"Dll"="PSMFSD.dll"
"Paging"=dword:1
[HKEY_LOCAL_MACHINE\Drivers\Builtin\FlshDrv]
"VolumeNumber"=dword:1
[HKEY_LOCAL_MACHINE\Drivers\Builtin\FlshDrv\PSM1]
"VolumeName"="IPSM1"
;"RamBufferSize"=dword:00100000
"MaxOpenFiles"=dword:0100
"MaxPathLength"=dword:0100
"TimeStampEnabled"=dword:1
"UserReclaimThreshold"=dword:0A
;"BgThreadGroup"=dword:0
"AutoFormatEnabled"=dword:1
"FragmentGranularity"=dword:0400
"FragmentOverheadPerBlock"=dword:0A
[HKEY_LOCAL_MACHINE\Drivers\Builtin\FlshDrv\PSM2]
"VolumeName"="IPSM2"
;"RamBufferSize"=dword:00100000
"MaxOpenFiles"=dword:0100
"MaxPathLength"=dword:0100
"TimeStampEnabled"=dword:1
"UserReclaimThreshold"=dword:0A
;"BgThreadGroup"=dword:0
"AutoFormatEnabled"=dword:1
"FragmentGranularity"=dword:0400
"FragmentOverheadPerBlock"=dword:0A
[HKEY_LOCAL_MACHINE\Drivers\Builtin\FlshDrv\PSM3]
"VolumeName"="IPSM3"
;"RamBufferSize"=dword:00100000
"MaxOpenFiles"=dword:0100
"MaxPathLength"=dword:0100
"TimeStampEnabled"=dword:1
"UserReclaimThreshold"=dword:0A
;"BgThreadGroup"=dword:0
"AutoFormatEnabled"=dword:1
"FragmentGranularity"=dword:0400
"FragmentOverheadPerBlock"=dword:0A
[HKEY_LOCAL_MACHINE\Drivers\Builtin\FlshDrv\PSM4]
"VolumeName"="IPSM4"
;"RamBufferSize"=dword:00100000
"MaxOpenFiles"=dword:0100
"MaxPathLength"=dword:0100
"TimeStampEnabled"=dword:1
"UserReclaimThreshold"=dword:0A
;"BgThreadGroup"=dword:0
"AutoFormatEnabled"=dword:1
"FragmentGranularity"=dword:0400
"FragmentOverheadPerBlock"=dword:0A
ENDIFBSP_PSM_DATAVOL
;------------------------------------------------------------
其中:mainstoneiii.bat:setBSP_PSM_DATAVOL=1
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行