新闻中心

EEPW首页>嵌入式系统>设计应用> 基于Linux-2.6.16的高速模数转换器AD7859L的应用

基于Linux-2.6.16的高速模数转换器AD7859L的应用

作者: 时间:2009-03-18 来源:网络 收藏

3.1 平台资源
在2.6内核中将每个设备的资源用结构platform_device描述,该结构体在/include/linux/platform_device.h中定义。驱动的平台资源如下。在文件/arch/arm/roach―s3c2410/devs.c中添加下述结构体。


该宏定义在map.h文件中。第二组描述了设备的中断向量号。flags描述资源类型,设备驱动会根据flags来获取相应的资源信息。在结构体static struct platform_device*smdk2410_devices[]__initdata添加上述s3c_device_ad7859adc平台资源。该结构体在/arch/arm/mach―s3c2410/mach―smdk2410.C文件中定义。
3.2 MISC类设备
的结构体内创建一个miscdevice类型设备驱动的结构体指针,增添一个misc类型设备。该结构体在/include/miscdevice.h中定义。


在AD7859L驱动的probe函数中调用misc_register(stmctmiscdevice*misc)函数,对misc类设备注册,这个函数会为内核注册一个misc类型设备,如果minor被设置为MISCDYNAMIC_MINOR,系统会动态的为该设备分配一个次设备号,用以区分其他的设备。不同类型的设备调用的设备注册和注销函数有所不同。misc类设备的注销函数为misc_deregister(struct miscdevice}misc)。成功均返回零,否则返回一个错误代码。


3.3
测试的程序相对简单,利用open函数打开设备文件,通过ioctl函数设置AD7859L的各个采样参数,包括选择哪几路通道进行采样,采样的时间间隔,采样的方式等等。利用read函数读取缓冲区数据,在程序退出时调用close函数关闭设备文件。

4 结语
AD7859L是一款、低功耗的,在测量行业有着很广阔的前景。随着大家对Linux的认可,嵌入式Linux会被越来越多的人所接受。通过介绍在Linux下以MISC类设备方式开发AD7859L的设备驱动程序,让大家更清楚的理解MISC类型设备的操作方法。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭