嵌入式Linux底层驱动综合开发实验

嵌入式Linux底层驱动综合开发实验

ID:44149405

大小:97.50 KB

页数:4页

时间:2019-10-19

嵌入式Linux底层驱动综合开发实验_第1页
嵌入式Linux底层驱动综合开发实验_第2页
嵌入式Linux底层驱动综合开发实验_第3页
嵌入式Linux底层驱动综合开发实验_第4页
资源描述:

《嵌入式Linux底层驱动综合开发实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、学生实验报告系别计算机学院课程名称Linux嵌入式应用开发专业计算科学与技术13级实验名称恢入式Linux底层驱动综合开发实验姓名余博文评阅老师学号2013031101050成绩报告内容1.综合实验目的通过一个综合的底层驱动实验掌握嵌入式驱动程序开发的基本步骤,能够独立的将自己的代码嵌入内核中,基本掌握字符型设备的一般开发步骤与原理,初步理解数据包在内核中的游历过程2.实验内容本实验分四个小项目进行,分别是:a)内核模块编程基本实验b)字符型设备驱动程序开发实验c)LED灯驱动开发实验d)网络内核流量统计实验3.实验总

2、结及思考试用自己的语言回答以下问题a)内核中是使用net_device结构体来描述所有的网络设备,它们在内核是如何组织的?每一个设备对应一个structnet_device结构体,在内核中,使用一个单向链表把所有的结构体串起来,单向链表的首地址是structnet_device*dev_baseo通过这个首地址可以遍历这个单向链表,以访问、查询、获取网卡的统计信息。b)Linux里面有一个概念叫做文件就是一切,请问你对这句话是如何理解的?c)请看看下面的语句,回答问题假设函数原型如下:structnet_device_

3、stats*(*get_stats)(struetnet_device*dev);该函数返回值里包含了什么数据,请一一列出(可以百度一下)?struetnet_device_statsunsign已dlongrx_packets;/*totaipacketsreceived♦/unsignedlongtxpackets;/♦totaipacketst厂ansmitt已d♦/unsign已dlongrxbytes;/*totaibytesreceived♦/unsignedlongtxbytes;/♦totaibytes

4、t厂ansmitted♦/unsign已dlongrxerrors;/*badpacketsreceived♦/unsignedlongtxerrors;/♦packetsmitproblems♦/unsign已dlongrxdropped;/*nospaceinlinuxbuffers♦/unsignedlongtxdropped;/♦nospaceavailableinlinux♦/unsign已dlongmulticast;/*multicastpacketsreceived♦/unsignedlongcolli

5、sions;/♦detailedrx_.errors:♦/unsign已dlong_length_errors;unsignedlongrxover_errors;/♦receiverringbuffoverflow♦/unsign已dlongrxcrc_errors;/♦reevedpktwithcrcerror*/unsignedlongrxfraine_errors;/♦reev1dframealignmentsrror♦/unsign已dlongrxfifo_errors;/♦reev1rfifooverrun

6、♦/unsignedlongrxmissed_errors>•/♦receivermissedpacket♦//♦detailedtx.^errors♦/unsign已dlongtxabortederrors:unsignedlongtxcarriererrors:unsign已dlongtxfifoerrors:unsignedlongtxheartbeaterrors;unsign已dlongtxwindowerrors:/*foreslipetc*/unsignedlongrx.compressed;unsign

7、已dlongtx..compressed;d)Linux系统中对于中断的处理总是分为两部分:顶半操作与底半操作,请问为什么要分成两部分?在顶半与底半操作中,通常会完成什么功能?e)请简单叙述一下Linux内核是如何接收一个网络数据包的?(请从网卡中断开始叙述)?欲查询网络数据包,需通过网卡发送一个软中断给CPU,然后CPU到中断向量表中查询所需执行的中断函数的地址,并执行中断函数。该函数具体操作为:staticssize_tnet_stats_read(struetfile*filp,charuser*buffer#s

8、ize_tcountrloff_t*ppos){structnet_device*p;//定义—结构体扌旨针;struetnet_device_stats*s;//定义—个netats结构体指针;p=dev_base;//使netpeylce结构体指针指向全局变量_//该变量为单向链表的首地址_while(p){//是否为链表的结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。