WinCE 5.0开发

来源:互联网 发布:linux系统监控软件 编辑:程序博客网 时间:2024/06/18 08:38

  写这篇文章,目的是:对自己近段时间总结的东西,做一个记录,以免忘记。

  工作中做项目,大部分时间是在PC上开发,然后将开发好的东西DownLoad到实机上,进行Debugging。因此在项目忙的时候就一直没有多少时间去关注WinCE相关的开发。

  其实WinCE设计的到的东西还是蛮多的。

  先大致列一下,在嵌入式开发中需要注意的大概的几个比较大的方面: 1. 内存的管理; 2. 资源的管理; 3. 程序的运行效率; 4. 进程间的通信; 5. 多线程间的通信和同步; 6. 中断的处理。

  在软件的设计时,一定要时刻牢记: 低耦合和高内聚,我想这也是软件工程中一再强调的,而实际上要真正做到,是需要一定的技术背景的。

  引用设计模式中的一些思想,在软件开发的过程中,有三点原则性的问题需要把握:

1. 找出变化点和不变点,封装变化点。

2. 尽量使用组合,当用组合和继承都解决问题时,优先使用组合。

3. 面向接口编程。

 

  WinCE的框架:

   ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WINCE.v50.en/wceintro5/html/wce50conIntroducingWindowsCE.htm

  这是MSDN上的,已经描述得比较详细了。

  这里解释下几个名词:

  OEM : Original Equipment Manufacture的缩写,意思是:原始设备制造商

  GWES: Graphic Windows and Event System 的缩写,意思是: 图形、窗口、事件系统

  OAL: OEM adaption Layer的缩写,意思是: OEM适配层,我的理解是:操作系统和OEM东西的一个中间层,主要是用来过渡,用来连接OS和OEM。

  Boot Loader: 这个我解释一下,它实际上是属于BSP(Board Support Package:板级支持包)的一部分,是操作系统内核运行之前运行的一小段程序,它的作用比较明显,主要有如下三个:初始化硬件设备,建立内存空间映射,DownLoad运行时刻需要的包。

 

  应用程序(Application)可以和WinCE的API直接交互,即我们通常在程序中直接调用的WinCE的接口。

  在开发一个嵌入式系统时,有些东西是可以定制的,有些是不可以动的,还有些是可以让ISV或OEM去做的。

  注释: ISV就是Independent Software Vendors的缩写,意思是独立软件开发商

  下面简单说说:

  1. 可以让ISV或OEM去做的部分: 应用程序、 OAL、 Boot Loader、 OEM硬件

  2.不可以动的部分: WinCE外壳、 Win32API、 远程连接、 GWES、 TCP/IP/IPv6

  3. 可以定制的部分: 嵌入式外壳, 内核、 设备管理驱动、文件管理驱动等。

  在解释下不可以动的部分就是指MS已经做好了,只要是在CE平台上开发,那么这些东西就不能动; 可以定制的部分就是,用户可以根据自己的需求去定制,你想把它捏成圆的就圆的,想把它捏成方的就方,随便你。

 

  关于Boot Loader的开发, BSP的开发和 OS design另外写,今天先写这么点,希望开个好头!每次自己都信心满满地想写一些东西,可是每次总是被一些事情打断了。希望这次能坚持下来,把WinCE的一些开发知识尽量多写一些出来。

 

原创粉丝点击