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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(嵌入式驱动开发Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式驱动开发Word格式.docx

1、二、实验内容及步骤预期结果(或其概述)实验结果(可截全图或部分图)cd /ls列出当前目录中的文件,但不包含隐含文件。rootlocalhost root# lsanaconda-ks.cfg Documents install.log.syslog Settings Applications install.log open.c zylinuxll显示文件或子目录的详细信息,包括文件类型和权限、文件状态、所有者、组、大小、修改时间和文件名。rootlocalhost root# ll总用量 88-rw-r-r- 1 root root 912 2009-06-14 anaconda-ks.c

2、fgdrwxr-xr-x 6 root root 4096 2009-06-14 Applicationscd /tmp进入/tmp,列出其所有文件及目录。rootlocalhost root# cd /tmprootlocalhost tmp# lsjd_sockV4 qcop-msg-qpe ssh-XXDy3Hjekde-root qcop-msg-quicklauncher ssh-XXt1P8AYmkdir abc建立目录abc,显示可看到建立成功。rootlocalhost tmp# mkdir abcabc qcop-msg-filebrowser ssh-XX5MvE75cd

3、abcmkdir 123进入abc,并建立目录123,显示成功。rootlocalhost tmp# cd abcrootlocalhost abc# mkdir 123rootlocalhost abc# ls123cd .rm rf abc返回到上级目录,删除当前目录下的子目录abc,包含其下所有文件和子目录,并不提示用户确认。rootlocalhost tmp# rm -rf abccd /mnt/hgfswhoami进入指定目录,显示当前用户。rootlocalhost tmp# cd /mnt/hgfsrootlocalhost hgfs# whoamirootpwd显示用户当前所处

4、目录。rootlocalhost hgfs# pwd/mnt/hgfsdate显示当前时间。rootlocalhost hgfs# date四 1月 1 00:24:23 CST 2004cal显示本月日历。rootlocalhost hgfs# cal 一月 2004日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28 29 30 31su - rootuseradd tonnypasswd 123456切换用户到root,添加用户tonny和密码。rootlocalhost

5、 hgfs# su rootrootlocalhost /# useradd tonnyuseradd: user tonny existsrootlocalhost /# passwd tonnyChanging password for user tonny.New password:BAD PASSWORD: it is too simplistic/systematicRetype new password:passwd: all authentication tokens updated successfully.rootlocalhost /# init 6重启。当前系统进入重启状

6、态。以tonny及密码登录后的Linux桌面图标重启后,用新用户名和密码重新登录。新建终端,并开始操作:su tonny切换用户。tonnylocalhost tonny$ su rootPassword:rootlocalhost tonny# su tonnyrootlocalhost tonny#ps -aux显示进程。rootlocalhost tonny# ps -auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.5 0.0 1368 84 ? S 01:12 0:04 initroot 2 0.0 0

7、.0 0 0 ? SW 01:00 keventdroot 3 0.0 0.0 0 0 ?00 kapmdroot 4 0.0 0.0 0 0 ? SWN 01:00 ksoftirqd_CPU0ifconfig配置网卡和显示网卡信息。rootlocalhost root# ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:75:97:FAinet addr:192.168.38.166 Bcast:192.168.38.255 Mask:255.255.255.0UPBROADCAST RUNNING MULTICAST MTU:1500 Me

8、tric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:TX packets:19 errors:0 carrier:ifconfig eth0 down关闭eth0端口。显示端口已关闭。rootlocalhost root# ifconfig eth0 downrootlocalhost root#Message from syslogdlocalhost at Thu Jan 1 00:11:05 2004 .localhost kernel: vmxnet_close: failed to finish all pending tx.

9、lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:ifconfig eth0 up重新开启端口。显示端口重开。rootlocalhost root# ifconfig eth0 upUP BROADCAST RUNNING MULTICAST MTU:55 errors:clear清空界面rootlocalhost root# clear三、思考题1、如何删除一个非空的目录?答:新建一个目录a,在其中新建目录b,c。使用rm rf a删除目录a

10、,其下b,c目录也一并删除。2、如何修改Linux虚拟机的IP地址?用命令“ifconfig eth0 原IP地址 目的IP地址”可达到目的,例如“ifconfig eth0 192.168.23.151 192.168.38.166”四、实验总结及体会(必须写)本次试验主要是熟悉和更好的掌握linux命令,使我们回忆起命令的使用。过程中有一点阻碍,但经过同学和老师的指导,还是顺利的完成了任务。Linux命令还是和很有用处的,有时用起来可能比使用窗口更加快速便捷。只要好好掌握并熟悉命令的使用,对我们还是有好处的。实验3-4 模块程序开发简单实验2013/09/181、掌握模块程序的开发流程。2

11、、掌握模块程序查看、加载、卸载命令cd /root/zylinux/drive(需自建)查看到drive目录下文件rootlocalhost root# cd zylinux/driverootlocalhost drive# lshello_module_1.c hello_module_2.cvi hello_module_1.c(注:源码后附)编辑hello_module_1.c使用下面命令对模块源码进行编译:gcc c hello_module_1.c DMODULE D_KERNEL_-DLINUX Wall O2 I/usr/src/linux-2.4/includels hell

12、o_module_1.o查看文件rootlocalhost drive# ls hello_module_1.ohello_module_1.olsmod查看已加载模块rootlocalhost drive# lsmodModule Size Used by Tainted: PFmousedev 5492 1 (autoclean)input 5856 0 (autoclean) mousedevparport_pc 9076 1 (autoclean)lp 8996 0 (autoclean)parport 37056 1 (autoclean) parport_pc lpautofs 1

13、3268 0 (autoclean) (unused)ide-cd 35708 0 (autoclean)insmod hello_module_1.o加载hello_module_1.o模块rmmod hello_module_1卸载模块cd tmpvi hello_module_2.c编辑hello_module_2.cgcc c hello_module_2.c DMODULE D_KERNEL_-DLINUX Wall O2 I/usr/src/linux-2.4/includels hello_module_2.o列出文件显示加载的模块insmod hello_module_2.o加

14、载hello_module_2.ormmod hello_module_2删除模块显示模块实验源码:1、为什么要安装交叉编译工具?因为开发板和PC机的体系结构不一样,PC端编译工具编译的文件不能在开发板上运行。通过这个实验,我对模块程序的开发流程有了一定的认识和理解,初步掌握了模块程序查看、加载、卸载的命令,能够独自编写出简单的模块程序。在实验中,做到条理清晰,认真仔细,还是很容易掌握这部分内容的。实验5-6 LED驱动程序2013/10/161、掌握LED驱动程序的框架2、掌握有关LED驱动的数据结构3、了解LED驱动的系统调用cd /root/zylinux/drive(无则自建)mkdi

15、r led_driver切换到drive,创建目录,列出目录rootlocalhost drive# mkdir led_driverled_drivercd led_drivermkdir drivercd dirvermkdir ledscd leds切换到led_driver,创建目录dirver,leds,切换到ledsrootlocalhost drive# cd led_driverrootlocalhost led_driver# mkdir driverrootlocalhost led_driver# cd dirverrootlocalhost driver# mkdir

16、ledsrootlocalhost driver# cd ledsrootlocalhost leds#vi magic-leds.c(源代码在压缩包zy.rar中)编辑magic-leds.cvi Makefilemake编辑MakeFIle,显示文件列表rootlocalhost leds# makearm-linux-gcc -O2 -Wall -D_KERNEL_ -DMODULE -I/zylinux/kernel/include -I. -march=armv4t -c -o -mapcs -c magic-leds.c -o magic-leds.omake: arm-linux

17、-gcc: Command not found * magic-leds.o Error 127rootlocalhost leds# lsleds.ko magic-leds.c magic-leds.o Makefilecd /root/zylinux/drivemkdir testcd testmkdir ledcd led切换drive目录 创建test led 目录。rootlocalhost leds# cd /root/zylinux/driverootlocalhost led_driver# mkdir testrootlocalhost led_driver# cd tes

18、trootlocalhost test# mkdir ledrootlocalhost test# cd ledvi main.c编辑main.c 函数编辑makefile文件rootlocalhost led# makearm-linux-gcc -O2 -Wall -c main.c -o main.orootlocalhost led# lsled main.c main.o Makefile建立超级终端。使用NFS将Linux虚拟主机的/root/zylinux目录mount到目标机的/mnt目录。设Linux虚拟主机的IP地址为:192.168.0.166。在目标机上使用如下moun

19、t命令:mount t nfs 192.168.0.166:/root/zylinux /mnt o nolock然后进入目标机的/mnt目录:cd /mntcd ylf/drive/led_driver/driverinsmod leds.ko加载leds.ko模块cd ylf/drive/led_driver/test./led运行led,开发板上的LED1闪烁后熄灭1、字符设备驱动程序常用哪些数据结构?其各自的作用是什么?常用的有file_operations,file等数据结构;file_operations定义了文件操作接口,这个结构的每一个成员的名字都对应着一个调用,起着联系应用程

20、序和设备驱动的作用;file是执行open函数时产生的,每打开一个文件就产生一个struct file,供设备驱动关联的函数使用。2、字符设备驱动程序包含哪些函数?包括read(),write(),open(),ioctl(),release()等接口函数,加载函数以及卸载函数。 通过此次实验,我对LED驱动程序的框架有了比较深刻的了解和掌握,理解了有关LED驱动的数据结构,对LED驱动的系统调用也有了一定的了解。我感觉这部分的知识有些难度,在做实验的时候应下些功夫,认真仔细,结合教材,一步一步的做下去,不要急于求成。实验7-8 按键驱动程序2013/10/231、掌握按键驱动程序的框架2、掌

21、握有关按键驱动的数据结构3、掌握按键驱动程序开发常用的系统调用mkdir key_driver建立key_driver目录cd key_drivermkdir keycd key切换到key_drive.创建key目录vi magic-key.c编写magic-key.c建立相关目录编写main.c编辑makefile文件,显示列表cd ylf/drive/key_driver/driverinsmod key.ko加载key.kocd ylf/drive/key_driver/test./key运行key,按下开发板的KEY1几次超级终端就显示几次1、请简要说明net_device和sk_buf在网络驱动程序中所起的作用net_device结构体提供了对所有网络设备的操作集合;sk_buf用于管理套接字缓冲区的结构,在数据包的发送和接收中起着重要的作用,Linux网络各层之间的数据发送都是通过sk_buf来进行的。 通过此次实验,我对按键驱动程序的框架有了比较深刻的了解和掌握,理解了有关按键驱动的数据结构,对按键驱动的系统调用也有了一定的了解。由于上次做了LED驱动程序的实验,因此这次做按键驱动程序,上手要快一些,能独立完成这个实验。不过在实验时仍要小心仔细,不要大意。

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

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