学位论文 > 优秀研究生学位论文题录展示

一种基于JTAG的CSoC在线调试器

作 者: 韩桂丽
导 师: 师恩培
学 校: 山东大学
专 业: 计算机应用技术
关键词: 片上调试 驱动 JTAG 可配置系统芯片
分类号: TP311.52
类 型: 硕士论文
年 份: 2011年
下 载: 52次
引 用: 0次
阅 读: 论文下载
 

内容摘要


在半导体业界,集成电路SoC (System on Chip,片上系统)成为目前主导的设计技术。SoC通常将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,通过软硬件协同设计,使应用产品实现小型、轻量、低功耗、多功能、高速度和低成本。SoC集成度和复杂度的增大使测试难度和测试成本不断加大,使可测性/可调试性设计技术在SoC设计方法学中的重要性凸显,也促进了高效率和低成本的JTAG测试技术的标准化和广泛应用。SoC芯片流片后,系统的调试任务大部分集中在嵌入式软件调试,方便的嵌入式软件调试器是实现成功设计和加速上市的关键。CSoC (Configurable System on Chip,可配置SoC)是SoC实现技术中的一类。本文基于CSoC的硬件设计,设计并实现了一种基于JTAG的CSoC片上调试系统。针对市场需求,Agate Logic公司借助其APGA(Adaptable Programmable Gate Array,普适可编程门阵列)技术,在CSoC芯片中集成了高性能8051内核和FPGA (Field-Programmable Gate Array,即现场可编程门阵列)逻辑,使产品具备可编程特性的同时还能获得性价比上的优势。可以说,CSoC是一个可编程、可配置的嵌入式应用开发系统。在本课题中,目标机是Agate Logic公司内嵌高性能8051微控制器硬核的嵌入式系统CSoC,其调试接口为OCDS (On Chip Debugging System,片上调试系统),应用的调试标准为JTAG。宿主机安装业界广泛应用的Keil软件。从通用性与易用性等角度考虑,选择USB作为PC和调试器之间的连接方式。本课题的设计重点和难点是软件设计。为了方便软件代码的设计和维护,将软件划分为3个层次:Keil接口驱动层、USB驱动层和调试器固件层。调试器逻辑处理芯片选择福华先进微电子(FameG)的产品FS7805,本课题利用FS7805的APLIF (Advance Programmable Logic Interface,高效可编程逻辑接口)模块,透过软件来设定APLIF的传输特性,将APLIF模拟成JTAG波形信号控制接口,通过设计适合的波形描述符,利用芯片内部逻辑的命令方式实现调试信号的正确输出。本文中还尝试了另一种调试器的实现方法,即直接从PC推出JTAG逻辑。利用调试器内部的FIFO缓存数据,推出调试信号。论文中比较了两种实现方法的异同,从软件实现的角度认为直接从PC推出JTAG逻辑的方法更高效,移植性与可扩展性更好。在第七章对第二种方法实现的调试器从正确性角度进行了性能评估。本课题用较低的成本实现了软/硬件断点、单步、运行/停止、MCU复位、查看MCU寄存器、读取/修改外部存储器等调试功能,且调试的执行独立于MCU,保证了MCU运行的实时性,对其他SoC的设计具有一定的参考价值。

全文目录


中文摘要  10-12
ABSTRACT  12-14
第一章 绪论  14-18
  1.1 课题的背景  14-15
  1.2 国内外发展现状  15-16
  1.3 课题来源及其研究意义  16-17
  1.4 本文主要研究工作和论文安排  17-18
第二章 调试器系统架构  18-23
  2.1 嵌入式系统调试器综述  18-19
    2.1.1 交叉编译的概念  18
    2.1.2 调试器的基本分类  18-19
  2.2 系统整体架构设计  19-21
    2.2.1 系统框图  19-20
    2.2.2 调试主机  20
    2.2.3 调试器模块  20-21
    2.2.4 目标机模块  21
  2.3 软件分层  21-22
  2.4 实现功能  22
  2.5 调试原则  22
  2.6 本章小结  22-23
第三章 调试器驱动设计  23-35
  3.1 Keil IDE  23-24
  3.2 Keil接口函数  24-32
    3.2.1 调试系统初始化  25-26
    3.2.2 AGDI地址表示  26-27
    3.2.3 存储器接口  27-30
    3.2.4 寄存器接口  30
    3.2.5 调试执行  30
    3.2.6 断点接口  30-32
  3.3 调试器接口函数  32-33
  3.4 调试器软件架构  33-34
  3.5 本章小结  34-35
第四章 JTAG协议与OCDS  35-49
  4.1 调试协议背景  35
  4.2 JTAG协议  35-43
    4.2.1 JTAG基本原理  35-38
    4.2.2 TAP控制器  38-40
    4.2.3 数据访问  40-42
    4.2.4 多器件测试及功能扩展  42-43
  4.3 OCDS  43-48
    4.3.1 OCDS结构  43-44
    4.3.2 调试接口  44
    4.3.3 JTAG指令寄存器  44-45
    4.3.4 Nexus访问  45-46
    4.3.5 特殊功能寄存器  46-48
  4.4 本章小结  48-49
第五章 上位机驱动实现  49-62
  5.1 OCDS的控制  50-52
    5.1.1 Nexus寄存器读写  50-51
    5.1.2 Memory读写  51-52
    5.1.3 执行指令的实现  52
  5.2 调试器功能  52-59
    5.2.1 8051 Register控制  52-54
    5.2.2 各存储器操作  54-57
    5.2.3 Run/Step/Stop/Goto等实现  57-58
    5.2.4 软件/硬件断点  58-59
  5.3 USB驱动控制  59-61
    5.3.1 USB链接,检测,断开  59-60
    5.3.2 USB数据传输控制(读写)  60-61
  5.4 本章小结  61-62
第六章 FS7805固件与系统连接  62-73
  6.1 连接框图  62
  6.2 FS7805固件  62-71
    6.2.1 Command方式  64-69
    6.2.2 FIFO方式  69-71
  6.3 通信约定  71-72
  6.4 固件程序流程  72
  6.5 本章小结  72-73
第七章 调试实现  73-79
  7.1 软件环境的建立  73-74
  7.2 硬件设置  74-75
  7.3 系统流程  75
  7.4 Keil调试  75-76
    7.4.1 开始调试  75-76
    7.4.2 复位/运行/停机/单步操作  76
  7.5 调试器性能评估  76-78
    7.5.1 两种方法分析与比较  76-77
    7.5.2 调试器性能评价  77-78
  7.6 本章小结  78-79
第八章 总结与展望  79-81
附录  81-82
参考文献  82-85
致谢  85-86
攻读学位期间发表的学术论文目录  86-87
学位论文评阅及答辩情况表  87

相似论文

  1. 基于ARM9机车信号系统检测装置的设计与优化,U284.91
  2. 远程多轴步进电机控制驱动系统的研制,TM383.6
  3. 测井油泵无刷直流电动机稳速驱动系统,TM33
  4. 压电陶瓷驱动器迟滞补偿方法研究,TM282
  5. 交流永磁电机的驱动策略对损耗影响的研究,TM351
  6. 高性能计算机I/O总线技术研究,TP336
  7. 面向SMDA的服务建模方法及工具实现,TP311.52
  8. 面向文景转换的角色动画生成技术研究,TP391.41
  9. 视觉伺服四自由度机械臂的研究,TP242.6
  10. 一类欠驱动Lagrangian系统的最优同步控制,TP13
  11. 四旋翼垂直起降机控制问题的研究,TP273
  12. 基于windows的计算机数字控制系统实时性的研究,TG659
  13. 网位仪信号采集与处理平台的设计与实现,S951.2
  14. 物料悬浮速度智能测试系统的设计研究,S220.2
  15. 时间驱动作业成本法在X卷烟物流配送中心的应用探索,F253.7
  16. 情绪对视觉工作记忆表征稳定性的影响,B842.3
  17. 基于ANDROID的H.264视频编解码技术的研究与实现,TN919.81
  18. 掺铒光纤放大器中泵浦激光器驱动源的研究应用,TN248
  19. 深水软管滚筒驱动装置结构及液压系统的研究,TE973
  20. 龙门刨床模拟实验装置的设计,TG551.2
  21. 微流体脉冲驱动—控制的芯片点样系统设计及实验研究,TN402

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com