Arm驱动程序设计--LED灯驱动

Arm驱动程序设计--LED灯驱动

ID:35605961

大小:1.08 MB

页数:19页

时间:2019-03-31

Arm驱动程序设计--LED灯驱动_第1页
Arm驱动程序设计--LED灯驱动_第2页
Arm驱动程序设计--LED灯驱动_第3页
Arm驱动程序设计--LED灯驱动_第4页
Arm驱动程序设计--LED灯驱动_第5页
资源描述:

《Arm驱动程序设计--LED灯驱动》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Arm驱动程序设计LED灯驱动任务要求要求:对开发板上的LED灯点亮实现:两部分1、驱动设计(在linux内核中加入LED驱动)2、应用程序实现(应用程序调用驱动实现点亮)硬件原理图驱动编写第一步:解压源码我们要编写的驱动是对应于LED第二步:进入drivers目录cddriversLED属于字符设备cdchar进入char目录第三步:编写led-test.c驱动源程序geditled-test.c第一步、编写驱动包括6部分1头文件2注册函数3卸载函数找一个类似的驱动打开,编写首先把头文件全部copy4定义设备名#defineDEVICE_NAME"leds“5硬件引脚定

2、义6模块信息#include#include#include#include#include#include#include#include#include#include#include#include#incl

3、ude#include#include#include#include#include#include1加入硬件引脚staticunsignedlonggpio_table[]={S3C2410_GPB5,S3C2410_GPB6,S3C2410_GPB7,S3C2410_GPB8,};staticintleds_init(void){}staticvoidleds_exit

4、(void){}2编写注册函数3编写卸载函数4加入模块信息module_init(leds_init);module_exit(leds_exit);MODULE_LICENSE("GPL");MODULE_AUTHOR("zjl");staticunsignedintgpio_cfg_table[]={S3C2410_GPB5_OUTP,S3C2410_GPB6_OUTP,S3C2410_GPB7_OUTP,S3C2410_GPB8_OUTP,};说明引脚功能,输出staticintleds_init(void){intret;ret=misc_register(&mi

5、sc_leds);if(ret<0)printk("TQ2440ledsinitfailed!");printk("TQ2440ledsinitOK!");return0;}misc说明LED属于混合设备(杂项)staticvoidleds_exit(void){misc_deregister(&misc_leds);printk("TQ2440ledsexitOK!");}编写注册函数编写卸载函数结构体定义结构体misc_ledsstaticstructmiscdevicemisc_leds={.minor=MISC_DYNAMIC_MINOR,.name=

6、DEVICE_NAME,.fops=&dev_leds_fops,};staticstructfile_operationsdev_leds_fops={.owner=THIS_MODULE,.open=leds_open,.ioctl=leds_ioctl,};杂项的次设备号定义结构体dev_leds_fops,staticintleds_open(structinode*inode,structfile*file){printk("TQ2440ledsopend!");return0;}完成结构体中的两个成员函数.open=leds_open,.ioctl=led

7、s_ioctl,staticintleds_ioctl(structinode*inode,structfile*file,unsignedintcmd,unsignedlongarg){switch(cmd){case0:case1:if(arg>4)return-EINVAL;s3c2410_gpio_setpin(gpio_table[arg],cmd);return0;default:return-EINVAL;}}完整的驱动程序#include#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。