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

修改$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控制实验的更多相关文章
- BeagleBone Black板第四课:简单LED控制实验
BBB板第四课:简单LED控制实验 学习BBB板的终于目的是想像单片机一样做控制,但控制思路全然不一样(Linux下控制硬件设备实质就是对相关设备虚拟文件的读写).研究了几天头都大了还是没有进展,网上 ...
- zju(6)中断控制实验
1.实验目的 1.学习和掌握Linux下中断驱动的写法: 二.实验内容 1.编写EduKit-IV实验箱Linux操作系统下按键key的驱动: 2.编写EduKit-IV实验箱Linux操作系统下按键 ...
- linux输入子系统(input subsystem)之按键输入和LED控制
实验现象:在控制台打印按键值,并且通过按键控制相应的LED亮灭. 1.代码 input_subsys_drv.c #include <linux/module.h> #include &l ...
- CAN-bus接口控制实验
CAN-bus接口控制实验 2016-04-12 20:38:41来源: eefocus 关键字:CAN bus 接口控制 收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn 一.实 ...
- FPGA —— LED控制
第一次接触新东西的时候,难免会磕磕碰碰,不过遇到问题不要着急,慢慢来.原因总归是我们自己引起的,一步步找到问题的根源,然后彻底解决它,避免下次再犯. 在开始之前先分享一下工具:(Quartus II ...
- 微型计算机系统实验总结(学习性实验:IO地址译码,可编程并行接口8255,交通灯控制实验 + 自主设计实验:汽车信号灯控制系统,电风扇控制器,洗衣机控制系统,霓虹灯,电梯控制系统)
实验配套软件: https://download.csdn.net/download/qq_39932172/11221584 实验指导用书: 教师版: https://download.csdn.n ...
- 单片机与控制实验(2)——LED点阵显示屏
一.实验目的和要求 了解LED点阵显示的基本原理和实现方法.掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法. 二.实验设备 单片机测控实验系统 LED点阵显示器实验模块 Keil开发环境 STC ...
- 利用DoHome APP和音箱控制LED灯实验参考步骤
准备材料: Arduino Uno 一块 Arduino 扩展板 购买链接 DT-06模块一个 购买链接 安卓手机一个 小度音箱一个 小灯珠一个 杜邦线若干 1.DT-06固 ...
- [ZigBee] 3、ZigBee基础实验——GPIO输出控制实验-控制Led亮灭
1.CC2530的IO口概述 CC2530芯片有21 个数字输入/输出引脚,可以配置为通用数字I/O 或外设I/O 信号,配置为连接到ADC.定时器或USART外设.这些I/O 口的用途可以通过一系列 ...
随机推荐
- Blog Starting...
30出头,开始Blog记录学习生活的点滴,待40时再回来一看.
- HDFS & MapReduce异构存储性能测试白皮书
- LoadRunner测试场景中添加负载生成器
如何在LoadRunner测试场景中添加负载生成器 本文对如何在LoadRunner的测试场景中添加负载生成器,如何使用负载生成器的方法,总结形成操作指导手册,以指导测试人员指导开展相关工作. 1.什 ...
- [转载]C/C++可变参数之va_start和va_end使用详解
本文主要介绍va_start和va_end的使用及原理. 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解. 介绍这两 ...
- Uva10328 dp(递推+高精度)
题目链接:http://vjudge.net/contest/136499#problem/F 题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 一个比较好理解的题解:原题中问 ...
- hdu5057 Argestes and Sequence 分块
Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted Submiss ...
- 简单的css 菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 树状数组+STL FZU 2029 买票问题
题目传送门 题意:中文题面 分析:隔了一个考试周再做,开始没有什么思路,感觉能用线段树/树状数组维护,树状数组维护最小值不会去写线段树,结果超时.后来发现只要维护前缀几个人以及用优先队列/set维护最 ...
- SPFA(建图) HDOJ 4725 The Shortest Path in Nya Graph
题目传送门 题意:有两种路径,每个点会分别在某一层,层相邻之间权值c.还有直接两点传送,花费w.问1到n的最短距离. 分析:1~n正常建边.然后n + a[i]表示i点在第a[i]层.然后再优化些就不 ...
- Wiki上的Ue4文件结构以及命名规范
https://wiki.unrealengine.com/Assets_Naming_Convention