论文部分内容阅读
随着Android系统的日益推广,基于Android SDK的应用开发变得越来越流行。Android SDK软件开发工具包包含了一套完备的开发工具,其中包括Android系统底层的二进制映像、调试器、手机模拟器、文档、示例代码和教程等内容。CK-CPU是杭州中天微系统有限公司在国家863、核高基重大专项等政府重大科技项目支持下研发的自主知识产权嵌入式CPU核,采用自主设计的16/32位混编指令集,具有低功耗、高性能、高代码密度以及易使用等优点。本文在仔细分析了Android SDK的基础上,将该课题的研究内容总结为以下两点:CK-CPU的Android模拟器emulator-csky的开发;整合AndroidSDK的各种工具集资源,使用户可以基于该平台方便的开发Android应用程序并且完成调试的工作。Android模拟器是基于动态二进制翻译技术的手机模拟器,可以无需使用物理设备即可开发、测试Android应用程序。动态二进制翻译技术是在程序运行过程中对源程序进行翻译的技术,它可以克服静态翻译的不足,利用动态信息对源程序进行优化翻译。模拟器emulator-csky的设计是本课题研究的重点与难点,我们重点研究了模拟器的架构和各个模块的实现原理,将模拟器分成四个部分分别设计,分别是CK-CPU模拟、动态翻译引擎、设备管理模块以及外围IP的实现。在模拟csky处理器的过程中,我们用软件模拟了硬件MMU、异常处理和标志位;动态翻译引擎tcg负责将CK-CPU指令集翻译成微指令,最后生成目标机机器码,并介绍了翻译的基本单元tb和tb管理机制;设备管理模块负责管理设备的创建和消除,在本节中我们介绍了模拟器的设备管理qdev机制:最后一个部分是外围IP的模拟,我们模拟了定时器、中断控制器、MAC、UART和LCD控制器等外围设备,将这些设备挂载到模拟的总线上,和其它三个部分一起形成了完备的模拟器系统。针对动态二进制翻译过程中库函数的包装,本文提出了一种库函数的自动包装技术,能够有效的提升动态二进制翻译系统的效率。我们在文章的最后介绍了基于CK-CPU的Android SDK开发例程,发了一个简单的"Hello World"应用程序。