【技术实现步骤摘要】
一种NAND驱动程序测试系统及方法
本专利技术涉及NAND测试领域,具体是一种NAND驱动程序测试系统及方法。
技术介绍
目前多类型测试命令同步混合测试系统存在开发及维护困难的问题。传统方法面对此类测试问题时,一般需要针对每一个种类型的命令编制独立的测试代码,而进行混合命令类型的测试时,再将这些代码重新整理糅合到一个新的用例中,此过程往往伴随着大量的接口修改、数据处理顺序调整等工作;且当混合类型变更后,上述工作还需要再次重新进行。传统方法即使在设计阶段使用模块化设计,当进行多类型命令混合发送时,仅通过简单的分支、循环等方式实现的模块调用也经常不能满足复杂的数据处理,往往需要进行反复的精细调整,且在批量测试中一旦出现BUG很难调试,部分情况下甚至需要拆解模块本身来保证混合测试时的命令序列。
技术实现思路
针对现有技术的缺陷,本专利技术提供一种NAND驱动程序测试系统及方法,通过模块化设计结合CPU的时分复用调度技术,解决了多类型测试命令同步混合测试系统开发及维护困难的问题。为了解决所述技术问题,本专利技术采用的技术方案是:一种NAND驱动程序测试系统,包括测试管理模块、信息统计模块、数据处理模块、命令生成模块、反馈信息分析模块、NAND驱动程序接口模块、资源管理模块及调度模块;测试管理模块负责监控整个测试流程并进行异常处理;信息统计模块用于记录当前已发送及接收的命令数量、类型及状态,以及数据处理模块的比对结果;数据处理模块用于将驱动程序返回的数据与预期数据进行 ...
【技术保护点】
1.一种NAND驱动程序测试系统,其特征在于:包括测试管理模块、信息统计模块、命令生成模块、NAND驱动程序接口模块、资源管理模块及调度模块;/n测试管理模块负责监控整个测试流程并进行异常处理;/n信息统计模块用于记录当前已发送及接收的命令数量、类型及状态,以及数据处理模块的比对结果;/n命令生成模块用于生成各种类型的驱动测试命令,命令生成模块在每次生成命令前,均通过查询信息统计模块确认所需测试命令是否均已发送完成,若完成则停止模块运行,不再占用CPU;/nNAND驱动接口模块用于按照NAND驱动程序要求的格式与其进行通信;/n调度模块用于确定各模块间的运行顺序,并根据调度优先级来决定下一步将进入命令发送、反馈接收或数据分析三者之中的哪种操作流程;/n资源管理模块用于管理系统资源,当发送任一命令时,均需要从该模块获取此一类资源;当收取反馈信息或完成数据处理后,需要释放此一类资源到此模块;/n测试启动后,测试管理模块配置信息统计模块,预设各种命令的类型及总数量,之后在调度模块的协调下,命令生成模块向资源管理模块申请系统资源产生测试命令,并由NAND驱动程序接口模块发送至驱动程序,当测试管 ...
【技术特征摘要】
1.一种NAND驱动程序测试系统,其特征在于:包括测试管理模块、信息统计模块、命令生成模块、NAND驱动程序接口模块、资源管理模块及调度模块;
测试管理模块负责监控整个测试流程并进行异常处理;
信息统计模块用于记录当前已发送及接收的命令数量、类型及状态,以及数据处理模块的比对结果;
命令生成模块用于生成各种类型的驱动测试命令,命令生成模块在每次生成命令前,均通过查询信息统计模块确认所需测试命令是否均已发送完成,若完成则停止模块运行,不再占用CPU;
NAND驱动接口模块用于按照NAND驱动程序要求的格式与其进行通信;
调度模块用于确定各模块间的运行顺序,并根据调度优先级来决定下一步将进入命令发送、反馈接收或数据分析三者之中的哪种操作流程;
资源管理模块用于管理系统资源,当发送任一命令时,均需要从该模块获取此一类资源;当收取反馈信息或完成数据处理后,需要释放此一类资源到此模块;
测试启动后,测试管理模块配置信息统计模块,预设各种命令的类型及总数量,之后在调度模块的协调下,命令生成模块向资源管理模块申请系统资源产生测试命令,并由NAND驱动程序接口模块发送至驱动程序,当测试管理模块查询信息统计模块确定全部命令发送完成且相应数据处理完成后,测试结束;
除资源管理模块以外的每一个模块均接受调度模块的管理,分时独立占用CPU资源,实现对CPU的短时时分复用。
2.根据权利要求1所述的NAND驱动程序测试系统,其特征在于:还包括数据处理模块和反馈信息分析模块;
数据处理模块用于将驱动程序返回的数据与预期数据进行比对,并将结果反馈至信息统计模块;
反馈信息分析模块用于分析NAND驱动程序返回的反馈信息,确定每一个反馈信息的内容及格式是否正确,并且是否与发送的命令相对应,同时确认是否存在需要处理的数据,将分析结果发送至信息统计模块和数据处理模块;
测试时,NAND驱动程序接口模块查询驱动程序的反馈信息并将受到的反馈信息发送至反馈信息分析模块,反馈信息分析模块分析后将结果传输至信息统计模块及数据处理模块。
3.根据权利要求1所述的NAND驱动程序测试系统,其特征在于:调度模块调度除资源管理模块以外的每一个模块的过程为:
a、测试系统初始化时,为每一个模块分配独立的栈空间,使各个模块的运行互不干扰;
b、某一模块占用CPU运行时,其他模块的运行情况存入对应的栈中,运行中的模块暂停,将当前运行信息存入自身对应的栈中,并切换至调度模块;
c、由调度模块根据优先级决定下一个占用CPU的模块,任何已暂停的模块在被调度模块启用后,会将栈中存储的中断点信息重装入CPU,因此该模块在之前暂停的位置接续执行。
4.根据权利要求1或3所述的NAND驱动程序测试系统,其特征在于:某一模块占用CPU运行时,其他模块均处于挂起状态,直至调度模块将其唤醒并交付CPU使用权。
5.根据权利要求1所述的NAND驱动程序测试系统,其特征在于:每一个模块在每次阶段性工作完成后,均被调整调度优先级,以确保调度模块按照预设概率进行调度。
6.根据权利要求1所述的NAND驱动程序测试系统,其特征在于:资源管理模块管理包括DDR存储空间、命令上下文记录空间在内的系统资源,资源管理模块不具备独立的CPU占用权力和栈空间,被所有模块调用。
7.根据权利要求1所述的NAND驱动程序测试系统,其特征在于:根据测试需求,每次测试例化1个或多个命令生成模块,每个命令生成模块配置为不相同的功能。
8.根据权利要求7所述的NAND驱动程序测试系统,其特征在于:混合测试时,同时例化多个命令生成模块来生成多种不同类型的命令,从而验证驱动程序对多类型混合命令的处理情况。
9.一种NAND驱动程序测试方法,...
【专利技术属性】
技术研发人员:唐汉钊,
申请(专利权)人:山东华芯半导体有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。