当前位置:文档之家› Windows_CE嵌入式系统开发从基础到实践

Windows_CE嵌入式系统开发从基础到实践

3. 分类:实时系统、分时系统、多任务系统、网络操作系统 4. BSP:
a) BSP与通用计算机领域中的BIOS b) BIOS功能:自检及初始化计算机、程序服务处理及硬件中断处 理、程序服务请求 c) BSP以嵌入式操作系统“驱动程序”的身份出现,与BIOS区别
i. BSP始于操作系统相适应的,但BIOS却是和主板相适应的 ii. 可以对BSP做修改,BIOS一般不能改 iii. 一个BSP对应一个硬件和一个嵌入式操作系统,而一个BIOS
件系统驱动)控制文件系统。注册文件系统(Registered File System),包括三类:RELFSD(Release-Directory File System)、 对象存储系统(RAM File System)和ROM文件系统。 6. Wince6.0注册表存放了与应用程序、驱动、用户设置、其他配置等 相关的数据。有两种方式实现注册表:a.基于RAM的注册表RAMBased Heap File;b.基于HIVE的注册表Hive-Based Registry。前者掉电 丢失,需备份,但是效率高。后者掉电不丢失,但效率相对较低。 7. Windows Embedded CE6.0的注册表有四个根键:
6 sdk 第7章 应用编程接口
1. 应用编程接口(API)、DLL、导入库和一些示例代码构成了一个 SDK(Software Development Kit,软件开发工具包)
2. Windows API a) 特点:通用,高效,轻量。 b) 分类:系统管理、诊断、图形和多媒体、网络、安全、系统服务、 用户接口。 c) 生成步骤:
第3章 Windows CE的体系结构
1. 层次划分:Windows Embedded CE6中分为User Mode(用户模式)
和Kernel Mode(内核模式)
2. Windows
Embedded
CE6支持4种CPU体系结构:
ARM/MOPS/X86/SHx
3. NK.exe是OAL进程,内核KERN.DLL是伴随着OAL启动的,NK.exe
iv. 进程内所有线程自动终止运行。 9. NK.exe,device.exe和Filesys.exe是任何一个Windows CE都必须具备
的进程。 10. wince中,线程可以运行在用户态或内核态,核心态区别于用户态是
因为处在核心态的线程可以访问系统保留的2gb地址空间而不引发访 问违例异常。推荐将结构良好运行稳定的必要线程运行在核心态。 11. 线程创建: HANDLE CreateThread { LPSECURITY_ATTRIBUTES lpsa, DWORD cbStack, LPTHREAD_START_ROUTINE lpStartAddr, LPVOID lpvThreadParam, DWORD fdwCreate, LPDWORD lpIDThread, }; 12. 线程终止方法: v. 线程自动函数返回。(最好方法) vi. ExitThread()函数。只能撤销调用线程。不能很好的释放所有资
是核心
应用程序
K.Coredll.dll
本地进程服务
Win32 APIs

Kenel.dll
NK.lib
虚拟内存
进程线程 进程切换
高度
加载器
同步
初始化 中断处理
进程调度
内存映射文件
DLL接口
进程接口
硬件抽象
内存映射
中断 中断处理
总线映射
Oal.exe
对象存储系统
Hale Waihona Puke 图形、窗口、事件管理器设备管理器
硬件
4. 驱动程序:一般会被一下三种进程加载:文件系统Filesys.dll、设备
终止 运行
8. 进程终止四种方法: i. WinMain()调用返回。(最佳方法) ii. 主线程调用ExitThread()。主线程退出,进程退出。
iii. TermianteProcess()退出。无条件终止进程,一般用于一个进程 关闭另外一个进程,当然,线程也能调用它来关闭自己所处的 进程。
i. HKEY_CLASSES_ROOT:保存文件类型相关数据和OLE配置。 ii. HKEY_CURRENT_USER:用户数据 iii. HKEY_LOCAL_MACHINE:设备相关数据和设备驱动和应用程
序。 iv. HKEY_USERS:存放所有用户共用数据。 8. 存储管理器:(Storage Manager)通过Filesys.dll来实现,一般用它 来对块存储设备进行管理,一般由以下部分组成: v. 块驱动程序 vi. 分区驱动程序 vii. 文件系统驱动程序 viii. 文件筛选器filter
i. 生成*.res文件 ii. 生成*.obj文件 iii. 生成PE文件 3. MFC: a) 特点:封装,继承,虚拟函数和消息映射(多态) b) Wince6.0中的CEDB是桌面Windows没有的数据库,所以有桌面 MFC没有的类。 4. ATL:(ActiveX Template Library,ActiveX模板库)是完全面向 COM的组件。 特点:高度自动化,代码简洁、功能灵活强大。 5. .Net Compact Framework:是.Net Framework的子集,它实现了全部 功能库的30%
态法”,“三态法”几种。
4. 在Windows中,可以被加载的模块有两种,dll和exe 5. wince进程与Windows操作系统的区别:
a) 不支持环境变量。 b) 没有当前目录的概念 c) 不支持安全。 d) 不支持句柄继承。
6.
1. 进程的创建: BOOL CreateProcess {
i. 没有内核对象的方法,运行在用户态,特点是运行效率较高, 但是不能够进行进程间的同步。这类方法有关键区和互锁函 数。
ii. 有内核对象的方法,运行在内核态,特点是可以跨进程,但效 率相对较低。这类方法有互斥体、信号量和事件。
b) 描述 i. 关键区(Critical Section)主要针对代码段进行控制。 ii. 互锁函数(Interlocked)主要用来对变量或者指针进行一些同步 操作。
3. 嵌入式系统的组成: 硬件上:处理器、存储系统、输入输出设备、网络与通信模块、I/O单 元。 软件上:应用软件、操作系统软件、板载支持包BSP(Board Support Package) 第2章 嵌入式操作系统
1. 软件结构: 由下到上:BSP,嵌入式操作系统,应用软件
2. 嵌入式操作系统的组成结构: 又下到上:内核、初始进程、Boot Loader驱动程序、应用程序文件系 统、TCP/IP协议簇
对应一个硬件和多个操作系统 iv. BSP中可以加入非系统必须的东西 d) BSP特点:操作系统相关性、硬件相关性 e) 主要工作:系统初始化、硬件相关的设备驱动 5. 嵌入式操作系统选择原则: 许可方式和许可费用、源代码的开放性、调试和开发工具、模块化情 况、驱动程序及硬件支持性、调试和开发工具、模块化情况、驱动程序 及硬件支持性、存储器占用情况、对硬件设备的要求、当前应用规模、 目标系统规模及性能要求
第5章 Windows CE的存储系统 1. 存储系统:内存管理和文件系统。前者主要负责系统内存的管理、 分配等,主要涉及虚拟地址空间、物理地址映射等。后者主要负责 内存以外的各种存储设备管理,对象存储、文件系统、注册表、数 据库、存储管理器。 2. wince内存结构: 程序 运行时库 逻辑内存 虚拟内存
源。 vii. TerminateThread()函数。撤销所有线程。但不知道能否真正撤
销。 viii. 线程所在进程被终止。 13. 纤程是一种自己控制其运行情况的特殊线程。内核并不知道纤程, 它是非抢占式的调度。除非有涉及良好的结构,否则不建议使用。 14. 线程的调度:
ix. Windows CE使用了基于优先级的时间片轮转算法对线程进行调 度。
LPCWSTR pszImageName, LPCWSTR pszCmdLine, LPSECURITY_ATTRIBUTES pszProcess, LPSECURITY_ATTRIBUTES pszThread, BOOL fInheritHandles, DWORD fdwCreate, LPVOID pvEnvironment, LPWSTR pszCurDir, LPSTARTUPINFOW psiStartInfo, LPPROCESS_INFORMATION pProcInfo. }; Wince中,由于不支持安全、句柄继承、环境变量和当前目录。所以简化为 BOOL CreateProcess { LPCWSTR pszImageName, LPCWSTR pszCmdLine, NULL NULL FALSE, DWORD fdwCreate, NULL, NULL, NULL, LPPROCESS_INFORMATION pProcInfo. };
iii. 互斥体(Mutual Exclusion),如果一个线程需要使用互斥体, 前提是这个互斥体当前没有被别的线程使用,如果互斥体已经 被其他线程使用,这个线程就进入阻塞状态。
iv. 信号量(Semaphore)互斥体对象只能被一个线程所使用而信号 量对象可以同时被多个线程使用,但使用的线程数有一个上 限。
管理器device.dll、图形窗口事件管理器GWES.dll
第4章 进程和线程
1. PCB(Process Control Block,进程控制块)是进程存在的标志。程
序、数据和PCB是进程的三大组成部分。
2. 进程的执行情况,顺序执行和并发执行。
3. 采用多道程序技术的操作系统,对于进程的划分,有“七态法”,“五
物理内存 3. RAM/ROM/闪存: 在嵌入式操作系统中都可以用做内存。RAM丢电丢失,ROM和闪存不 会。大多数程序需要调到RAM中再执行。ROM中压缩状态的程序需要调 到RAM,非压缩的可以直接执行,叫XIP(eXecute In Place就地执行)。 闪存为了减少ROM的空间不足而产生,具有速度高容量大的优点。 4. wince6与wince5对比: a) 系统启动没有加载MMU(Memory Management Unit,存储管理单元) 是,只能访问物理地址。加载后映射虚拟地址。 b) Wince5虚拟内存模型,4GB的虚拟地址空间被划为两部分: 0x8000000到0xFFFFFFFF是内核空间,0x00000000到0x7FFFFFFF为用户 空间。每个进程32MB的虚拟地址空间。最多32个进程(包括内核中的 NK.exe) c) Wince6与xp的虚拟内存模型相似。 5. Windows CE6.0有两种类型的文件系统:FSDs(File System Drivers,文
相关主题