论文部分内容阅读
近年来,嵌入式技术飞速发展,嵌入式产品随处可见。基于ARM核的芯片具有低功耗、高性能的特点,广泛应用于嵌入式产品中。本文旨在研究ARM嵌入式系统异常调试技术,设计并实现一套完整的ARM异常调试系统,加速嵌入式软件开发工具在国内的推广。本文的主要工作和成果包括:针对嵌入式系统异常难于调试,调试器价格昂贵等特点,提出并设计了一套ARM嵌入式系统异常调试工具,其功能和特性包括:1.基于价格考虑因素。系统主要采用软件实现而抛开了价格昂贵的ICD等调试工具,硬件部分仅使用一根通信电缆,只要完成宿主机和嵌入式开发板的通信即可。2.易操作。采用图像化操作界面,方便使用。调试命令简单易记,并提供帮助菜单。3.功能强大。该工具汇聚了系统死机时各种调试方法和路线,自动化完成。可调试各种死机,提供丰富强大的调试功能,能够全方位定位系统问题。4.软件架构好,扩展方便。该工具采用了组件方式的软件架构,方便扩展,在实际使用中根据需求可灵活的修改当前组件也可以方便的添加新组件。本文对ARM嵌入式系统异常调试所涉及的关键技术进行了研究,首次提出并实现了基于ARM处理器和armcc编译器的的堆栈回溯方法,在调试器上就能够直接查看当前所有任务的调用堆栈列表,并以函数名列表的方式进行显示,更方便更准确地定位死机问题。针对死机情况下禁止中断,CPU状态异常等特点,本文独创性的提出了采用轮询式串口通信做为调试通道来解决该问题。在调试工具侧,根据嵌入式开发板运行的不同软件版本,采用动态加载镜像文件解析符号表的方法,设计并实现了符号表数据库,符号表搜索及匹配算法。在结构设计方面,将系统分为三大模块,定义并实现了一个轻量级的适合在UART总线上传输的远程通信模块,位于嵌入式系统内部的简单调试模块EDB(Embedded DeBug system),以及位于宿主机侧的调试控制软件PDB(PC DeBug system),EDB和PDB都采用了组件方式的软件架构,可以灵活方便的增强已有模块的功能以及扩展新模块增加新功能,通过PDB控制EDB,可以方便有效的收集系统信息,对系统进行调试,提高开发效率。在论文中还概括总结了嵌入式系统开发过程中可能遇到的各种错误,以及每种错误的原因、分析、调试方法等。