嵌入式linux系统应用开发

嵌入式linux系统应用开发

ID:41009544

大小:74.50 KB

页数:7页

时间:2019-08-13

嵌入式linux系统应用开发_第1页
嵌入式linux系统应用开发_第2页
嵌入式linux系统应用开发_第3页
嵌入式linux系统应用开发_第4页
嵌入式linux系统应用开发_第5页
资源描述:

《嵌入式linux系统应用开发》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《嵌入式linux系统应用开发》课程设计报告一、实验时间2010年5月20日二、实验地点一实验楼401机房三、小组成员刘威王恒周赛波徐正东李博帅四、指导老师阳俊老师五、实验目的1、熟悉串口通信程序中linux驱动程序;2、能够编写一个字符设备驱动程序的实例。3、会带上必要参数,正确调试程序,能够编写字符设备驱动程序的测试用例;六、实验设备和环境个人计算机一台、Linux系统软件。七、实验内容1、参照书本和老师给的课件调试运行设备驱动程序。2、根据字符设备驱动程序的编写步骤调试程序,理解各函数参数的意思。并能调试驱动程序的测试用例,简单地以输入数字到驱动

2、中,并从驱动中读出此数字来验证驱动程序的正确性。八、实验过程及流程图步骤:a)登录进入linux操作系统,打开命令窗口进入myprojects文建一文件夹取名为charmod命令如下:cd/myprojectsmkdircharmodb)进入charmod文件夹,新建文件globalvar.c,并在其中输入cdcharmod//进入文件夹viglobalvar.c//新建文件globalvar.cc)保存文件进入命令行模式并对其进行编译.d)新建应用层测试文件globalvartest.ce)保存文件并对其进行编译。f)载入驱动模块globalvar.

3、og)创建节点以便于访问设备,其命令如下所示:mknod/dev/globalvarc2540h)运行应用层测试程序声明许可证register_chrdev()注册字符设备structfile_operations填充结构体Read()读设备数据Write()往设备写数据module_init(globalvar_init)初始化设备unregister_chrdev()取消模块注册module_exit(globalvar_exit)卸载模块Ret<0N失败退出Ret<0YNN退出Y字符设备驱动程序流程图源程序代码如下:/*globalvar.c*/

4、#include#include#include#include#include#include#include#include#include#include#include#include#def

5、ineMAJOR_NUM254//定义主设备号为254staticintglobal_var=0;MODULE_LICENSE("GPL");//用来声明一个模块的许可证staticssize_tglobalvar_read(structfile*file,char*buf,size_tlen,loff_t*ppos)//读函数read()完成从设备中读出数据{copy_to_user(buf,&global_var,sizeof(int));//把驱动程序缓冲区的内容放到用户程序中;returnsizeof(int);}staticssize_tgl

6、obalvar_write(structfile*file,char*buf,size_tlen)//写函数write()完成往设备中写入数据{copy_from_user(&global_var,buf,sizeof(int));//把用户程序的内容放到驱动程序缓冲区内;returnsizeof(int);}staticstructfile_operationsglobalvar_fops={read:globalvar_read,write:globalvar_write,};//填充设备驱动程序接口,即函数入口点staticintglobalva

7、r_init(void)//初始化设备{intret;ret=MAJOR_NUM,"globalvar",&globalvar_fops);//此函数用于设备的注册,其中MAJOR_NUM为主设备号,globalvar为设备名,globalvar_fops为包含基本函数入口点的file_operations类型结构体if(ret<0){printk("globalvarregisterfailure");}else{printk("globalvarregistersuccess");}returnret;}staticvoidglobalva

8、r_exit(void){intret;ret=unregister_chrdev(MAJOR

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

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

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