欢迎来到天天文库
浏览记录
ID:34133486
大小:195.92 KB
页数:3页
时间:2019-03-03
《基于lua的linux内核测试工具开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据第37卷、厂01.37第11期No.1l计算机工程CompdterEngineering2011年6月June2011·开发研究与设计技术·文章■号tlo啡—34勰(2011)ll—_028Ⅻ2文慧标识码tA中圈分类号。TP391基于Lua的Linux内核测试工具开发张达运.汪汉新(中南民族大学电子信息工程学院,武汉430074)l赛:为减小传统的通过编写大量代码来调用Linux内核及驱动接口进行测试的编程难度,缩短测试周期,采用将Lua脚本语言载入Linux内核并使用脚本语言进行内核及驱动测试的方法
2、,设计并实现一种简易Linux内核驱动测试工具。实验结果表明,该工具所占用的Linux内核空间小,使用灵活方便,可对内核及驱动模块进行准确有效的测试。关蚺:Lua脚本语言;Linux内核测试;驱动测试;嵌入式系统D。opmentOfLinuxKernelTestToolBasedevelopmentlest1Olase0nLuaJJOlLUaZHANGDa-yun.WANGHan-ran(CollegeofElectronicsandInformationEngineering,South-centralUn
3、iversityforNationalities,Wuhan430074,China)IAbstractlInordertOshortenthetestcycleandreducetheprogrammingcomplexityofconventionaltestmethodsbycallingtheinterfacesofLinuxkernelanddriversdirectly,thispaperpresentsaschemethatLuascriptlanguageisembeddedintoLinux
4、kerneltotestkernelanddrivers.Moreover,thesimpleLinuxkerneltesttoolisdesignedandimplemented.ExperimentalresultsshowthatthistoolonlyspendsalittleofLinuxkernelspace,anditisflexibleandconvenient.ItCallaccuratelyandeffectivelycompletethetestforkernelanddrivers.[
5、Keywords]Luascriptlanguage;Linuxkerneltest;driverstest;embeddedsystemOOl:10.3969/j.issn.1000-3428.2011.11.098l概述随着Android及其他嵌入式Linux开发平台的兴起,如何快速地进行内核及驱动模块的测试在产品的开发过程中显得尤为重要。目前,比较通用的传统测试方法有2种:一种方法是在用户空间中调用Linux系统所提供的用户接13;另一种方法则是实现内核或驱动测试模块来直接调用内核接口或驱动接IZl。但
6、这2种方法存在诸多问题:(1)Linux通过用户接I:1间接暴露的接IZl是相当有限的。仅使用这些接13,测试用例的覆盖率会非常低,测试结果不能得到保证。同时,测试程序需使用c,C++来实现,代码量大,测试周期长,效率低下。(2)通过编写内核或驱动测试模块可以克服(1)所存在的问题,但是需要开发人员掌握Linux内核技术,编程难度大。(3)2种传统方法的通用性比较差,当Linux内核版本升级或接IZl变化后,测试代码也需要随之更改。(4)在手机及其他Linux嵌入式开发平台的BSP测试中,上述2种方法不能满足
7、嵌入式系统对轻量级的要求。通过对传统内核测试方法的分析及其存在的问题,本文提出一种基于Lua脚本语言的内核空间的测试方法,将Lua编译成内核模块载入到Linux内核中,并作为一个输入输出设备,用户只需通过Lua脚本语言就可实现对内核及驱动的快速测试。2Lua与Linux内棱交互的实现2.ILua■本语育Lua脚本语言是一种轻量级的语言,由标准C语言编写而成,该语言很灵活,容易和传统的C/C++语言进行整合。它能够将脚本语言命令和C语言函数进行绑定调用,这正是本文设计的测试工具选用它的缘由。Laa脚本语言还具有
8、可扩展性⋯,通过注册脚本语言函数和c语言函数,Lua可以随时添加需测试的内核接口或驱动接i:1;此外,Lua是一种跨平台语言,具有平台无关性12J,支持目前广泛使用的Windows、Linux、MacOs等,这对于不同开发平台的BSP测试是极为有利的。2.2Lua与内棱的交互为了实现Lua对内核空间的调用,进而实现对Linux内核及驱动接IZl的测试,必须将Lua脚本语言编译成Linux内核模块,即
此文档下载收益归作者所有