论文部分内容阅读
随着计算机技术、微处理器技术及无线射频识别(Radio Frequency Identification,RFID)技术的快速发展,面向RFID手持读写器应用的嵌入式系统的开发,成为目前研究的热门领域。Linux操作系统也以其功能强大、开放源码、可裁剪性等特点,成为经移植而用作嵌入式操作系统的首选。但以Linux为操作系统的面向RFID手持读写器应用的嵌入式系统的开发存在两个关键问题:一是将Linux内核进行裁剪以适用于嵌入式系统时,现有的裁剪方法由于裁剪粒度过大、精度不高而不能满足RFID手持读写器对更小内核体积的需要;二是现有的Linux系统的实时调度算法无法满足RFID手持读写器对更高实时性的要求。为此,本论文主要进行了以下几个方面的研究:针对Linux内核裁剪方法不能满足面向RFID手持读写器应用对更小内核体积的要求,本文提出了一种Linux内核混合裁剪方法。该方法综合利用配置裁剪方法、基于代码分析的裁剪方法和基于调用图的裁剪方法的优点,对面向RFID手持读写器应用的嵌入式Linux内核的可裁剪项进行裁剪,得到了更小粒度、更高精度的内核映像。测试及结果分析表明此方法与配置裁剪方法相比,裁剪率得到了24%以上的提升。针对Linux系统实时性能不能满足面向RFID手持读写器应用对更高实时性的要求,本文提出了一种实时任务分类调度算法。该算法根据实时任务的到达情况进行分类,划分为周期任务和非周期任务,并对不同类型的实时任务使用不同的改进的实时调度算法,降低了系统的调度延迟和截止期错失率。测试及结果分析表明此算法与最早截止期优先(Earliest Deadline First,EDF)、速率单调(Rate-Monotonic,RM)算法相比,嵌入式Linux系统的综合实时性能得到了10%-20%的提高。最后,在ARM(Advanced RISC Machines)公司的S3C2410平台上实现了面向RFID手持读写器应用的嵌入式Linux系统移植,并利用开源软件SkyEye对移植结果进行了验证。结果表明,以上提出的Linux内核混合裁剪方法和实时任务分类调度算法是正确、有效的,所移植的嵌入式Linux系统能够成功、可靠的运行。