zju(5)LED控制实验

1、实验目的

1、学习和掌握如何将一个驱动程序添加到Kconfig,编译到内核。

二、实验内容

1.编写EduKit-IV试验箱Linux操作系统下LED灯的驱动;

2.编写EduKit-IV试验箱Linux操作系统下LED灯的应用程序。

三、主要仪器设备

1、Ubuntu12.04系统。

2、英培特eduk4-s3c2410试验平台

四、操作方法和实验步骤

在终端中输入命令设置环境变量

source /usr/local/src/EduKit-IV/Mini2410/set_env_linux.sh

1. 编译busybox

将eduk4-led.c文件复制到内核目录$KERNELDIR/drivers/char

cd $SIMPLEDIR/ 8.1-led_test/driver/

cp eduk4-led.c $KERNELDIR/drivers/char

clip_image002

修改$KERNELDIR/drivers/char目录下的Kconfig文档,如下

cd $KERNELDIR/drivers/char

# Edukit_led config menu

config EDUKIT_LED

tristate "Edukit4 Led"

clip_image004

修改$KERNELDIR/drivers/char目录下的Makefile文档,如下

obj-$(CONFIG_EDUKIT4_LED) += eduk4-led.o

clip_image006

回到终端,输入以下命令配置裁剪内核

cd $KERNELDIR

make menuconfig

clip_image008

选择Load an Alternate Configuration File,键如config-eduk4

clip_image010

再选择Device Drivers

clip_image012

选择Character devices

clip_image014

选择Edukit4 Led并按y键

clip_image016

推出并保存

clip_image018

编译一下Make,将生成zImage,并将其下载到flash中(注意,前面配置的环境变量会迫使arm-linux-gcc跳到2.x版,会导致内核编译失败,故重启终端,可以解决问题)

问题详见:http://www.360doc.com/content/07/0429/23/26230_474510.shtml#

但有一个环境变量source /usr/local/src/EduKit-IV/Mini2410/set_env_linux.sh

还是需要的,因为它指定了make出的zImage放到什么地方,否则会出错

clip_image020

切换路径到$SIMPLEDIR/8.1-led_test/app下

然后make

Make install

Make clean

clip_image022

clip_image024

连接好交叉串口线于板载COM和PC上,并连接好交叉网线

打开minicom

sudo minicom

给平台上电,在minicom下将led_test下载到tmp目录下

给led_test添加执行权限777,并运行led_test。

clip_image026

四个LED灯循环闪烁,驱动添加成功

转载于:https://www.cnblogs.com/shenerguang/p/3381526.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值