Session 2: Testing Windows CE .NET

Slides:



Advertisements
Similar presentations
高中新课程思想政治(必 修 1 、 2 )的教学体会 北京师大二附中 李文燕 2008 年西城新课程教师培训的讲稿.
Advertisements

WCI361 Windows Vista WCI361 Windows Vista 运行性能设计与 改进.
学前教育信息化发展及应用 华中师范大学儿童数字化学习研究中心 武汉华大天童教育科技有限公司.
嵌入式系统简介 Introduction to Embedded System
计算机基础知识培训.
计算机网络高级工 梁绍宇.
公司保密工作要求及 院商秘保护工作安排 2014年9月12日.
营 改 增 政 策 交 流 烟台市国家税务局.
硝酸盐.
PT(PulseTrader) 高频程序化交易平台
项目课程与项目教学 行动导向下的 ——江苏省江阴职教中心 沈 彬 2009年12月
湖南省怀化市中小学信息技术 学科考试系统培训交流
三笑数码科技(杭州)有限公司 三笑数码无忧工作站-与其他类似产品比较
第四讲 中文平台与中文操作系统 计算机科学与技术学院.
应聘面试中的人际沟通艺术.
《化工原理》电子教案 主编:王 瑶 韩志忠 主审:匡国柱 都 健 顾问:樊希山 普通高等教育电子教案系列 高等教育电子出版社
第21课 愚公移山.
操作系统结构.
Windows 2000/XP网络组建与系统管理 李燕 中南分校.
Windows Server 2003操作系统相关配置
何从饮食的角度如预防感冒 印 虹.
嵌入式系统应用 概述 随着现代物流业仓储、超市等行业的快速发展,物品流动的速度越来越快,仓储库存周期也越来越短。这样物流仓储盘点行业的压力也越来越大,传统的人工盘点方式已经不能适应现代物流的发展。为了解决这一问题,国际上一些物流先进国家已经采用专业的盘点设备——盘点机,用于物流盘点。 我们选取了一个十分典型的国产盘点机进行介绍。其微处理器选型是采用韩国三星公司生产的S3C2410微处理器,操作系统采用了Windows.
臺北市立松山家商 103學年度第1學期 學校日 教學說明 簡報
DMA2410XP作業系統介紹 WINCE 長高科技 顏旭偉.
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
利用LoadRunner进行 性能测试.
第 3 章 SQL Server 2000 伺服器管理初步.
Session 2: Testing Windows CE .NET
Symbian OS介绍 概述 第一部分.
PDA的紹介及比較 (個人數位助理) 1. 什麼是PDA? 2. PDA的發展 3. PDA的功能 4. PDA的架構
Microsoft Project 2003 Gibson New Microsoft Enterprise Project
嵌入式系統架構 長高科技 顏旭偉.
第1章 .NET与C# 为什么要设计一门新的编程语言? C#在微软的.Net平台中占据什么样的地位?
嵌入式系统设计与开发 第1章 概述 第2章 ARM及其编程模型 第3章 ARM指令集 第4章 嵌入式程序设计
【VA虚拟应用管理平台】专题培训 资源管理及个性化 陕西益和信息技术开发有限责任公司 2011年2月.
R教學 安裝RStudio 羅琪老師.
第1章 嵌入式系统概述 嵌入式系统的发展、定义、特点、组成、分类 嵌入式系统硬件核心、软件核心 嵌入式实时操作系统
作業系統 家庭和小型企業網路– 第二章.
Native Development Kit
DMA-2440XP WinCE5.0安裝與使用 長高科技 顏旭偉.
空中英語教室 影音典藏學習系統.
《网上报告厅》使用说明 北京爱迪科森教育科技股份有限公司.
校 園 雲端輸出管理系統 新印科技股份有限公司 聯絡人:伍宏一 電 話: /
嵌入式操作系统原理 ——Windows CE 第四章 内存管理.
電腦基本故障排除與維護 (軟體) 淡江大學資訊中心教學支援組 劉育辰.
凌宁 系统工程师 亚洲区嵌入式系统事业群 微软(中国)有限公司
Session 2: Testing Windows CE .NET
智慧型手機於網路管理的應用 iPhone 3GS 王雅玲.
微软云计算 --Windows Azure platform
UNIX系統與應用 Spring 2019 (資管三)
運動競賽制度 授課教師:鄭俊傑副教授.
Tour of PDA 電機四 b 莊惠涵.
第1章 SQL Server 2005概述 教学提示:SQL Server 2005是微软的下一代数据管理和分析解决方案,它给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,使得它们更易于创建、部署和管理,从而可以在很大程度上帮助企业根据数据做出更快、更好的决策,提高开发团队的生产力和灵活度,以及在减少总体IT预算的同时,能够扩展IT基础架构以更好地满足多种需求。
请点击以下链接下载WinHEC的演讲材料
【VA虚拟应用管理平台】专题培训 资源管理及个性化 陕西益和信息技术开发有限责任公司 2011年2月.
空中英語教室 影音典藏學習系統.
Advanced Persistent Threat
嵌入式软件开发导论 9. 案例分析:车载实时信息终端 同济大学软件学院 2006.
空中英語教室 影音典藏學習系統.
1 打开 SQL Server 2005 安装盘,单击 SPLASH.HTA 文件进行安装,安装界面如图所示。
动态链接库 主讲人:孙鑫
社会主义核心价值体系的内涵和凝练.
3 上海神计信息系统工程有限公司 2016年4月.
Print Security Audit System
Session 2: Testing Windows CE .NET
第三章 軟體資源管理 授課老師:褚麗絹.
医疗机构电子化注册系统培训 2017年3月.
售后培训系列之V9系统中心安装 SecManage 网安事业部 广州售后-王长绪.
code::blocks 與GLUT 程式開發
作業系統的操作 2019/8/9 明誠中學編製.
Presentation transcript:

Session 2: Testing Windows CE .NET 嵌入式软件开发导论 8. BSP开发 同济大学软件学院 2006 Alan Page, Microsoft

目录 板级支持包(BSP)的开发 标准CETK 测试的使用

板级支持包(BSP) 简介 BSP是在标准开发板上运行的一部分软件,主要功能是支持操作系统的引导与开发。通过BSP我们可以在开发板上快速的启动操作系统以及分析操作系统的性能。有了BSP的支持,各个OEM(原始设备制造商)厂商和独立硬件开发商就可以缩短基于Windows CE平台产品的开发周期。

CPU支持包(CSP) & OEM抽象层(OAL) OAL : OEM 抽象层 位于Windows CE 系统内核和目标板硬件之间,负责操作系统和目标板的通信。由引导程序调用,随后进行目标板的初始化工作,包括中断服务,实时时钟,内部计时器,调试部件,中断使能等等 由硬件 OEM厂商提供

CPU支持包(CSP) & OEM抽象层(OAL) CSP : CPU 支持包 包括用以支持特定CPU和相关芯片的OEM抽象层和设备驱动,这一部分是与特定开发板无关的。 通常由操作系统开发商提供,Win CE操作系统是由微软公司开发的。

板级支持包的组成 内容 描述 引导程序 加载操作系统映象 OEM 抽象层 (OAL) 连接内核映象,支持硬件的初始化和管理 设备驱动 支持相关外围设备以及动态安装的设备 配置文件 可以通过对环境变量、.bib文件和 and .reg文件的修改来重新配置BSP

BSP 架构 硬件抽象层 驱动 配置文件 引导程序 标准开发板 BSP

创建BSP的两种方法 编写全新的BSP 改写现有的BSP 需要编写所有的部分包括 OEM抽象层, 驱动, 引导程序 大约消耗 20人/月工作量 改写现有的BSP 对与目标板具有相似硬件组成的BSP的基础上进行某些改写,使其适用与目标板,这是最简单的方式。

BSP 向导 下面是创建基于Windows CE 的BSP的一般步骤,典型的情况下会产生一个 .cec w文件 Platform -> BSP Wizard

BSP开发流程

引导程序(可选) 如果操作系统映象可以直接引导,引导程序不是必须的 但通常使用一个引导程序,以便日后的扩充。另外也可以用于支持制造过程中的下载测试 引导程序的重要性在于可以支持开发过程中的运行时映象加载功能,也就是说在系统运行过程中,动态加载需要调试的模块

引导程序的功能 初始化目标设备 下载Windows CE 映象到RAM或flash: 内存和中断控制器 设置时钟和内存管理单元 直接引导现存的flash 或RAM 映象 下载之前清空RAM 内存读写测试 下载Windows CE 映象到RAM或flash: 并口 网卡

引导程序的加载

引导菜单

引导程序的开发 实现OEM的应用程序接口(API). 连接Microsoft提供的库

引导程序的任务 黑体字标识的函数需要由OEM厂商来实现.

控制流图 C:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\BLCOMMON

引导程序 – StartUp函数 硬件复位和运行时复位需要执行的第一条指令 设置为超级用户模式 执行必须的硬件初始化: CPU 内存控制器 系统时钟 串口 缓存 快表 (TLBs) 根据使用的CPU修改Startup.s

引导程序 -- EbootMain EbootMain是C代码运行的入口 调用BLCOMMON库 BLCOMMON 库 源文件在 Blcommon.c 文件中,路径为%_WINCEROOT%\Public\Common\Oak\Drivers\Ethdbg directory

引导程序 – OEMDebugInit 用来初始化串行口,作为调试输出 OEMDebugInit初始化完成后, 一个Windows CE的标记会出现,表示这个接口可以使用了.

引导程序 -- OEMPlatformInit 各种OEM 硬件平台初始化函数,包括时钟, PCI接口,或者NIC接口. NIC接口用于下载映象,另外服务于后面一些函数.

引导程序 -- OEMPreDownload 在加载一个运行时映象时首先被BLCOMMON调用. 查找硬件设备的IP地址,并与宿主机相连 如果出错返回-1

引导程序 -- OEMLaunch OEMLaunch 是引导程序的最后一个需要运行的函数. 负责跳转的到需要运行的映象. 跳转到由dwLaunchAddr指定的第一条指令,这条指令在运行时映象的启动函数里.

OAL开发 类似于引导程序的开发 可以重用引导部分的代码

OAL架构

内核开发 黑体显示的函数需要由OEM厂商来实现

内核工作流

KITL 这样的设计可以很容易加入任何调试服务功能 把通信协议和与之直接通信的硬件层分离开来 减少用户在创建硬件独立层的工作量

启动流程 CPU加电,跳转到复位向量 [可选] 引导程序从Startup()开始执行 执行OAL中的Startup() KernelStart() [ KernelInitialize() For x86 ] Kernel调用 OAL中的OEMInit() 完成内核初始化 内核加载Filesys.exe FileSys初始化注册表 内核加载在HKEY_LOCAL_MACHINE\Init 中列出的应用程序

驱动程序开发 参见前面的课程. 利用 BSP Wizard可以添加到BSP中

举例: 分析 Motorola DragonBall BSP

我们系统、完整地学习了 Windows CE 开发流程. 我们已经学习过什么? 我们系统、完整地学习了 Windows CE 开发流程.

从设备制造商得到硬件和 BSP 需要设计硬件? 设计实现你的硬件 为硬件设计BSP 需要定制平台? 从设备制造商处得到平台和 SDK 定制你的 Win CE 平台 导出你的 SDK 编码、测试 发布产品

综述 Windows CE 测试工具包 (CETK) Tux “server” Kato 日志引擎 常规 TUX 测试 设备驱动加载以及TUX扩展(DDLX) 常规 TUX 测试

Session 2: Testing Windows CE .NET CETK 结构 ClientSide.exe is used to communicate with the desktop CETK server. It launches TUX.EXE with the command line options specified from the desktop Server UI. It is possible to load TUX.EXE in a stand-alone fashion without the use of the remote server. Microsoft provides a number of TUX test DLLs for testing common drivers and aspects of the system. You can also create your own test DLLs for custom drivers. Alan Page, Microsoft

Windows CE 测试工具包 (CETK) Microsoft 提供了自动测试体系结构 Client/Server结构支持远端测试 通过 “Tux”加载自动测试 实际的测试是以DLLs的形式通过 TUX加载到系统中 通用日志引擎 “Kato” DLL exposes C and C++ API for logging to the server CETK Server 利用TUX启动特定的测试 保存日志以及产生报告 运行于桌面系统以便进行远程测试

TUX Server TUX.EXE 实际的测试是以 DLL的形式进行的 由远端用户界面应用程序发起运行 也可以在设备上独立运行 监控 TUX 测试 DLLs的程序 实际的测试是以 DLL的形式进行的 通过 TUX.EXE加载测试DLL 由远端用户界面应用程序发起运行 桌面系统上的CETEST.EXE 也可以在设备上独立运行

KATO 日志引擎 DLL :提供 API,以便将测试结果保存成日志 C++ 类库 C 函数 从TUX测试抽象出日志机制 本地文件 远端连接

设备驱动加载以及TUX扩展 (DDLX) 允许测试 DLL加载到设备管理进程空间 允许对APIs和功能的测试仅仅对设备管理模块可用 驱动可以直接为其他驱动提供服务

常规的TUX 测试 TUXSKEL IDE New Project Wizard 产生一个基于TUXSKEL 结构的常规TUX 测试