- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WinCE5.0、6.0知识总结2
WinCE5.0/6.0知识总结WinCE5.0简介嵌入式系统基础知识基于WinCE的嵌入式系统开发相关的开发软件及说明WinCE自带的远程工具及简介ViewbinViewbin是微软提供的一个命令行工具,在WinCE6.0中,可以在WINCE600PUBLICCOMMONOAKBINI386找到他。Viewbin工具可以用来查看NK.bin文件。它可以从NK.bin中获得这个NK image的大小,运行的起始地址等。还能查看到里面所包含的模块,应用程序及相关的信息。 Viewbin的使用格式如下: viewbin [parameter] [filename] 举几个例子吧: 1. viewbin -nk.bin ViewBin... nk.bin Image Start = 0xC02C0000, length = 0x00D5E380 Start address = 0xC02C1006 Checking record #126 for potential TOC (ROMOFFSET = 0 Found pTOC = 0x8101c8d0 ROMOFFSET = 0 Done. 这条命令可以查看NK image的起始地址,长度等信息,这些信息应该和config.bib文件中定义的一致。 2. viewbin -t nk.bin output.txt 这条命令可以将NK image里面包含的模块及相关信息列成一个表并输出到output.txt里面,这样打开output.txt就可以看到里面包含了哪些模块,其中包括驱动,应用程序等。 3. viewbin -r nk.bin output.txt 打印记录信息到output.txt中。其他相关的工具及简介WinCE5.0的体系结构和功能系统架构内存管理进程、线程与调度存储管理与文件系统注册表注册表主要键的作用[HKEY_LOCAL_MACHINE\Drivers\Active]:所有已经加载的驱动信息都放在该键下;[HKEY_LOCAL_MACHINE\Drivers\Active]:所有要Device.exe加载的驱动都放在该键下面;驱动主要键的作用DLL:指明了该驱动使用的动态库;Prefix:表明驱动的前缀,前缀通常是3个大写的英文字母,通过前缀就知道导出的函数,例如XXX.Init();Index:指定驱动程序的索引。如果为1,那么是CreateFile()函数时第一个参数必须为XXX1;Order:指明驱动程序的加载顺序。值越小加载得越早,这有助于解决驱动程序之间的依赖关系,比如A驱动要用到B驱动,那么可以把A驱动的Order设置得比B驱动大,让B驱动先起来;Friendly Name:是一个字符串,方便用户更好的理解;Ioctl:是一个可选项,设备管理器在驱动加载完毕后会检查这个键,如果有这个键,则通过DeviceIoControl()函数给设备发送Ioctl指定的控制命令;IClass:是个可选项,在处理即插即用提醒时用得到。如果设置了IClass,则在加载驱动程序时,会向注册的应用程序发出此IClass的提醒;Hive注册表和Ram注册表WinCE支持2种注册表类型:RAM-based注册表和Hive-based注册表。开发者可以决定设备采用何种类型的注册表,这对于应用开发者和使用者是透明的。RAM-Based注册表:RAM-Based注册表把注册表信息存放在内存的Object名词解析同步与异步同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。?异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等下才去吃饭。在多数情况下,线程之间难免要相互通信、相互协调才能完成任务。比如,当有多个线程共同访问同一个资源时,就必须保证一个线程正读取这个资源数据的时候,其它线程不能够修改它。这就需要线程之间相互通信,了解对方的行为。再有当一个线程要准备执行下一个任务之前,它必须等待另一个线程终止才能运行,这也需要彼此相互通信。实际开发过程中,线程间需要同步的情况非常多。Windows CE.NET给我们提供了很多的同步机制,熟练的掌握这些机制并合理运用会使线程之间的同步更合理、更高效。进程间的通信机制在下一篇文章中讲解。Windows CE.NET具有两种运行模式:用户模式和内核模式。并且允许一个运行于用户模式的应用程序随时切换为内核模式,或切换回来。线程同步的有些解决办法运行在用户模式,有些运行在内核模式。《Windows核心编程》上说从用户模式切换到内核模式再切换回来至少要1000个CPU周期。我查看过CE下API函数SetKMode的
文档评论(0)