`
suoyihen
  • 浏览: 1358827 次
文章分类
社区版块
存档分类
最新评论

ARM-Linux驱动--ADC驱动(中断方式)

 
阅读更多

硬件平台:FL2440

内核版本:2.6.28

主机平台:Ubuntu 11.04

内核版本:2.6.39

原创作品,转载请标明出处:http://blog.csdn.net/yming0221/archive/2011/06/26/6568937.aspx

这个驱动写了好久,因为原来的Linux内核编译的时候将触摸屏驱动编译进内核了,而触摸屏驱动里的ADC中断在注册的时候类型选择的是

IRQF_SAMPLE_RANDOM,不是共享类型,所以,自己写的ADC驱动在每次open的时候,总提示ADC中断注册失败。

解决方案:

重新配置内核,选择触摸屏驱动以模块的形式编译,而不是直接编译进内核,这样Linux在启动的时候不会自动加载触摸屏驱动,当然,IRQ_ADC中断号不会被占用。这样可以测试自己写的ADC驱动了。

以下是驱动源代码:

Makefile文件:

以下是测试代码:

首先新建设备:

mknod /dev/my_adc c 102 32

然后插入驱动 insmod adc.ko

运行测试程序./read

结果如下:

可以看出,调节ad转换器上的旋钮,看到AD转换值的变化,说明驱动工作正常。

分享到:
评论

相关推荐

    史上最强的嵌入式底层驱动开发课程 Linux系统开发+Linux高级程序+主板开发+ARM等

    │ ├47 - ARM异常及中断1 .avi │ ├48 - ARM异常及中断2.mp4 │ ├49 - 第一个裸板试验1.avi │ ├50 - 第一个裸板试验2.mp4 │ ├51 - S5PV210启动原理1.mp4 │ ├52 - S5PV210启动原理2.avi │ ├53 - ARM硬件...

    基于ARM Cortex-A8和Android 4.x的联动报警系统 (Android 、A8、Linux、驱动、NDK)

    第三部分内容,先教大家如何搭建裸机开发环境,然后带领大家一起阅读三星的芯片手册,并编写了LED、蜂鸣器、按键、中断、串口UART、实时时钟RTC、定时器PWM、模数转换ADC等裸机驱动;第四部分,讲解了Linux设备驱动...

    ARM-Lunix嵌入式实验报告

    实验一 嵌入式系统开发环境搭建 实验二 ARM指令集与汇编语言程序设计 实验三 ARM C语言程序设计 实验四 TINY4412 UART 程序设计 实验五 TINY4412 ADC转换程序设计 实验六 TINY4412外部中断程序设计 实验七 Linux...

    ARM Cortex-A8和Android 4.x联动报警系统

    第54节:Android下ADC驱动.zip 第55节:Android下RTC驱动.zip 第56节:Linux内核中断原理.zip 第57节:Android下PWM驱动.zip 五 、综合项目实战 第58节:项目实战之分析设计.zip 第59节:项目实战之音频报警.zip 第...

    嵌入式ARM9-2440实战手册

    针对s3c2440a,通过实例精讲,介绍了arm9嵌入式常用模块的原理和驱动程序实现方法,广嵌教育出品 实验1 ARM 汇编指令编程实验1 实验2 C 和ARM 汇编混合编程实验8 实验3 C 语言实现LED 控制实验15 实验4 外部中断...

    ARM Cortex-A8和Android 4.x的联动报警

    第三部分内容,先教大家如何搭建裸机开发环境,然后带领大家一起阅读三星的芯片手册,并编写了LED、蜂鸣器、按键、中断、串口UART、实时时钟RTC、定时器PWM、模数转换ADC等裸机驱动;第四部分,讲解了Linux设备驱动...

    ARM9嵌入式Linux开发 ppt——周卫老师

    课程的基本内容包括: 嵌入式Linux开发简介  安装交叉编译工具 ... 嵌入式Linux驱动程序开发和移植。 嵌入式系统中的GUI介绍。  MiniGUI图形界面开发。  Qt/Embedded嵌入式GUI开发基础和实例开发

    郭天祥ARM9视频教程(第13和20讲均可观看).docx

    2. ARM编程模型和异常中断 3. S3C2440系统结构及片上资源介绍 4. S3C2440时钟电源管理 5. S3C2440的中断体系结构 第十讲 S3C2440主存储器配置 1. S3C2440存储控制器特性 2. SDRAM原理分析 3. NandFlash原理分析 第十...

    嵌入式ARM9-2440实战手册.pdf

    实验1 ARM 汇编指令...实验24 Linux 驱动程序开发实验270 实验25 QT/Embedded 实验280 实验26 WinCE50 开发实验294 附录一 S3C2440A 启动代码314 附录二 GEC2440 核心板电路图327 附录三 GEC2440 主板电路图335

    嵌入式Linux应用开发完全手册有目录2

    第4篇 嵌入式Linux设备驱动开发篇  第19章 字符设备驱动程序  第20章 Linux异常处理体系结构  第21章 扩展串口驱动程序移植  第22章 网卡驱动程序移植  第23章 IDE接口和SD卡驱动程序移植  第24章...

    嵌入式Linux应用开发完全手册

    第4篇 嵌入式Linux设备驱动开发篇 第19章 字符设备驱动程序 第20章 Linux异常处理体系结构 第21章 扩展串口驱动程序移植 第22章 网卡驱动程序移植 第23章 IDE接口和SD卡驱动程序移植 第24章 LCD和USB驱动程序移植 ...

    嵌入式Linux应用开发完全手册.pdf

    从底层系统支持到上层GUI应用的方方面面,内容涵盖Linux操作系统的安装及相关工具的使用、配置,嵌入式编程所需要的基础知识(交叉编译工具的选项设置、Makefile语法、ARM汇编指令等),硬件部件的使用及编程(囊括了...

    嵌入式Linux应用开发完全手册有目录1(共2个)

    第4篇 嵌入式Linux设备驱动开发篇  第19章 字符设备驱动程序  第20章 Linux异常处理体系结构  第21章 扩展串口驱动程序移植  第22章 网卡驱动程序移植  第23章 IDE接口和SD卡驱动程序移植  第24章...

    Magic ARM 2410

    4.2.2 安装ARM Linux 内核.................161 4.2.3 安装NFS 根文件系统.................162 4.3 构建嵌入式Linux 目标平台 ...............166 4.3.1 相关文件.......................................166 ...

    GEC2410B实验箱教学平台-基础实验教程

    BOOT在GEC2410上的移植..................................................LINUX的LED驱动程序设计..........................................401 5.7 嵌入式GUI开发..................................................

    c语言编写单片机技巧

    要实现单片机与电脑的连接,最简单的方式就是采用串口通讯,但需要加一颗RS-232芯片。 17. 在ARM编程中又应当如何? 答:就以嵌入式系统观念为例,一般嵌入式处理器可以分为三类:嵌入式微处理器、嵌入式微...

Global site tag (gtag.js) - Google Analytics