5.驱动程序模型和加载实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.驱动程序模型和加载实验

实验五 驱动程序模型和加载实验 1.实验目的: 2.实验任务: 1.构建一个Wince平台; 2. 编写流式接口的驱动程序; 3. 编写驱动测试程序4. 运行驱动和测试程序,查看输出结果3.实验步骤: 图2 Platform Builder5.0启动界面 创建一个定制的操作系统设计方案 选择“File”-“New Platform”,弹出“New Platform Wizard”向导,选择“Next”; 在Name文本框输入“”作为操作系统的名字在%_WINCEROOT%\PBWorkspaces\ DriverModel”如图3,然后选择“Next”; 图3 工作空间的名字和位置 从可以获得的板级支持包列表(BSP)中,选择EMULATOR: X86,如图4(在界面右侧的信息栏中显示该BSP的相关信息),然后选择“Next”; Enterprise Web Pad”,如图5,然后选择“Next”; 图5 选择设计模板 删除“Applications Media”选项,如图6,然后选择“Next”; 图“Applications Media”选项 Networking Communications”选项,如图7,然后选择“Next”; 图“Networking Communications”选项 默认“Next”; 点击” Finish”,完成新平台向导,如图8。 图 编写流式接口的驱动程序 在Platform Builder中选择“File”-“New Project or File”,创建一个“Windows CE Dynamic link library”项目,项目的名称填写“MyDriver”,如图9; 图 “New Project or File”对话框 向导的第一步,默认,然后点击“Next”; 向导的第步选择“A Simple Windows CE DLL”。Platform Builder会为我们生成DLL框架代码。图修改Platform Builder生成的DllMain函数,如下BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch ( ul_reason_for_call ) { case DLL_PROCESS_ATTACH: OutputDebugString(LMyDriver - DLL_PROCESS_ATTACH\n); break; case DLL_PROCESS_DETACH: OutputDebugString(LMyDriver - DLL_PROCESS_DETACH\n); break; case DLL_THREAD_ATTACH: OutputDebugString(LMyDriver - DLL_THREAD_ATTACH\n); break; case DLL_THREAD_DETACH: OutputDebugString(LMyDriver - DLL_THREAD_DETACH\n); break; } return TRUE; } 图DllMain函数之前,如下: DWORD DEM_Init(LPCTSTR pContext, LPCVOID lpvBusContext); BOOL DEM_Deinit( DWORD hDeviceContext ); DWORD DEM_Open( DWORD hDeviceContext, DWORD AccessCode, DWORD ShareMode ); BOOL DEM_Close( DWORD hOpenContext ); BOOL DEM_IOControl( DWORD hOpenContext, DWORD dwCode, PBYTE pBufIn, DWORD dwLenIn, PBYTE pBufOut, DWORD dwLenOut, PDWORD pdwActualOut ); void DEM_PowerUp( DWORD hDeviceContext ); void DEM_PowerDown( DWORD hDeviceContext ); DWORD DEM_Read( DWORD hOpenContext, LPVOID pBuffer, DWORD Count ); DWORD DEM_Write( DWORD hOpenContext, LPCVOID pBuffer, DWORD Count ); DWORD DEM_Seek( DWORD

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档