ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:819.55KB ,
资源ID:2459116      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2459116.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验四 IO接口LED灯驱动的静态编译 刘绍康 310127 电子信息工程1201.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验四 IO接口LED灯驱动的静态编译 刘绍康 310127 电子信息工程1201.docx

1、实验四 IO接口LED灯驱动的静态编译 刘绍康 310127 电子信息工程1201实验四 I/O接口-LED灯驱动的静态编译刘绍康3120210127电子信息工程1201一、 实验目的通过实验学习如何将一个驱动添加到 Kconfig, 编译到内核; 通过实验掌握在 Linux 下驱动程序的编写方法。通过实验掌握在Linux下如何将驱动静态编译进内核的方法二、 实验环境硬件:TQ2440开发板、PC机;软件:Windows XP、CentOS、Linux2.6.30.4内核、EABI4.3.3工具、LED源代码三、 完成实验时间:90分钟四、 实验原理:驱动程序加载进内核的方法有两种:静态编译进

2、内核、动态加载进内核;所谓静态编译进内核:驱动的静态加载指的是直接把驱动程序编译进内核,在系统启动后可直接调用,不需要任何加载卸载命令。静态编译的主要步骤: 编写驱动程序源代码 修改内核目录下的configure文件-添加某驱动选项 修改内核目录下的makefile文件-添加编译该驱动设备的目标文件 进行内核配置-加入该设备模块的支持 编译内核 下载内核到开发板 编译测试程序 准备好开发板 下载测试程序到开发板 运行测试程序五、 实验步骤(一)代码准备1. 实验所需要的源代码的路径: 内核源代码:linux2.6.30.4.tar.gz 在 /mnt/hgfs/D/TQ2440/Linux源码

3、/linux2.6.30.4/linux2.6.30.4.tar.gz LED灯驱动源代码:EmbedSky_gpio.c 在 内核目录解压后(即linux2.6.30.4/drivers/char下) LED灯测试程序源代码:测试程序leds_test.c在 /mnt/hgfs/D/app/leds/ (如未发现请另向教师咨询)(二)静态编译2. 修改$linux-2.6.30.4/drivers/char目录下的Kconfig 文件,在图中黑底位置加入如下内容修改并保存;这样当make menuconfig 时,将会出现EmbedSky SKY2440/TQ2440 Board GPIO

4、Test (Control LED)选项;3. 修改$ linux-2.6.30.4/drivers/char 目录下的Makefile文档,在文件的适当位置按照如下内容修改并保存:4. 终端命令行输入以下命令配置裁剪内核:fjutfjut-virtual-machine # su Password:rootfjut-virtual-machine # cd /opt/EmbedSky/linux2.6.30.4 (前提是你已经将linux2.6.30.4.tar.gz解压到/目录下了)rootfjut-virtual-machine linux2.6.30.4# make menuconfi

5、g (进行内核剪裁)稍后将弹出以下菜单:选择 Load an Alternate Configuration File,将弹出配置文件选择对话框,在文本框中输入配置文件config_EmbedSky_A70_256MB,如下图,选择“OK”按回车键完成配置文件的选择:5. 完成配置文件的选择后,菜单将进入到初始界面,接下来将根据下面的步骤来完成对LED 驱动的支持,通过计算机键盘上下键选择Device Drivers 并按回车,将出现以下菜单:6. 按上下键选择 Character devices 并按回车,将出现以下菜单:7. 按上下键选择EmbedSky SKY2440/TQ2440 Bo

6、ard GPIO Test (Control LED) 并按y 键,前面的内将有*号,表明选中Led 驱动,如下图:按左右键选择 Exit 回到上一级菜单,依次,当最后一次选择Exit 时,会弹出以下对话框提示是否保存配置:8. .执行以下命令编译内核rootfjut-virtual-machine linux2.6.30.4# make zImage编译完成之后将在路径$linux-2.6.30.4/arch/arm/boot 下生成zImage 镜象,请按照实验三所述的方法将镜像文件烧写到开发板上。到此,驱动GPIO模块已经静态编译进内核,开发板上电后所运行的内核就支持LED模块。(三)测

7、试阶段1. 将驱动测试程序的源代码编译成执行文件rootfjut-virtual-machine linux2.6.30.4# cp /mnt/hgfs/D/app/leds /home/fjut将共享目录下的源代码复制到用户主目录下rootfjut-virtual-machine linux2.6.30.4# cd /home/fjut/app/leds 进入到测试程序源代码目录中rootfjut-virtual-machine /home/fjut/app/leds#make 编译生成执行文件leds_test2. 将该执行文件传送到开发板上:利用minicom或者超级终端即可3. 杀死开

8、发板自动运行的LED流水灯进程在开发板终端 rootEmbed / # ps 查找当前正在运行的流水灯led_player的进程号如 486 root led_player rootEmbed / # kill -9 486 杀死486号进程,关闭LED流水灯4. 运行执行文件rootEmbed / # ./leds_test 1 1 点亮第1盏灯1、修改$linux-2.6.30.4/drivers/char目录下的Kconfig 文件,并保存2.make menuconfig3.选择 Load an Alternate Configuration File,将弹出配置文件选择对话框,在文本框中输入配置文件config_Embe4.通过计算机键盘上下键选择Device Drivers 并按回车,将出现以下菜单5.按上下键选择 Character devices 并按回车,将出现以下菜单:6、按上下键选择EmbedSky SKY2440/TQ2440 Board GPIO Test (Control LED) 并按y 键,前面的内将有*号,表明选中Led 驱动7编译内核(zImage)9.编译测试程序,发到开发板上10.将驱动文件名改为一致:11.用DNW把内核烧到开发板上12.测试程序使12灯亮 其他灯灭

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1