Wince初级篇(转载)

一、初级问答
1、wince驱动它以什么形式存在呢?
dll
2、怎么把它加到wince内核中呢?
platform.bib
3、如何在开机时自动加载内核里面的驱动呢?
platform.reg
4、XIP是什么?
Execute in place (XIP),即本地执行。
本地执行区域中,程序可以在ROM中执行,而不用复制到RAM中,节省了系统资源。
5、访问寄存器
1、#define rRTCCON    (*(volatile unsigned char *)0x57000043) //RTC control
这有点类似absacc.h中XBYTE的定义
2、#define XBYTE   
((unsigned char volatile xdata *) 0)
其中volatile英文愿意为易变的,此处为易变量,是可能指由外部因素改变的变量,如外部设备的寄存器(volatile unsigned char *)0x57000043这个表达式是强制转换0x57000043为易变的无符号指针类型,将其作为地址来使用。
相当于volatile unsigned char *p;
p = 0x57000043;
然后对p进行引用*(volatile unsigned char *)0x57000043也就是指向了寄存器绝对地址为0x57000043,然后按照定义宏的习惯,将之用括号小心的包起来。然后就可以对寄存器进行读写啦。


二、中级问答
1、如何快速编译Wince系统呢?
命令行编译:
"build -c" 命令
"buildrel" 命令
"makeimg" 命令 or 点击build按钮
2、驱动相关
CEC特性目录集合文件---定义
定义要将哪些特性集成到开发环境中,并加入到操作系统镜像中CEC文件简单的说,就是把自己编写的应用程序、驱动程序、第三方驱动加载到Wince.net特性目录中,使建立平台时可以像添加自带特性一样添加自己的特性。
而不是每建一个平台都要在Project.bib,Project.reg,Project.dat中重复写很多东西。 BIB文件 二进制镜像编译文件---加入
定义哪些模块与文件,如何包含在操作系统的镜像中。 REG文件 注册文件
系统冷启动时建立注册键与变量(注册表) 流接口驱动程序
流接口函数使得应用程序可以通过文件系统访问这些驱动程序。
流接口驱动程序几乎支持任何类型的可以连接到基于WINCE的平台的外部设备。
我理解为通过该驱动使得应用程序访问到任何ARM外的设备,比如一个IO,让灯亮。
驱动分为:
本机驱动:WINCE专用驱动(如电源和LED),由GWES管理
流接口驱动:一般的设备驱动程序,以DLL的形式出现单片驱动
分层驱动:
 上层是MDD,模块设备驱动程序model device driver
 下层是PDD,平台设备驱动程序Platform Dependent Driver
中断处理函数armint.c
中断使能cfw.c

包含硬件访问地址的注册表项platform.reg

 

 

posted on 2009-03-31 13:05  呼风唤雨  阅读(270)  评论(0编辑  收藏  举报

导航