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的一些开发知识尽量多写一些出来。
- WinCE 5.0 开发工具
- WinCE 5.0开发
- Wince 5.0 6.0 7 开发环境
- wince开发起步
- wince开发入门
- wince开发经验汇总
- wince开发入门
- WinCE 开发自定义控件
- WinCE程序开发-1
- WinCE开发资源
- WINCE蓝牙开发
- wince驱动开发
- wince驱动开发
- wince开发点滴
- Wince开发问题集锦
- wince 驱动开发
- WINCE开发点滴
- Wince开发经验分享
- JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
- What's blocking my lock?
- 表中主键,外键 建立规则
- Delphi关键字详解1
- 画框
- WinCE 5.0开发
- C# 禁用 硬件设备
- 优化PHP代码的40条建议
- 让C++更像C#遗留问题解决
- pb11.5 web开发 - 打印
- 【已解决】Asp.net更新SQL Server 2005 NText报错!!
- pb11.5 web开发 - 开发经验谈(小细节、大问题)
- 用Access写的一个山寨程序完工了
- Make点滴学习-----2-MakeFile的规则语法