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

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

cd $KERNELDIR/drivers/char

# Edukit_led config menu

config EDUKIT_LED

tristate "Edukit4 Led"

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

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

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

cd $KERNELDIR

make menuconfig

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

再选择Device Drivers

选择Character devices

选择Edukit4 Led并按y键

推出并保存

编译一下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放到什么地方,否则会出错

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

然后make

Make install

Make clean

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

打开minicom

sudo minicom

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

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

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

zju(5)LED控制实验的更多相关文章

  1. BeagleBone Black板第四课:简单LED控制实验

    BBB板第四课:简单LED控制实验 学习BBB板的终于目的是想像单片机一样做控制,但控制思路全然不一样(Linux下控制硬件设备实质就是对相关设备虚拟文件的读写).研究了几天头都大了还是没有进展,网上 ...

  2. zju(6)中断控制实验

    1.实验目的 1.学习和掌握Linux下中断驱动的写法: 二.实验内容 1.编写EduKit-IV实验箱Linux操作系统下按键key的驱动: 2.编写EduKit-IV实验箱Linux操作系统下按键 ...

  3. linux输入子系统(input subsystem)之按键输入和LED控制

    实验现象:在控制台打印按键值,并且通过按键控制相应的LED亮灭. 1.代码 input_subsys_drv.c #include <linux/module.h> #include &l ...

  4. CAN-bus接口控制实验

    CAN-bus接口控制实验 2016-04-12 20:38:41来源: eefocus 关键字:CAN  bus  接口控制   收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn 一.实 ...

  5. FPGA —— LED控制

    第一次接触新东西的时候,难免会磕磕碰碰,不过遇到问题不要着急,慢慢来.原因总归是我们自己引起的,一步步找到问题的根源,然后彻底解决它,避免下次再犯. 在开始之前先分享一下工具:(Quartus II ...

  6. 微型计算机系统实验总结(学习性实验:IO地址译码,可编程并行接口8255,交通灯控制实验 + 自主设计实验:汽车信号灯控制系统,电风扇控制器,洗衣机控制系统,霓虹灯,电梯控制系统)

    实验配套软件: https://download.csdn.net/download/qq_39932172/11221584 实验指导用书: 教师版: https://download.csdn.n ...

  7. 单片机与控制实验(2)——LED点阵显示屏

    一.实验目的和要求 了解LED点阵显示的基本原理和实现方法.掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法. 二.实验设备 单片机测控实验系统 LED点阵显示器实验模块 Keil开发环境 STC ...

  8. 利用DoHome APP和音箱控制LED灯实验参考步骤

    准备材料: Arduino Uno 一块 Arduino 扩展板        购买链接 DT-06模块一个       购买链接 安卓手机一个 小度音箱一个 小灯珠一个 杜邦线若干 1.DT-06固 ...

  9. [ZigBee] 3、ZigBee基础实验——GPIO输出控制实验-控制Led亮灭

    1.CC2530的IO口概述 CC2530芯片有21 个数字输入/输出引脚,可以配置为通用数字I/O 或外设I/O 信号,配置为连接到ADC.定时器或USART外设.这些I/O 口的用途可以通过一系列 ...

随机推荐

  1. Blog Starting...

    30出头,开始Blog记录学习生活的点滴,待40时再回来一看.

  2. HDFS & MapReduce异构存储性能测试白皮书

  3. LoadRunner测试场景中添加负载生成器

    如何在LoadRunner测试场景中添加负载生成器 本文对如何在LoadRunner的测试场景中添加负载生成器,如何使用负载生成器的方法,总结形成操作指导手册,以指导测试人员指导开展相关工作. 1.什 ...

  4. [转载]C/C++可变参数之va_start和va_end使用详解

    本文主要介绍va_start和va_end的使用及原理. 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解. 介绍这两 ...

  5. Uva10328 dp(递推+高精度)

    题目链接:http://vjudge.net/contest/136499#problem/F 题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 一个比较好理解的题解:原题中问 ...

  6. hdu5057 Argestes and Sequence 分块

    Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted Submiss ...

  7. 简单的css 菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 树状数组+STL FZU 2029 买票问题

    题目传送门 题意:中文题面 分析:隔了一个考试周再做,开始没有什么思路,感觉能用线段树/树状数组维护,树状数组维护最小值不会去写线段树,结果超时.后来发现只要维护前缀几个人以及用优先队列/set维护最 ...

  9. SPFA(建图) HDOJ 4725 The Shortest Path in Nya Graph

    题目传送门 题意:有两种路径,每个点会分别在某一层,层相邻之间权值c.还有直接两点传送,花费w.问1到n的最短距离. 分析:1~n正常建边.然后n + a[i]表示i点在第a[i]层.然后再优化些就不 ...

  10. Wiki上的Ue4文件结构以及命名规范

    https://wiki.unrealengine.com/Assets_Naming_Convention