实验五 嵌入式Linux内核编程实验,嵌入式系统设计实验五.doc

嵌入式系统设计实验五

合肥学院

嵌入式系统设计实验报告

(20 13- 2014第2学期)

专 业: 11级自动化卓越班

实验项目: 嵌入式Linux设备驱动开发实验

实验成员:

指导老师: 干 开 峰

实验时间: 2014 年 5 月 23 日

电子信息与电气工程系

2014年4月制

实验五 嵌入式Linux设备驱动开发试验

一、实验目的

1、实习嵌入式Linux下设备驱动程序的设计方法的基本方法。

2、掌握字符设备驱动程序的设计和调试方法。

3、实习设备驱动的测试和使用。

二、实验内容

本实验要求学生熟悉嵌入式Linux下设备驱动程序的设计方法的基本方法,掌握字符设备驱动程序的设计和调试方法,完成LED驱动程序的编写和调试,并在目标开发板上测试。

三、实验过程

1、最简单的LED 驱动

在drivers/char 目录下,我们建立一个驱动程序文件mini2440_leds.c,

内容如下:(部分截图)

接下来,我们添加LED 设备的内核配置选项,打开drivers/char/Kconfig 文件

接下来,再根据该驱动的配置定义,把对应的驱动目标文件加入内核中,打开

linux-2.6.32.2/drivers/char/Makefile 文件

接上面的步骤,在内核源代码目录下执行:make menuconfig 重新配置内核

依次选择进入如下子菜单项:

Device Drivers --->

Character devices --->

如图,进入LED 驱动配置菜单,在此按空格键选择“ LED Support for Mini2440 GPIO LEDs”选项,并退出保存内核配置。

在内核源代码根目录下执行;make zImage,把生成的新内核烧写到开发板中。

2、基于中断的按键驱动程序

(1)驱动程序分析及编写

在/linux-2.6.32.2/drivers/char/目录下创建一个新的驱动程序文件mini2440_buttons.c,内容及详细注释如下:(部分截图)

(2)把按键驱动加入内核

接下来,我们把按键驱动加入到内核中,打开linux-2.6.32.2_fa/drivers/char/Kconfig 文件

接下来,再根据该驱动的配置定义,把对应的驱动目标文件加入内核中,打开

linux-2.6.32.2/drivers/char/Makefile 文件

这样,我们就在内核中添加做好了LED 驱动

(3)配置编译新内核

接上面的步骤,在内核源代码目录下执行:make menuconfig 重新配置内核,

依次选择进入如下子菜单项:

Device Drivers --->

Character devices --->

如图,进入按键驱动配置菜单:

在此按空格键选择“ Buttons driver for FriendlyARM Mini2440 development boards(NEW) ”选项,并退出保存内核配置。在内核源代码根目录下执行;make zImage,把生成的新内核烧写到开发板中。

3、添加PWM 控制蜂鸣器驱动

(1)编写添加驱动程序

在 linux-2.6.32.2/drivers/char/目录下,增加一个驱动程序文件mini2440_pwm.c,

内容如下:(部分截图)

(2)把驱动程序加入内核

打开 linux-2.6.32.2/drivers/char/Kconfig 文件,加入如下部分

再打开linux-2.6.32.2/drivers/char/Makefile,把该驱动程序的目标文件根据配置定义加入

(3)配置编译新内核

接上面的步骤,在内核源代码目录下执行:make menuconfig 重新配置内核

依次选择进入如下子菜单项:

Device Drivers --->

Character devices --->

如图,进入PWM 控制蜂鸣器的配置菜单:

在此按空格键选择“ Buzzer driver for FriendlyARM Mini2440 development boards(NEW)”选项,并退出保存内核配置。在内核源代码根目录下执行;make zImage,把生成的新内核烧写到开发板中。

(4)测试驱动

①测试led驱动

首先,新建一个leds_test.c文件,然后在虚拟机终端执行arm-linux-gcc -o leds_test leds_test.c即可生成可执行目标文件led

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值