149

Click here to load reader

WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

  • Upload
    lykhanh

  • View
    273

  • Download
    17

Embed Size (px)

Citation preview

Page 1: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

WINCE系统与常见应用

华清远见嵌入式培训中心 何英奇

WWW.FARSIGHT.COM.CN

Page 2: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

WindowsEmbedded

Windows Embedded

CE

Windows Embedded

CE

For Handheld

GPS

For STB(Set Top Box)

Windows Embedded NavReady

Windows Mobile

Windows Automotive

Windows XP Emedded

Windows Embedded Starnard

Windows Embedded Enterprise

XP Vista

Windows Embedded POSReady

仅列出部分产品仅列出部分产品

Page 3: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

只能运行在只能运行在X86X86系统下系统下

并非实时系统并非实时系统

可以靠第三方组件实现为实时系统可以靠第三方组件实现为实时系统

与桌面系统完全兼容与桌面系统完全兼容

Page 4: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

1.1. 良好的可裁剪性和可移植性良好的可裁剪性和可移植性

2.2. 具备足以满足绝大多数应用场合的实时性具备足以满足绝大多数应用场合的实时性

3.3. 与与Win32 APIWin32 API的良好兼容性,包括多语言、的良好兼容性,包括多语言、DirectXDirectX等的支持等的支持

4.4. 丰富的应用软件支持,包括对通信,网络丰富的应用软件支持,包括对通信,网络和多媒体等的支持和多媒体等的支持

Page 5: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Windows CEWindows CE的最小可执行内核大小约为的最小可执行内核大小约为200K200K,典型的内核大小为,典型的内核大小为8M8M--20M20M左右左右组件可以灵活的增减,集成开发环境会自组件可以灵活的增减,集成开发环境会自动处理它们之间的依赖性动处理它们之间的依赖性

Windows CEWindows CE目前支持大量的主流嵌入式目前支持大量的主流嵌入式CPUCPU如如X86X86,,MIPSMIPS,,ARMARM,,SuperHSuperH提供了产品级提供了产品级BSPBSP支持,最大限度的减少支持,最大限度的减少移植时间移植时间

Page 6: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

判断标准:最差响应时间,平均响应时间判断标准:最差响应时间,平均响应时间

WinCEWinCE实时性的设计目标实时性的设计目标

WinCEWinCE的实时性基于以下几个方面的实时性基于以下几个方面

采用抢占式多任务内核采用抢占式多任务内核

支持嵌套中断,高优先级中断优先执行支持嵌套中断,高优先级中断优先执行

ISRISR,,ISTIST机制机制强大的进程线程机制强大的进程线程机制

Page 7: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

实现了实现了Win32 APIWin32 API的子集的子集

提供了提供了MFCMFC,,ATLATL等模板支持等模板支持

提供了提供了.NET Framework.NET Framework的支持的支持

COM/COM+COM/COM+,,Win SocketWin Socket等大量与桌面等大量与桌面WindowsWindows相兼容的技术相兼容的技术

提供了多语言支持提供了多语言支持

通过通过ActiveSyncActiveSync等方式方便地与等方式方便地与PCPC连接连接

Page 8: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

提供了提供了IEIE,,MSNMSN,,MS OfficeMS Office,,Windows Windows Media PlayerMedia Player等大量的应用软件支持等大量的应用软件支持

提供了大量的应用支持库如提供了大量的应用支持库如VoIPVoIP支持,各支持,各类多媒体编、解码器类多媒体编、解码器

强大的强大的IDEIDE和调试工具,多种模拟器,帮助和调试工具,多种模拟器,帮助缩短产品的上市时间缩短产品的上市时间

Page 9: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 10: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

工业控制工业控制

仪器仪表仪器仪表

消费类电子消费类电子

PNDPNDPMPPMPMobileMobile

Page 11: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

实时系统实时系统

丰富的丰富的GUIGUI元素元素丰富的通信接口丰富的通信接口

支持众多存储格式支持众多存储格式

强大的数据库功能强大的数据库功能

大量的大量的VCVC程序可以方便的移植过来程序可以方便的移植过来

Page 12: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

HMIHMI机床控制器机床控制器

工业通信服务器工业通信服务器

Page 13: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

实时系统实时系统

丰富的丰富的GUIGUI元素元素丰富的通信接口丰富的通信接口

支持众多存储格式支持众多存储格式

强大的强大的internetinternet访问功能访问功能

Page 14: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

手持协议分析仪手持协议分析仪

车载仪表盘车载仪表盘

基于基于PDAPDA的信号采集、分析设备的信号采集、分析设备

Page 15: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

PND(Portable Navigation Device)PND(Portable Navigation Device)PMP(Portable Media Player)PMP(Portable Media Player)MobileMobile

Page 16: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

丰富的丰富的GUIGUI元素元素内置定位开发内置定位开发SDKSDK丰富的媒体功能丰富的媒体功能

丰富的通信接口丰富的通信接口

强大的强大的internetinternet访问功能访问功能

开发门槛低开发门槛低

Page 17: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

车载导航仪车载导航仪

手持导航仪手持导航仪

Page 18: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

丰富的媒体功能丰富的媒体功能

内置大量的编解码器内置大量的编解码器

丰富的通信接口丰富的通信接口

支持众多存储格式支持众多存储格式

大量的第三方软件可供使用大量的第三方软件可供使用

Page 19: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

PMPPMPNetBookNetBookPDA(HPPDA(HP、、Palm)Palm)

Page 20: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

大量的第三方软件支持大量的第三方软件支持

附带大量的应用程序附带大量的应用程序

丰富的通信协议支持丰富的通信协议支持

Page 21: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

各类各类SmartPhoneSmartPhone

Page 22: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

PLATFORM BUILDER简介

华清远见嵌入式培训中心 何英奇

WWW.FARSIGHT.COM.CN

Page 23: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Platform BuilderPlatform Builder简介简介Platform BuilderPlatform Builder与早期版本的区别与早期版本的区别

远程调试工具远程调试工具

Page 24: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

作为作为Visual StudioVisual Studio的插件的插件

针对针对WinCEWinCE平台的平台的IDEIDE编辑编辑

编译编译

调试调试

Page 25: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

安装Visual Studio 2005或者更高版本

安装VS2005 SP1

安装Platform Builder 6.0

安装Platform Builder 6.0

SP1

安装Platform Builder 6.0

R2

安装2008年的累积补丁包

安装最新的补丁包

Page 26: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

ARM V4(ARM9)

ARM V5(ARM10)

ARM V6(ARM11)

Visual Studio 2005

Visual Studio 2008

Page 27: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Visual Studio 2005 SP1Visual Studio 2005 SP1Visual Studio 2008 SP1Visual Studio 2008 SP1

Page 28: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

可以从网上下可以从网上下载试用版载试用版

Page 29: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

安装安装PB 6.0 R2PB 6.0 R2的前提的前提

Page 30: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

增加了增加了VOIPVOIP等支持等支持

修正了一些修正了一些bugbug网络安装网络安装

可以全部下载到本地再安装可以全部下载到本地再安装

Page 31: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

每年度的累积补丁包每年度的累积补丁包

每个月的最新补丁包每个月的最新补丁包

Page 32: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

目前是目前是2009.12009.1基本上每个月上旬发布上个月的最新补丁基本上每个月上旬发布上个月的最新补丁包包

Page 33: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

开发应用程序有用开发应用程序有用

模拟模拟ARMARM而不是而不是X86X86对于对于BSPBSP开发不是必须的开发不是必须的

Page 34: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

菜单菜单 --> Target > Target --> Remote Tools> Remote Tools提供提供PCPC端调试设备端的系列工具端调试设备端的系列工具

Page 35: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

提供远程文件访问提供远程文件访问

上传下载上传下载

Page 36: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

读取远程设备的当前进程信息读取远程设备的当前进程信息

可以结束进程可以结束进程

Page 37: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

远程注册表编辑器远程注册表编辑器

类似于类似于WindowsWindows自带的编辑器自带的编辑器

可以导入导出可以导入导出

第三方提供设备端的注册表编辑器第三方提供设备端的注册表编辑器

Page 38: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

远程性能监控远程性能监控

用于找出系统瓶颈用于找出系统瓶颈

Page 39: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 40: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

KITLKITLActiveActive SyncSyncTCP/IPTCP/IP

Page 41: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

PlatformPlatform BuilderBuilder 5.05.0及更早版本都是作为一及更早版本都是作为一个独立的个独立的IDEIDE套件发行的套件发行的

从从PlatformPlatform Builder 6.0Builder 6.0开始作为开始作为Visual Visual StudioStudio的一个插件的一个插件

Page 42: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 43: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

WINCE定制、裁剪入门

华清远见嵌入式培训中心 何英奇

WWW.FARSIGHT.COM.CN

Page 44: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

新建一个新建一个WinCEWinCE项目项目裁剪自己需要的系统裁剪自己需要的系统

WinCE CatalogWinCE Catalog简介简介增加自己的特性增加自己的特性

Page 45: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

菜单菜单 --> File > File --> New> New --> Project> Project

Page 46: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 47: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 48: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 49: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 50: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

在在CatalogCatalog对话框内选择需要的组件对话框内选择需要的组件

不同图标的含义不同图标的含义

Page 51: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 52: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 53: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

WINCE编译入门

华清远见嵌入式培训中心 何英奇

WWW.FARSIGHT.COM.CN

Page 54: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

使用使用IDEIDE编译编译方便直观方便直观

缺少灵活性缺少灵活性

使用命令行编译使用命令行编译

需要熟悉各命令的参数需要熟悉各命令的参数

高度可控,可定制高度可控,可定制

Page 55: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

菜单菜单 --> Project > Project --> Properties> PropertiesSysgenSysgenBuild BSP & ProjectsBuild BSP & Projects

Page 56: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

SysgenSysgen生成必须的头文件和库文件,并编译生成必须的头文件和库文件,并编译BSPBSP

Build & Build & SysgenSysgen编译系统目录编译系统目录

Build Current BSP & SubprojectsBuild Current BSP & Subprojects编译当前的编译当前的BSPBSP包包参考文档参考文档

Page 57: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

删除删除Build & Build & SysgenSysgen命令,防止误操作命令,防止误操作

Page 58: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

SysgenSysgenBuild BSPBuild BSP代码代码Make ImageMake Image阶段阶段

Page 59: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

产生所需的头文件产生所需的头文件

产生依赖的库文件产生依赖的库文件

Page 60: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Build BSPBuild BSP代码代码

编译全部编译全部BSPBSP代码代码

Page 61: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Make ImageMake Image阶段阶段

CopyCopy目标代码到最终目录目标代码到最终目录

根据根据bibbib文件从上面的文件生成文件从上面的文件生成.bin.bin文件文件根据需要生成相应的根据需要生成相应的NB0NB0文件文件

Page 62: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

BlddemoBlddemoBuildBuildMake imageMake image

Page 63: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 64: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

存放了项目文件存放了项目文件

包括项目相关的包括项目相关的bib,reg,dbbib,reg,db和和datdat文件文件一般会分为一般会分为DebugDebug和和ReleaseRelease目录目录

Page 65: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

存放各平台的存放各平台的BSPBSP所有对所有对BSPBSP的修改都应该这个目录中进行的修改都应该这个目录中进行

Page 66: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

体系结构相关的一些代码,如体系结构相关的一些代码,如ARM,MIPSARM,MIPS等等CommonCommon里面是体系结构无关的代码里面是体系结构无关的代码

SOCSOC里面是具体某些里面是具体某些CPUCPU的相关代码的相关代码(CSP)(CSP)

Page 67: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

微软公开提供的代码、工具等微软公开提供的代码、工具等

PUBLICPUBLIC\\COMMONCOMMON\\OAKOAK是经常会修改的地是经常会修改的地方方

不要直接修改该目录下的文件不要直接修改该目录下的文件

Page 68: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

微软提供的一些代码和库微软提供的一些代码和库

一般不建议修改,仅供参考一般不建议修改,仅供参考

万一需要修改也不要直接在该目录下改万一需要修改也不要直接在该目录下改

Page 69: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

SDKSDK的意义的意义

SDKSDK的编译的编译

Page 70: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

提供给应用程序提供给应用程序

包含了应用程序开发所必须的头文件和库包含了应用程序开发所必须的头文件和库文件文件

应用程序使用该应用程序使用该SDKSDK编译出来的程序可以编译出来的程序可以直接在设备上运行直接在设备上运行

Page 71: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

通过通过PBPB需要添加自己特殊的一些库文件和头文件需要添加自己特殊的一些库文件和头文件

Page 72: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

修改修改OALLIBOALLIB目录下的文件目录下的文件

SourceSource文件简介文件简介

快速生成新的快速生成新的NKNK

Page 73: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

修改修改OALLIBOALLIB目录下的文件目录下的文件

打开编译命令行打开编译命令行

编译当前目录编译当前目录

Page 74: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

SourceSource文件简介文件简介

查找查找liblib依赖关系依赖关系

编译编译OALEXEOALEXE

Page 75: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

快速生成新的快速生成新的NKNK

Make ImageMake Image

Page 76: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

WINCE系统的调试

华清远见嵌入式培训中心 何英奇

WWW.FARSIGHT.COM.CN

Page 77: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

串口串口//网口输出网口输出

KITLKITLActiveActive SyncSyncCerdispCerdisp

Page 78: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

最基本的调试手段最基本的调试手段

EbootEboot中就要初始化中就要初始化

OEMInitDebugSerialOEMInitDebugSerial为为EbootEboot和和OALOAL共用共用

Page 79: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

共用代码,减少工作量共用代码,减少工作量

以以liblib的形式使用的形式使用

类似于类似于VxWorksVxWorks下的情况下的情况

PQOALPQOAL

Page 80: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Kernel Independent Kernel Independent Transport LayerTransport Layer不依赖内核提供服务,自己不依赖内核提供服务,自己实现通信功能实现通信功能

KITLKITL的架构的架构

可以对内核代码打断点可以对内核代码打断点

Page 81: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

EbootEboot就要初始化就要初始化

OEMKitlInitOEMKitlInitKITLIoctlKITLIoctl和和OEMIoControlOEMIoControl

Page 82: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Kern.exe

Hal.lib

Nk.lib

……

Kernkitl.exe

Hal.lib

Nk.lib

KITL.lib

……

Page 83: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

NK.exe

Kern.dll

kernel.dll

KITL.dll

oal_kitl.lib

nkstub.lib

DriversEthernet Driver Serial Driver

Page 84: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 85: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

SerialSerial因为速度等原因,功能受限制因为速度等原因,功能受限制

EthernetEthernet最简单实用的最简单实用的KITLKITL通路通路

USBUSB最方便的接口最方便的接口

实现起来比较复杂,需要实现实现起来比较复杂,需要实现RNDISRNDIS接口,最接口,最终功能类似于终功能类似于EthernetEthernet

Page 86: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

最常用的接口最常用的接口

Remote ToolsRemote Tools的用法的用法

应用程序应用程序DebugDebugActive Sync over USB/Active Sync over USB/串口串口/Blue /Blue Tooth/Tooth/IrdaIrda…………基于基于PPPPPP协议协议RNDIS/RNDIS/串口串口

Page 87: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

CE Remote DisplayCE Remote Display基于基于TCP/IPTCP/IP

Page 88: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

telnettelnet到客户机到客户机

执行执行cerdispcerdisp ––cccerhostcerhost

Page 89: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

WINCE BOOTLOADER的移植

华清远见嵌入式培训中心 何英奇

WWW.FARSIGHT.COM.CN

Page 90: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

NAND Bootloader(XLDR)

初始化CPU和DDR

搬移Eboot到RAM中

跳转到Eboot,进入保护模式

初始化串口,读取flash中存储等参数,并实现一个简单的

menu等待用户输入

如果需要下载,则根据flash中的参数初始化Ethernet或

USB等

下载,并烧录到nand flash中,校验(需要对坏块进行处理)后等待重启

直接进入NK的跳转地址

Eboot的使命完成

Page 91: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

串行读取串行读取

无法无法XIP(XIP(eXecuteeXecute inin PlacePlace))写入速度快写入速度快

容易产生坏块容易产生坏块(MLC vs. SLC)(MLC vs. SLC)开头开头4K4K采用不同工艺,确保没有坏块采用不同工艺,确保没有坏块

Page 92: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

NAND FlashXLD

R

EBO

OT

NK

File

Sys

tem

Page 93: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

初始化初始化CPUCPU和和DDRDDR搬移自身到搬移自身到RAMRAM中中搬移搬移ebooteboot到到RAMRAM中中跳转跳转

Page 94: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

关闭看门狗关闭看门狗

关中断关中断

关闭关闭MMUMMU清空清空cachecache配置配置DDR controllerDDR controller

Page 95: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

从内部从内部SRAMSRAM copycopy到到DDRDDR中中此处可以修改为直接此处可以修改为直接copy NKcopy NK

Page 96: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

SbootSboot

Page 97: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

除了除了DDRDDR外,其它部分再次初始化外,其它部分再次初始化

配置配置MMUMMU和和cachecache,进入保护模式,进入保护模式

Page 98: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

一般是初始化串口一般是初始化串口

实现一个实现一个menumenu读取保存的参数,如果不存在则使用默认读取保存的参数,如果不存在则使用默认参数参数

Page 99: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

设计了一套设计了一套bootloaderbootloader专用专用APIAPI需要开发者实现其中的大部分函数需要开发者实现其中的大部分函数

作了一些上层封装,简化作了一些上层封装,简化ebooteboot开发流程开发流程

Page 100: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 101: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

设置设置MACMAC地址、地址、IPIP地址、地址、DHCPDHCP等参数等参数

初始化网卡初始化网卡

实现一个实现一个TFTPTFTP serverserver

Page 102: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 103: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

端口号端口号980980下载文件名下载文件名:boot.bin:boot.bin

Page 104: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

根据根据.bin.bin文件中的地址来确定烧写位置文件中的地址来确定烧写位置

可以直接放到可以直接放到RAMRAM中中检测坏块并标记检测坏块并标记

校验校验

等待重启等待重启

Page 105: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

初始化初始化SD controllerSD controller分析文件系统,载入分析文件系统,载入NK.binNK.bin

Page 106: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

OEMLaunchOEMLaunch

Page 107: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

WINCE电源管理

华清远见嵌入式培训中心 何英奇

WWW.FARSIGHT.COM.CN

Page 108: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE
Page 109: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

分为设备电源状态和系统电源状态分为设备电源状态和系统电源状态

两种状态相互独立两种状态相互独立

两种状态通过一系列约束条件耦合两种状态通过一系列约束条件耦合

Page 110: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

设备电源状态 注册表键 描述

Full On D0 电源完全开启,全速运行

Low On D1 在低电源或低性能下提供完全功能

Standby D2 部分供电,等待唤醒请求

Sleep D3 睡眠,仅需等待唤醒的最小电源

Off D4 完全关闭,未供电

Page 111: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

必须实现必须实现D0D0状态状态其它状态都是可选的其它状态都是可选的

D0D0和和D1D1都必须是全功能的都必须是全功能的

驱动程序负责把这五种状态映射为设备可驱动程序负责把这五种状态映射为设备可以接受的电源状态以接受的电源状态

如果系统要求设备进入一个不被支持的状如果系统要求设备进入一个不被支持的状态,驱动可以让设备进入一个略低的状态,态,驱动可以让设备进入一个略低的状态,比如要求进入比如要求进入D2D2而设备不支持,则可以进而设备不支持,则可以进入入D3D3或更低或更低

Page 112: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

注册表中定义注册表中定义

可以自己定义任何状态可以自己定义任何状态

需要开发者修改电源管理部分的代码以支需要开发者修改电源管理部分的代码以支持自定义系统电源状态持自定义系统电源状态

Page 113: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

ONON:用户主动持续使用设备:用户主动持续使用设备

UserIdleUserIdle:用户有一段时间未与设备交互,:用户有一段时间未与设备交互,但仍可能使用但仍可能使用

SystemIdleSystemIdle::UserIdleUserIdle状态维持一段时间后状态维持一段时间后

进入此状态,但驱动和系统进程仍然是活进入此状态,但驱动和系统进程仍然是活动状态动状态

SuspendSuspend:驱动和系统进程不再交互:驱动和系统进程不再交互

ColdReboot&RebootColdReboot&Reboot:重新启动:重新启动

Page 114: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

系统电源状态定义了所有设备的默认电源系统电源状态定义了所有设备的默认电源状态状态

系统电源状态还可以对单个设备定义该状系统电源状态还可以对单个设备定义该状态下的电源状态态下的电源状态

该状态为最大电源状态该状态为最大电源状态

Page 115: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

应用程序可以灵活的管理各设备的电源状应用程序可以灵活的管理各设备的电源状态态

丰富的查询方式丰富的查询方式

设置最小电源状态设置最小电源状态((比如媒体播放器与比如媒体播放器与LCD)LCD)如果该设置超过当前系统电源状态,会自如果该设置超过当前系统电源状态,会自动覆盖系统电源状态动覆盖系统电源状态

多个请求冲突时,电源管理器自动选择最多个请求冲突时,电源管理器自动选择最高电源状态高电源状态

Page 116: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

应用程序建立一个点对点消息队列应用程序建立一个点对点消息队列

将此队列向电源管理器注册将此队列向电源管理器注册

电源管理器通过此队列通知应用程序电源状态电源管理器通过此队列通知应用程序电源状态事件事件

应用程序可选择自己需要关注的电源事件应用程序可选择自己需要关注的电源事件PBT_RESUMEPBT_RESUME从休眠状态中恢复从休眠状态中恢复

PBT_POWERSTATUSCHANGEPBT_POWERSTATUSCHANGE交流电源和电池交流电源和电池供电状态切换供电状态切换

PBT_TRANSITIONPBT_TRANSITION系统电源状态改变系统电源状态改变

PBT_POWERINFOCHANGEPBT_POWERINFOCHANGE系统电池或者交流电系统电池或者交流电源信息改变源信息改变

Page 117: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

系统电源状态规定了设备电源状态的最大系统电源状态规定了设备电源状态的最大值值

应用程序可以规定设备电源状态的最小值应用程序可以规定设备电源状态的最小值

驱动程序可以在这两个状态间自由管理设驱动程序可以在这两个状态间自由管理设备状态备状态

Page 118: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

驱动程序接口驱动程序接口

应用程序接口应用程序接口

提醒接口提醒接口

OALOAL接口接口设备管理器接口设备管理器接口

Page 119: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

接口接口

接口 描述

IOCTL_POWER_CAPABILITIES

Requests that the device inform Power Manager which power states it supports and what their characteristics are.

IOCTL_POWER_SET Requests that the device update its device power state.

IOCTL_POWER_QUERY Asks the device if it is ready to go into a new device power state.

IOCTL_POWER_GET Requests that the device inform Power Manager of its current device power state.

IOCTL_REGISTER_POWER_RELATIONSHIP

Notifies the parent device to register all devices it controls.

Page 120: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Function Description

DevicePowerNotifyUsed by device drivers to request that Power Manager update their device power state.

RegisterPowerRelationshipUsed by bus drivers and other proxy power managers to intercept all power IOCTLs for a device.

ReleasePowerRelationshipTerminates the proxy relationship initiated by a call to RegisterPowerRelationship.

Page 121: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Function Description

GetSystemPowerState Returns the name of the current system power state.

SetSystemPowerState Requests that Power Manager change the current system power state.

SetPowerRequirementRequests that Power Manager maintain the power state of a device at a minimum level.

ReleasePowerRequirement

Informs Power Manager that it no longer needs to maintain the device minimum power state set in a previous call to SetPowerRequirement.

GetDevicePower Returns the current power state of a device.

SetDevicePower Requests that Power Manager change the power state of a device.

Page 122: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Function Description

RequestPowerNotifications Requests that Power Manager send notification of power events.

StopPowerNotifications Cancels a notification request made with RequestPowerNotifications.

Page 123: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

OEMIdleOEMIdle无任何线程处于运行或者就绪状态时由无任何线程处于运行或者就绪状态时由kernelkernel调用调用

OEMPowerOffOEMPowerOff关机关机

Page 124: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

XXX_PowerDownXXX_PowerDownXXX_PowerUpXXX_PowerUp仅由设备管理器而不是电源管理器管理仅由设备管理器而不是电源管理器管理

限制过多,不建议使用限制过多,不建议使用

Page 125: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

一些系统特性的应用

华清远见嵌入式培训中心 何英奇

WWW.FARSIGHT.COM.CN

Page 126: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Multiple BinMultiple BinBinFSBinFS快速启动快速启动

Page 127: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

将传统的将传统的NK.binNK.bin分割成多个独立的分割成多个独立的binbin为什么要这样做?为什么要这样做?

Page 128: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

Linux : kernel + Linux : kernel + 文件系统文件系统

Page 129: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

分别更新分别更新

可以放在不同位置,增强安全性可以放在不同位置,增强安全性

可以节省某些高成本的存储器件可以节省某些高成本的存储器件

Page 130: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

灵活性灵活性

隔离隔离

Page 131: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

可以部分更新、修正可以部分更新、修正bugbug等等用户可以更新用户可以更新imageimage

Page 132: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

一般用途一般用途

XIPXIP系统系统非非XIPXIP系统系统

Page 133: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

从不同的存储区域加载,如从不同的存储区域加载,如SDSD卡、卡、FlashFlash等等可以分别更新可以分别更新

Page 134: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

eXecuteeXecute In PlaceIn Place一般用于一般用于NOR FlashNOR Flash或者或者ROMROM占用较少占用较少RAMRAM速度慢速度慢

只读只读

Page 135: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

速度快速度快

占用占用RAMRAM空间空间可以动态修改可以动态修改

Page 136: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

允许部分代码允许部分代码XIPXIP,而部分代码在,而部分代码在RAMRAM中执中执行,取长补短行,取长补短

Page 137: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

可以在不同位置灵活的放置各段可以在不同位置灵活的放置各段imageimage可以和可以和BinFSBinFS结合起来实现快速启动等特性结合起来实现快速启动等特性

Page 138: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

更改更改bibbib脚本脚本,,分割出多个分割出多个.bin.bin文件文件生成多个生成多个.bin.bin文件以及一个二进制描述文件文件以及一个二进制描述文件(nb0)(nb0)更改加载部分的代码更改加载部分的代码

Page 139: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

Page 140: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

此处的此处的BinBin文件是文件是MSMS定义的,包含位置信息定义的,包含位置信息

经过了简单压缩经过了简单压缩((去掉空白区域去掉空白区域))NB0NB0是传统意义上的是传统意义上的binbin文件文件

Page 141: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

可以分别加载可以分别加载

也可以一次加载也可以一次加载XIP.binXIP.binOEMMultiBINNotifyOEMMultiBINNotify实现自动分析实现自动分析

Page 142: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

为什么需要为什么需要BinFSBinFS??什么是什么是BinFSBinFS使用使用BinFSBinFS的优点的优点

如何实现如何实现BinFSBinFS

Page 143: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

NAND FlashNAND Flash无法无法XIPXIP全部读取到全部读取到RAMRAM执行,则不必要的代码占执行,则不必要的代码占用太多用太多RAMRAM影响启动速度影响启动速度

Page 144: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

PCPC机是如何执行硬盘上的程序的机是如何执行硬盘上的程序的

BinFSBinFS将整个将整个.bin.bin文件看作是一个只读的区文件看作是一个只读的区域域

根据需要动态加载所需的文件到根据需要动态加载所需的文件到RAMRAM中,中,实现虚拟的实现虚拟的XIPXIP

Page 145: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

大幅减少大幅减少RAMRAM的占用,只加载需要的文件的占用,只加载需要的文件到到RAMRAM中中减少加载时间,不必将整个减少加载时间,不必将整个.bin.bin文件载入到文件载入到RAMRAM中中加载速度略受影响加载速度略受影响

Page 146: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

更改注册表即可实现,基本不需要改动代更改注册表即可实现,基本不需要改动代码码

Page 147: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

基于基于NANDNAND的的WinCEWinCE启动的过程启动的过程

如何减少启动时间如何减少启动时间

Page 148: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

NAND Bootloader Eboot Load NK.bin

-> RAM

跳转开始执行整个OAL的初始化

流程进入系统

Page 149: WINCE系统与常见应用 华清远见嵌入式培训中心何英奇download.hqyj.com/download/pdf/Farsight090309WinCE-iic2009.pdf · 作为Visual Studio的插件 针对WinCE平台的IDE

无法显示图像。计算机可能没有足够的内存以打开该图像,也可能是该图像已损坏。请重新启动计算机,然后重新打开该文件。如果仍然显示红色“x”,则可能需要删除该图像,然后重新将其插入。

NAND Bootloader

Eboot(可以跳过)

加载NK -> RAM(可以只加载部分.bin)

跳转执行OAL的初始化流程

初始化其它部分的.bin,按需加载