ARM流驱动编写过程.pptVIP

  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文档。上传文档
查看更多
ARM流驱动编写过程

WinCE6.0 AD驱动开发 主要内容 一、驱动的概念 二、驱动的分类 三、 S3C6410 ADC寄存器 四、 AD驱动开发 五、 AD测试程序设计 驱动的概念 驱动程序是介于操作系统和设备之间的一个代码层,它的主要作用是为操作系统提供一个接口,以操作不同的硬件,包括物理的和虚拟的设备。虽然驱动程序有很多种,但从编程的角度来看,无非是往一个固定的框架中添加相应的代码。这里的框架指的是一个接口,面向操作系统。代码实现的宗旨是,在正确的时间往正确的寄存器中写正确的值。 驱动的分类 按照驱动与系统其它模块(调用者)的接口形式 ,分为本地驱动(Native Drivers)和流驱动(Stream Drivers)。WinCE下的驱动都可以归类到这两个里面,二者必居其一。 流驱动为操作系统提供了流接口函数,如XXX_Init()、XXX_Open()、XXX_Read()、XXX_Write()、XXX_Close()等等。这一类的驱动由Device Manager来管理,它调用ActivateDeviceEx()函数来加载流驱动。 与流驱动相反,本地驱动提供给操作系统的不是标准的流接口,而是事先约定好的特定接口。不同的设备,接口也不一样。WinCE中,常见的本地驱动有LCD显示驱动、触摸屏驱动、鼠标和键盘驱动及打印机驱动等。它们由GWES管理,在系统启动时加载。 S3C6410 ADC寄存器 AD驱动开发 1、编写创建adc.h和adc.c文件,实现以下函数: ADC_Init 初始化一个设备 ADC_Open 打开一个设备 ADC_Write 写数据设备 ADC_Read 从设备读数据 ADC_Close 关闭设备 ADC_Deinit 卸载一个设备 ADC_Seek 移动设备的数据指针 ADC_PowerUp 恢复对设备供电 ADC_PowerDown 结束对设备供电 ADC_IOControl 发送一个命令到设备 AD驱动开发 2、编写def文件 def文件指明了驱动实现的流接口函数名称,新建一个adc.def文件,写入如下内容: LIBRARY ADC EXPORTS DllEntry ADC_Init ADC_Deinit ADC_Open ADC_Close ADC_Read ADC_Write ADC_Seek ADC_IOControl ADC_PowerDown ADC_PowerUp AD驱动开发 3、编写Makefile 新建一个Makefile文件,写入以下内容: !INCLUDE $(_MAKEENVROOT)\makefile.def AD驱动开发 4、编写sources文件 sources文件主要是指明编译时的一些条件,新建一个sources文件,添加以下内容: !if $(BSP_NOADC) == 1 SKIPBUILD=1 !endif RELEASETYPE=PLATFORM PREPROCESSDEFFILE=1 TARGETNAME=s3c6410_adc TARGETTYPE=DYNLINK DEFFILE=adc.def DLLENTRY=DllEntry INCLUDES=$(INCLUDES);\ $(_TARGETPLATROOT)\src\drivers\DMA\s3c6410_dma_lib; TARGETLIBS=\ $(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \ $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib \ $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\DriverLib.lib SOURCELIBS=\ $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\s3c6410_dma_lib.lib SOURCES=adc.cpp AD驱动开发 5、修改platform.reg文件和platform.bib文件 在platform.reg文件中添加以下内容 IF BSP_NOADC ! [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\adc] Prefix=ADC Dll=s3c6410_adc.dll Index=dword:1 Order=dword:0 ENDIF BSP_NOADC ! AD驱动开发 在platform.bib文件中添加以下内容 IF BSP_NOADC ! s3c6410_adc.dl

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档