嵌入式linux系统应用开发.doc





《嵌入式linux系统应用开发.doc》由会员分享,可在线阅读,更多相关《嵌入式linux系统应用开发.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式linux系统应用开发课程设计报告一、 实验时间2010年5月20日二、实验地点一实验楼401机房三、小组成员刘威 王恒 周赛波 徐正东 李博帅四、指导老师阳俊老师五、实验目的1、熟悉串口通信程序中linux驱动程序;2、能够编写一个字符设备驱动程序的实例。3、会带上必要参数,正确调试程序,能够编写字符设备驱动程序的测试用例;六、实验设备和环境个人计算机一台、Linux系统软件。七、实验内容1、参照书本和老师给的课件调试运行设备驱动程序。2、根据字符设备驱动程序的编写步骤调试程序,理解各函数参数的意思。并能调试驱动程序的测试用例,简单地以输入数字到驱动中,并从驱动中读出此数字来验证驱动程
2、序的正确性。八、实验过程及流程图步骤:a)登录进入linux操作系统,打开命令窗口进入myprojects文建一文件夹取名为charmod命令如下:cd/myprojectsmkdir charmodb)进入charmod文件夹,新建文件globalvar.c,并在其中输入 cd charmod /进入文件夹vi globalvar.c /新建文件globalvar.cc)保存文件进入命令行模式并对其进行编译.d)新建应用层测试文件globalvartest.ce)保存文件并对其进行编译。f)载入驱动模块globalvar.og)创建节点以便于访问设备,其命令如下所示:mknod/dev/gl
3、obalvar c 254 0h)运行应用层测试程序 声明许可证register_chrdev()注册字符设备struct file_operations 填充结构体Read()读设备数据Write()往设备写数据module_init(globalvar_init)初始化设备unregister_chrdev()取消模块注册module_exit(globalvar_exit) 卸载模块 Ret0N 失败退出 Ret0YN N 退出Y字符设备驱动程序流程图源程序代码如下:/*globalvar.c*/#include #include #include #include #include #
4、include #include #include #include #include #include #include#define MAJOR_NUM 254 /定义主设备号为254static int global_var=0; MODULE_LICENSE(GPL); /用来声明一个模块的许可证static ssize_t globalvar_read(struct file*file,char*buf,size_t len,loff_t*ppos) /读函数read()完成从设备中读出数据 copy_to_user(buf,&global_var,sizeof(int); /把驱动
5、程序缓冲区的内容放到用户程序中;return sizeof(int);static ssize_t globalvar_write(struct file*file,char*buf,size_t len) /写函数write()完成往设备中写入数据copy_from_user(&global_var,buf,sizeof(int); / 把用户程序的内容放到驱动程序缓冲区内;return sizeof(int);static struct file_operations globalvar_fops=read: globalvar_read,write: globalvar_write,;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 linux 系统 应用 开发

限制150内