hjsaxkc

hjsaxkc

0个粉丝

15

问答

0

专栏

0

资料

hjsaxkc  发布于  2012-12-05 14:31:02
采纳率 0%
15个问答
2991

WindowsCE目录分析3

 
rflat下面是基于GPERotate的显示驱动,想要旋转你的屏幕又不想改硬件的可以来看看。至于vgaflat就是模拟器上使用的那个驱动程序。这段提到的这几个驱动程序都是最最简单的显示驱动程序模版,如果需要自己写显示驱动可以拷贝这些代码保留架构重新实现就可以了,看得出微软在做这些个目录结构的时候还是为大家考虑得比较周到的。这几个驱动都是用在VESA BIOS 2.0 兼容的显卡上的就是说模拟器就可以使用这些驱动,要是想操练显示驱动又没有硬件支持的话,可以用这几个驱动作试验。

剩下的那几个是几种特定的显卡的驱动,PERM3是个比较特别的驱动,这是这些驱动里面唯一支持D3D的显示驱动程序。尽管微软推荐用这几个驱动作为写代码的参考,我还是建议大家用上面提到的XXflat的显示驱动来重新实现会比较清晰。

├─ETHDBG
│  ├─3C90X
│  ├─AM79C970
│  ├─BLCOMMON
│  ├─BOOTPART
│  ├─CS8900
│  ├─DEC21140
│  ├─DP83815
│  ├─EBOOT
│  ├─EDBGSAMP
│  ├─KITLETH
│  ├─NE2000
│  ├─RNE_MDD
│  ├─RTL8139
│  ├─SMC9000
│  ├─SMSC100
│  ├─VBDGSTUB
│  ├─VBRIDGE
│  └─VMINI

ETHDBG下面有很多东西,同样是比较杂。blcommon,bootpart,eboot都是写bootloader所需要的组成部分。我们可以看到platform下面的eboot的代码调用了很多其它的函数,那些函数就是这里的代码生成的,看不懂bootloader?接着这儿的代码一起看相信很快就可以看出结果。blcommon是bootloader的主流程代码,bootpart是bootloader操作hdd或Flash的相关代码,主要是在文件系统层面进行操作比如分区啊什么的,eboot下面包含的内容是tftp和dhcp等网络协议的实现,但不包含hal代码。KITLETH是kitl下以太网transport的硬件无关实现,包含DHCP和UDP协议的实现。

EDBGSAMP下面应该是TCP/Ip transport的实现,目的是通过以太网卡实现调试信息通道,过对这个我没有去验证过不是很确定。

3C90X AM79C970 CS8900 DEC21140 DP83815 NE2000 RTL8139 SMC9000 SMSC100都是针对芯片的驱动代码,bootloader可以利用它们作为ethernet和KITL的HAL,但是必须将这些"驱动"与windowsCE的驱动程序区别开来,这些驱动仅仅是能用于作为操作系统下的HAL使用,而不是系统网络部分的网卡驱动。

RNE_MDD KITLETH  VBDGSTUB VBRIDGE VMINI 都是关于kitl的代码,KITLETH是kitl的以太网传输实现,vbridge和vmini是虚拟网桥和网卡,这两个部分的目的在于建立kitl ethernet transport 的同时windowsCE能共享以太网用作传输。vDBGSTUB是vbirdge的最简实现(啥都不干)。

RNE_MDD是R-ndis的MDD支持。可以与Common\Oak\Drivers\Rndisfn\net2890配合使用.

├─FSD
│  ├─ENCFILT
│  ├─FATUTIL
│  │  ├─MAIN
│  │  ├─NOUI
│  │  └─UI
│  ├─FSDSPY
│  └─REGPART

FSD不用说,就是文件系统驱动了,这个是上层的驱动程序与具体的硬件代码无关。FATUTIL提供了一系列的支持,比如格式化,磁盘扫描这类的程序。ENCFILT里面提供了加密的途径,要加密这里来。而FSDSPY估计是侦测文件系统的,具体使用方法和用途不详。REGPART是一个partition驱动的例子,作用同样也是模版。构建好自己的partition驱动以后可以像调用mspart.dll来操作。

├─GDCFG

这个是Generic Device Configuration是和PCI总线相关的代码,看代码大概是总线设备通常行为管理和控制的用途,由于知识的匮乏,不知道具体干什么用的。

├─GIISR

Generic installable ISR的例子。

├─HELPER

传闻是注册已配置的PCI设备的代码,同样我不清楚。

├─IMEJPN
├─IMEJPP
│  ├─COMMONCODE
│  ├─DICMAKE
│  │  └─BIN
│  └─IMEUI

这两个目录都是输入法-IME相关的,还是不懂。

├─IRMAC
│  ├─INC
│  ├─IRSIR
│  └─UTILS

红外线端口的驱动程序。

├─KEYBD
│  ├─DEVICELAYOUTS
│  │  ├─PS2_AT
│  │  │  ├─00000409
│  │  │  ├─00000411
│  │  │  ├─00000412
│  │  │  └─00010411
│  │  └─REMAP
│  │      └─NUMPADRMP
│  ├─DLL
│  │  ├─KBD8042JPN1
│  │  ├─KBD8042JPN2
│  │  ├─KBD8042KOR
│  │  ├─KBD8042US
│  │  ├─KBDNOPJPN1
│  │  ├─KBDNOPJPN2
│  │  ├─KBDNOPKOR
│  │  └─KBDNOPUS
│  ├─HIDIOCTL
│  ├─INPUTLANGS
│  │  ├─0409
│  │  ├─0411
│  │  └─0412
│  ├─IST
│  ├─LAYMGR
│  ├─NOP
│  │  ├─PDD
│  │  └─PDDLIST
│  ├─PS2_8042
│  └─TEST

键盘驱动及其测试程序。

├─LMEMDEBUG

这个目录下的代码可以使用用户代码进行内存检测,通常用于测试内存泄露和调试,有兴趣还可以参考private\winceos\coreos\core\lmem目录下的内容。

├─MESSAGEDIALOGBOXCUSTOMIZE

这个下面就是大名鼎鼎的MessageBox,想要自己的messageBox?容易啊,改掉这个家伙就可以了。

├─MMTIMER

多媒体时钟。

├─NDISUIO

NDIS usermode I/O driver.用途不明。

├─NETCARD
│  ├─DC21X4
│  ├─DP83815
│  ├─NE2000
│  ├─NE2000ISR
│  ├─NETMUI
│  ├─RNDISMINI
│  │  ├─HOST
│  ├─SMSC100FD
│  └─XIRCOM.CE2

这个目录下面的是网卡驱动.NE2000ISR相当于一个插件使得ne2000本地驱动可以工作在IISR模式下。netmui据说是网络多用户支持,里面的内容简单得看不出怎么个支持法。RNDISMINI是RNDIS的小端口驱动,这相当于一个实现了微软的remote NDIS Specification 的MDD,这个程序与RNDISFN 目录下的PCI-USB界面结合就可以实现rNDIS,RNDISFN目录下面的东西相当于是PDD,Host目录下面的东西是使用RNDISFN作为PDD时,在PC上所需的安装信息文件,另外所需的RNDIS-USB Kit在微软的网站上可以下到。

├─NETSAMP
│  ├─ASYNCMAC
│  ├─AUTORAS
│  │  ├─DLL
│  │  └─TEST
│  ├─CONNMC
│  ├─ETHMAN
│  ├─INC
│  ├─IPCONFIG
│  ├─IPNAT
│  │  └─EDITSAMP
│  ├─IPV6TUN
│  ├─NDISCONFIG
│  ├─NDISPWR
│  ├─NETSTAT
│  ├─PASSTHRU
│  ├─PEGTERM
│  │  ├─APP
│  │  └─TERMCTRL
│  ├─PING
│  ├─RASDIAL
│  ├─RASENTRY
│  ├─RASSERVER
│  ├─RNAAPP
│  ├─ROUTE
│  ├─TAPIHELP
│  ├─TRACERT
│  ├─WZCTOOL
│  └─ZCLOG

这个目录下面的东西包括了整个广域网协议从上到下的各个层面的一些例子和工具,ping netstat route tracert ipconfig这几个是大家再熟悉不过的网络工具了。其他的我也不是很清楚用途。
我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区