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. Junit的简单使用

    Junit是一个很好用的单元测试工具,下面是使用Junit来测试方法的简单案例: import java.util.ArrayList; import java.util.Iterator; impo ...

  2. loadrunner实现浮点型数据转换成字符串

    ftoa(float floatNum, char *convFloatString) { char new[10]; float number,dTemp,temp_val; int base, f ...

  3. Liferay 6.2 改造系列之二十二:如何发布WAR包

    1.修改web资源并发布 如果修改了默认主题信息,需执行portal-web中的build-themes任务: 执行portal-web中的deploy任务: 2.修改portal-impl中的jav ...

  4. 登录时的"记住我"

    当我们在做各个系统的登录界面时,喜欢在加上一个功能就是“记住我”, 我用js来实现一下看看 function SetCookie(name, value, expires, path, domain, ...

  5. Android学习系列(40)--Android主题和样式之系统篇(下)

    11)Widget样式(Widget Style) 特别说明,此处定义大量的系统内置控件的样式,对于重写原生控件的样式具有很大的参考价值. <!-- Widget styles --> & ...

  6. mongodb学习03 操作详解

    插入文档 db.test.insert({"name":"jinks"}); 批量插入 db.test.insert([{}, {}, {}]); 一次批量插入 ...

  7. chrome插件

    自备FQ神器,或者在公司浏览谷歌商店.话说我们公司电脑可以打开谷歌商店. 1.Performance-Analyser(网页性能分析) 这款插件是用来分析你的网页加载性能的,包括http请求,执行期的 ...

  8. jquery(ajax)与js(ajax)的比较

    原始js: function update_mess(){ var account_name = $("#account").val(); var xmlhttp; if(wind ...

  9. 我的c++学习(6)默认参数和内联函数

    默认参数 一般情况下,函数调用时实参个数应与形参相同,但为了更方便地使用函数,C++也允许定义具有默认参数的函数,这种函数调用时实参个数可以与形参不相同.“默认参数”指在定义或声明函数时为形参指定默认 ...

  10. 原生 js 写分页

    欢迎留言或者加本人QQ172360937咨询 这段代码是用原生 js 写的一个分页的效果 <!doctype html> <html lang="en"> ...