论文部分内容阅读
随着科学技术的不断进步和IT行业的高速发展,物联网、云计算已经成为了社会生活中的一部分,这个趋势已经难以扭转。嵌入式系统是这些产业应用技术的核心部分,已经渗透到了我们周围的各个领域。由于嵌入式系统有体积小、集成度高、功耗低、可靠性强等特点,需要对其硬件进行高效的设计,片上多处理器(Chip Multiprocessor)逐渐成为主流的计算平台。软件作为嵌入式系统的灵魂,其性能也影响着嵌入式系统运行性能,因此对嵌入式软件的性能要求非常的高。嵌入式软件的性能分析对嵌入式软件开发很重要,开发出一款嵌入式多核代码分析工具对提高嵌入式软件开发效率很有帮助。嵌入式多核代码分析工具由宿主机和目标机两部分组成,主要分为四个模块:二进制插桩模块、性能数据内核支持模块、通信模块和性能数据处理模块。本文描述的基于aCoral操作系统多核代码分析工具是针对软件程序的二进制代码进行处理,可以获取程序中函数的静态调用图、函数运行时间、函数的执行次数、函数的动态调用图,可以得到程序运行时候所在线程的CPU消耗时间、程序所在系统的热点线程和CPU负载。本文研究了ELF格式文件格式以及在ELF格式文件中获取函数的相关信息的方法;分析了四种程序分析的优缺点以及静态二进制插桩和动态二进制插桩的特点,研究了程序二进制插桩的实现;分析了X86平台和ARM平台中函数调用过程,研究了在汇编函数中控制目标函数和桩函数的自动调用和返回。学习了aCoral操作系统,熟悉aCoral的线程切换和时间中断原理;基于上述的相关理论和技术原理,设计了aCoral多核代码分析器的总体框架;实现了各个功能模块的数据结构和功能代码;在理论上推理了精确获取函数执行时间的方法本文最后用本分析器获取函数执行时间的方法和其他工具相关功能方法进行测试对比,本方法能更精确的获得函数的执行时间,并对精确获取函数执行时间方法进行了理论分析。然后对整个系统进行了功能测试,基本完成了预期的功能。