论文部分内容阅读
随着嵌入式软件复杂度和规模不断提高,嵌入式软件的质量对整个嵌入式产品的质量起决定性作用,而嵌入式软件的性能直接影响着应用软件的质量的高低。因此嵌入式软件开发人员迫切需要一款性能测试工具,能够有针对性的分析该领域中的嵌入式软件的性能。该工具可以实现统计嵌入式软件的性能信息,方便开发人员查找约束嵌入式软件质量提高的瓶颈,然后有针对性的修改代码。本文主要分析一些主流的性能测试工具的主要特征,研究嵌入式软件性能测试的基本方法。本文论述的性能测试工具是针对计算密集型嵌入式软件而设计的,用于动态分析多任务软件在执行过程中各个函数性能特征。该性能测试工具是参考gprof性能测试工具而设计的,相对于gprof可以支持多线程多任务软件中动态函数和静态函数的性能测试。设计性能测试工具的软件体系结构和内部组成模块,研究性能测试工具中各个模块以及相互关系。设计和实现性能数据收集模块和数据通信模块,改进gprof性能数据分析的算法。首先,研究了性能数据收集模块,不同函数类型性能信息使用不同的数据来表示,采用插桩方式、断点调试技术等手段来实现数据收集;研究性能数据的存储形式,设计并实现性能数据存储过程中能够快速查找并保存性能数据的算法;研究多任务程序设计方式,使用进程跟踪技术,实现多任务性能数据收集。其次,在性能数据分析方面,以gprof性能数据分析为基础,重点研究了性能数据转换的算法。通过修改原有算法的基础上,设计并实现支持动态函数和多任务的性能数据分析。最后,研究嵌入式软件交叉开发的特点,设计并实现宿主机端和目标机端通信模块。设计简单可靠的数据编码策略,传输不同类型的数据;使用操作系统提供API,设置通信配置方式,实现宿主机与目标机之间可控和安全传输数据。根据性能测试工具的测试环境和测试目标,设计出有针对性的测试用例。使用性能测试工具的操作界面运行并分析测试用例,最后分析测试结果来验证性能测试工具基本功能实现情况。通过与其他性能测试工具的比较,证明该性能测试工具的可用性和实用性。