欢迎来到天天文库
浏览记录
ID:27457660
大小:75.00 KB
页数:6页
时间:2018-12-04
《arm11 6410--嵌入式linux驱动程序开发实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、-咨询热线:0769-26980668地址:东莞市莞太路34号创意产业园传真:0769-26980673网址:www.nanfang.net.cn嵌入式学院目录实验2-2Linux驱动程序开发........................................................................................2---咨询热线:0769-26980668地址:东莞市莞太路34号创意产业园传真:0769-26980673网址:www.nanfang.net.cn嵌
2、入式学院实验2-2Linux驱动程序开发¾实验目的体验Linux驱动程序开发¾实验要求1、在PC机上编写Linux驱动代码,并交叉编译2、将驱动模块拷贝到开发板加载验证¾实验步骤1、Linux驱动模块开发(1)、源码位置:实验代码/2-2Linux驱动程序/1_模块演示(2)、源码分析:dev.c:#include#include#includestaticintdev_init(void){printk("loaddrive
3、r!");return0;}staticvoiddev_exit(void){printk("unloaddriver!");}module_init(dev_init);//注册模块加载函数module_exit(dev_exit);//注册模块卸载函数MODULE_LICENSE("DualBSD/GPL");//许可权限说明 ---咨询热线:0769-26980668地址:东莞市莞太路34号创意产业园传真:0769-26980673网址:www.nanfang.net.cn嵌入式学院Makefile:o
4、bj-m:=demo.o#使用demo.o建立模块demo.kodemo-objs:=dev.o#使用dev.o(有多个的话列在这里)建立demo.oKDIR:=/KDIR-X86#内核源码目录PWD:=$(shellpwd)#当前目录defalt:$(MAKE)-C$(KDIR)M=$(PWD)modules#编译模块clean:$(MAKE)-C$(KDIR)M=$(PWD)clean#清空编译(3)、编译模块:make生成驱动模块文件:demo.ko(4)、在PC上加载模块:insmoddemo.ko可以看到控
5、制台上打印出模块加载内核信息:loaddriver!如果是远程登录控制台(如putty登录),可以用dmesg显示该内核信息(5)、卸载模块:rmmoddemo可以看到控制台上打印出模块卸载内核信息:unloaddriver!2、Linux字符设备驱动开发(1)、源码位置:实验代码/2-2Linux驱动程序/2_LED控制演示(2)、源码分析:dev.c#include#include#include#include6、uaccess.h>#include#include---咨询热线:0769-26980668地址:东莞市莞太路34号创意产业园传真:0769-26980673网址:www.nanfang.net.cn嵌入式学院#include"leds.h"#defineLEDS_DEV_NAME"devleds"//led灯设备文件#defineLEDS_DEV_MAJOR240//led灯主设备号//LED灯写操作ssize_tleds_write(structfile*f7、ilep,constchar*buf,size_tcount,loff_t*f_pos){intret=0;unsignedchardata=0;ret=get_user(data,buf);//从应用层获得LED灯端口数据if(ret<0){printk("get_userfailed!");returnret;}printk("datais%x",data);set_leds(data);//设置LED灯returnsizeof(data);}//led灯设备文件操作函数结构体structfile_ope8、rationsdev_fops={.owner=THIS_MODULE,.write=leds_write//.unlocked_ioctl=leds_ioctl,};staticintdev_init(void){intret=0;printk("loaddriver!");init_leds();//初始化LED灯set_leds((u
6、uaccess.h>#include#include---咨询热线:0769-26980668地址:东莞市莞太路34号创意产业园传真:0769-26980673网址:www.nanfang.net.cn嵌入式学院#include"leds.h"#defineLEDS_DEV_NAME"devleds"//led灯设备文件#defineLEDS_DEV_MAJOR240//led灯主设备号//LED灯写操作ssize_tleds_write(structfile*f
7、ilep,constchar*buf,size_tcount,loff_t*f_pos){intret=0;unsignedchardata=0;ret=get_user(data,buf);//从应用层获得LED灯端口数据if(ret<0){printk("get_userfailed!");returnret;}printk("datais%x",data);set_leds(data);//设置LED灯returnsizeof(data);}//led灯设备文件操作函数结构体structfile_ope
8、rationsdev_fops={.owner=THIS_MODULE,.write=leds_write//.unlocked_ioctl=leds_ioctl,};staticintdev_init(void){intret=0;printk("loaddriver!");init_leds();//初始化LED灯set_leds((u
此文档下载收益归作者所有