• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于Linux的MISC类设备AD7859L的驱动程序开发

基于Linux的MISC类设备AD7859L的驱动程序开发

录入:edatop.com     点击:

从2.6版本内核开始引入了platform这个概念,在开发底层驱动程序时,首先要确认设备的地址、中断向量号。在内核中添加AD7859L的地址、中断号、设备节点名。设备驱动在加载时首先需要调用的入口函数module_init(),该函数完成设备驱动的初始化工作,如寄存器置位、结构体赋值等,其中最重要的工作就是向内核注册该设备。在应用程序中打开设备文件,然后利用ioctl()函数向驱动传递各种控制命令。每一次A/D转换完成后都会产生中断,调用中断响应函数,将转换好的数据写到缓冲区中。当用户需要读取A/D转换的数据时,通过调用read()函数,读取缓冲区数据。驱动程序结构如图1所示。

3.1 平台资源

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

该宏定义在map.h文件中。第二组描述了AD7859L设备的中断向量号。flags描述资源类型,设备驱动会根据flags来获取相应的资源信息。在结构体static struct platform_device*smdk2410_devices[]__initdata添加上述s3c_device_ad7859ADC平台资源。该结构体在/arch/arm/mach—s3c2410/mach—smdk2410.C文件中定义。

来源:21IC电子网

上一篇:I2C总线通信技术在球形机器人双DSP控制系统中的应用
下一篇:流量监控:支撑EVDO网络精细化运营

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图