嵌入式Linux内核编程与驱动开发
实验手册
李国斌
合肥学院计算机科学与技术系
实验环节课时安排
实验大类
课时
子实验标题
内容
入门
(必做)
2
。
Source insight工具浏览
内核编译
驱动实验
(必做)
4
(1)
模块基础
(2)
module_init,
module_exit宏
(3)
MODULE_LICENSE
MODULE_AUTHOR等宏
(4)
模块参数的传递功能
简单模块实验(5)
多文件模块的编译
驱动实验
(必做)
6
(1)
添加设备号的注册
(2)
添加设备的注册
(3)
open、release功能
(4)
read功能
(5)
Write功能
(6)
DEBUG控制
(7)
创建PROC结点
(8)
添加ioctl功能
驱动实验
(必做)
6
PIPE实验
PIPE
Poll实验
Poll
异步通知
秒表字符设备
Tasklet实验
Tasklet实验
工作队列实验
工作队列
驱动实验
(选做)
2
LED灯驱动程序编写实验
GPIO
按键中断
编写一个sbull驱动
将一段ram空间模拟为DISK使用。
、内核浏览实验
【实验内容】
利用工具查看内核代码。
【实验目的】
了解 Linux 内核源代码的目录结构及各目录的相关内容。
【实验平台】
【工具介绍】
Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。
【实验练习】:
(1)使用sourceinsight浏览内核源码。熟悉内核中代码的结构。了解内核中KCONFIG和Makefile的作用及含义。
(2)参考其他资料,分析内核中链表的相关代码,熟悉内核中链表的函数及使用。
【实验步骤】
Source Insight安装及内核代码工程配置
安装Source Insight并启动程序,可以进入图1界面。在工具条上有几个值得注意的地方,如图所示,图中内凹左边的是工程按钮,用于显示工程窗口的情况;右边的那个按钮按下去将会显示一个窗口,里边提供光标所在的函数体内对其他函数的调用图,通过点击该窗体里那些函数就可以进入该函数所在的地方。
图1 Source Insight界面图
由于Source Insight实质上是一个支持多种开发语言(Java,C ,C++等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,而被我们当成源代码阅读工具使用。所以,为了有效的阅读源程序,首先必须选择功能菜单上的“Project”选项的子菜单“New Project”新建一个项目,项目名称可以自由选定,当然也可以选择删除(Remove)一个项目。当删除一个项目的时候,并不删除原有的源代码文件,只是将该软件生成的那些工程辅助文件删除。设定之后,将会弹出一个对话框如图2,接受默认选择,如果,硬盘空间足够,可以将第一个复选框选上,该选项将会需要与源代码大致同等的空间来建立一个本地数据库以加快查找的速度。
图2 工程设置
点击“OK”按钮,接受选择后,将会有一个新的对话框弹出,在这个对话框里,可以选择将要阅读的文件加入工程,一种方式是通过在File Name中输入要阅读源代码文件的名称,点击“Add”按钮将其加入,也可以通过其中“Add All”和“Add Tree”两个按钮可以将选中目录的所有文件加入到工程中,其中“Add All”选项会提示加入顶层文件和递归加入所有文件两种方式,而“Add Tree”相当于“Add All”选项的递归加入所有文件,可以根据需要使用,就我来说,更喜欢“Add Tree”一些。由于该程序采用了部分打开文件的方式,没有用到的文件不会打开,所以,加入数千个文件也不用担心加入的文件超出程序的所能容忍的最大值,我就是采用“Add Tree”。
实验手册 来自淘豆网m.daumloan.com转载请标明出处.