ARM流驱动编写过程.ppt_第1页
ARM流驱动编写过程.ppt_第2页
ARM流驱动编写过程.ppt_第3页
ARM流驱动编写过程.ppt_第4页
ARM流驱动编写过程.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WinCE6.0 AD驱动开发,主要内容,一、驱动的概念 二、驱动的分类 三、 S3C6410 ADC寄存器 四、 AD驱动开发 五、 AD测试程序设计,驱动的概念,驱动程序是介于操作系统和设备之间的一个代码层,它的主要作用是为操作系统提供一个接口,以操作不同的硬件,包括物理的和虚拟的设备。虽然驱动程序有很多种,但从编程的角度来看,无非是往一个固定的框架中添加相应的代码。这里的框架指的是一个接口,面向操作系统。代码实现的宗旨是,在正确的时间往正确的寄存器中写正确的值。,驱动的分类,按照驱动与系统其它模块(调用者)的接口形式 ,分为本地驱动(Native Drivers)和流驱动(Stream

2、Drivers)。WinCE下的驱动都可以归类到这两个里面,二者必居其一。 流驱动为操作系统提供了流接口函数,如XXX_Init()、XXX_Open()、XXX_Read()、XXX_Write()、XXX_Close()等等。这一类的驱动由Device Manager来管理,它调用ActivateDeviceEx()函数来加载流驱动。 与流驱动相反,本地驱动提供给操作系统的不是标准的流接口,而是事先约定好的特定接口。不同的设备,接口也不一样。WinCE中,常见的本地驱动有LCD显示驱动、触摸屏驱动、鼠标和键盘驱动及打印机驱动等。它们由GWES管理,在系统启动时加载。,S3C6410 ADC

3、寄存器,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 EXPORT

4、S 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 !en

5、dif RELEASETYPE=PLATFORM PREPROCESSDEFFILE=1 TARGETNAME=s3c6410_adc TARGETTYPE=DYNLINK DEFFILE=adc.def DLLENTRY=DllEntry INCLUDES=$(INCLUDES); $(_TARGETPLATROOT)srcdriversDMAs3c6410_dma_lib; TARGETLIBS= $(_COMMONSDKROOT)lib$(_CPUINDPATH)coredll.lib $(_COMMONOAKROOT)lib$(_CPUINDPATH)ceddk.lib $(_TARG

6、ETPLATROOT)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_MACHINEDriversBuiltInadc Prefix=ADC Dll=s3c6410_adc.dll Index=dword:1 Order=dword:0 E

7、NDIF BSP_NOADC !,AD驱动开发,在platform.bib文件中添加以下内容 IF BSP_NOADC ! s3c6410_adc.dll $(_FLATRELEASEDIR)s3c6410_adc.dll NK SHK ENDIF BSP_NOADC !,AD驱动开发,到这里整个AD驱动就编写完成,把整个工程重新编译,下载到开发板就可以使用AD了。,AD测试程序设计,1、打开AD HANDLE m_hADC = CreateFile ( _T (ADC1: ), GENERIC_READ |GENERIC_WRITE , 0, NULL , OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论