1、“.....该接口返回操作状态枚举类型值。,是提交请求操作返回的请求和,正在执行的请求,可以设置为。可用检查驱动内部状态,而不用返回驱动的内部状态值。操作链驱动硬件描述符链驱动中,硬件描述符在驱动初始化阶段就已经分配,并将描述符组成了描述符环,如下图所示。各种操作循环利用这些描述符。在硬件中,逐个处理描述符,遇到需要触发中断的描述符,硬件产生中断用于提示操作完成。图硬件描述符环异步传输描述符依赖链与硬件描述符环对应的,异步传输描述符也可以组织成链式操作。如下图所示,在异步传输中支持多个异步传输描述符之间形成个依赖链。描述符链中的各个请求之间有严格的先后顺序依赖,只有在前个请求完成后才会进行下个请求。图异步描述符依赖链在异步描述符结构中,字段指向本请求依赖的请求的异步传输描述符,字段指向依赖本描述符的下个异步传输描述符。从图中可以看出......”。
2、“.....这样就可以把不同的操作放到个描述符链中进行。但如果同个通道具有描述符链所要求的所有功能,最好是将描述符链放到同个通道中,这样就不会阻塞通道中的与本描述符链不相关其他请求。描述符链需要考虑的问题同个通道可以保证依赖关系,不用设置依赖链直接。如果在同通道又存在上级的依赖链时,为什么不能而只能建立依赖关系放在依赖者后面这个问题是通过设置位来保证后面的请求可以下发,只要就可以将上的所有请求下发。只会刷有标识的,参见函数,如果有个依赖关系存在,在依赖没有完成前,不会被设置。如果不在同个通道,又要保证依赖关系,使用。的操作是在被依赖的上插入个请求,将新的请求作为请求的后续依赖请求,只有在请求完成后才会提交新的请求到自己的上。与的接口为了屏蔽各种不同硬件差异,将的功能进行了抽象,提取了需要实现的公共功能......”。
3、“.....引擎提供给各种不同的硬件驱动的注册和功能接口,引擎通过调用硬件驱动注册的功能函数来操作硬件。通道资源分配使能的中断标志,分配至多达个并做初始化,返回分配的数,具体完成使能的中断异常中止和发送信号写硬件清分配至多个,并添加到链表把链表添加到链表中把通道中的连成环分配并映射存放最后次的的缓冲区大小,该地址为用于存放返回设置返回用于存储的地址把得到的地址写硬件使能清通道已完成的小任务启动,传输个空的没有数据与地址,用于设置通道的链表的首地址发给硬件把描述符环首地址写到硬件中返回分配的数释放通道中所有的描述符主要功能如下禁止小任务,清除所有已待处理的通道写寄存器遍历通道的链表,删除表项,释放缓冲池缓冲区,重新初始化链表释放完成的池清操作状态查询判断请求是否已经完成,驱动操作从中获取个空闲的,使用传输的参数做初始化后返回......”。
4、“.....若之前的量过大,需要拆分,则需要改写回调函数只最后个有,若通道上待处理的个,马上启动第步根据要传送的数据长度计算需要的数量,并做初始化设置回调函数完成这次传输使用的数量,个被分成多少个增加增加和数量通道上待处理的个,马上启动第步。通道发送的请求写寄存器,启动处理描述符,清定时器功能个人认为定时器的应用是整个贯穿驱动的亮点。它主要实现四个方面的作用对资源的回收的检查,并打印重启,完成相关任务对环的重塑,合理的利用资源函数如下事件之所以引进这个概念,主要是为了利用软中断延时的功能,对于那些不是那么紧急的中断任务,我们可以将它们提出来,然后放在队列中,这样有助于提高的利用率,而在代码中主要应用于资源的回收和维护工作。测试测试环境的概述测试平台表测试环境介绍测试目的验证数据传输的致性探讨传输的性能,对于不同的任务数描述符的个数以及描述的传输大小的组合......”。
5、“.....来评估传输的性能测试方法为了测试的便捷性和以后对其它功能的测试,在这里,将测试用例和底层的驱动之间,从引擎中抽象出个外部接口驱动程序,如图所示配套测试虚拟地址映射等非连续性地址的数据传输中得到了应用。在些访问中,为了提高数据传输速度,也采用来实现数据在总线上的直接交换。参考文献,机械工业出版社张永军用于高速数据采集的技术石油仪器戴斌高速网络接口卡机制的研究与实现国防科技大学硕士学位论文郭鹏飞基于语言的控制器设计与仿真贵州大学硕士学位论文田志明嵌入式微处理器的系统级优化及实现东南大学硕士学位论文王良清在微处理器中的应用与设计华中科技大学硕士学位论文,,致谢四年的大学本科的生活,很快就要结束了。回首来时路,旧日烟云已不再清晰,然则老师的教诲亲人的支持朋友的帮助历历在目。在此我对他们表示衷心的感谢,首先感谢我们组长陈凯杰......”。
6、“.....本文从选题收集资料到论文的体例设计内容的安排直至几易其稿,无不凝结着陈的汗水和心血。可以说,没有陈的悉心指导,就没有本文的问世。同时更应该感谢我的导师盛玉霞,郝国法杨君赵敏等各位老师给与我学业上的指导,是他们慢慢引导我步入嵌入式的殿堂,是他们的努力使我对本学科的学习有了定的认识,获益匪浅。最后,我还要感谢我的家人朋友和同学,是他们的无私帮助与关爱,使我在前行的路上,不断提升,追求卓越。产品型号软件版本版本测试内容备注将的内存按着不同的任务数不同描述符的个数每个描述符的传输大小的组合情况下进行传输,探讨其传输性能单板本地内存测试测试用例外部接口驱动程序驱动图测试方案在外部接口驱动程序中,定义了个的关键结构体,用这个结构体来记录我们当前的所有相关信息......”。
7、“.....将使用它来记录相关的时间点等。由于它处于中间层,所以对于上层的测试用例只是提供个接口函数,即对于底层的驱动,则定义了些相关函数,来完成对通道的申请与分配硬件描述资源的填充与准备以及对相关任务的发起与执行,详细内容可参考前面第章相关内容,在此不再鳌述。下面我们主要谈谈测试用例的实现,流程图如下开始创建个任务组发起任务组结束向内存申请块内存,用于记录任务组信息,是二维指针的形式,组成个任务表。创建个任务,并添加到任务表中创建个任务组创建个任务申请个内存,并完成相关域的初始化创建个记录相关信息的结构体。创建个软件描述符,并填写相应的地址信息将软件描述符填加到中的描述链中是否创建完毕发起任务组传输调用接口函数,发起个任务硬件传输,等待中断产生中断传输完毕,产生中断调用回调函数是否是最后个任务唤醒结构......”。
8、“.....打印相关信息。任务是否创建完毕图测试用例流程图对于任务组的构造,用了个二维结构体指针,创建了个任务表,而在相应的任务结构体中记录了当前任务在任务表中的相对位置,这样便于在回调函数中定位完成信息当然了,对于每个任务,也相关记录信息的结构体任务与任务之间的切换,为了克服个任务完成之后,结束当前进程,在这里面引用了个内核提供的结构体的操作,即在创建任务组时,初始化该结构体,然后在最后个任务体的回调函数中唤醒该结构体,这样保证了任务执行的连续性。但点需要注意的,就是对相关资源的回收,特别时申请的内存和映射的地址信息的释放,所以在该用例中,定义个清理函数,在整个任务组执行完毕,则调用清理函数,回收相关资源。为了测试的方便,将任务数每个任务所占有的描述符的个数和每个软件描述符所传输数据的字节数,作为模块参数导出来了。这样就和传输的时间有定的量化关系......”。
9、“.....我们可以三维的数据表,这样能过对数据表的分析,我们就可以得出性能与之间的关系。对于传输数据致性问题的研究,我们则可以在创建任务组之前,申请块数据内存,然后填入相关的已知道数据,在回调函数中,通过函数判断源和目的数据是否致,最后打印相关结果。测试结果与缺陷测试结果如下所示表测试表测试软件版本,驱动版本环境下对本端内存拷贝的测试结果硬件描述预取备注产品软件测试条件单板本端测试,传输数据量为软件版本,驱动版本环境下对本端内存拷贝的测试结果硬件预取描述符的个数测试的缺陷由于使用的时内核定时器,因为它的精度是毫秒集,可是对于传输,速度很快,所以这里面可能会存在很大的时间误差,但是如果我们把所有的时间误差看个系统所带来的个恒定误差,那么在这个条件下对表中结果的分析,虽然不能定量的分析......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。