第1章 DS-5概述 1
1.1 DS-5介绍 1
1.2 DS-5 debugger调试器 2
1.3 DS-5虚拟平台FVP 3
1.4 DS-5的编译器 3
1.4.1 ARM编译器5.0 3
1.4.2 ARM编译器6.0 4
1.4.3 GNU编译器 4
1.5 DS-5 Streamline 5
1.6 DS-5硬件调试器DSTREAM 6
1.7 DS-5的版本管理 7
第2章 DS-5的安装和启动 8
2.1 主机系统需求 8
2.2 DS-5调试系统需求 9
2.3 DS-5的安装 9
2.3.1 DS-5的Linux安装 9
2.3.2 DS-5的Windows安装 10
2.4 DS-5的启动 10
2.5 DS-5工作台窗口简介 11
第3章 DS-5许可证管理和使用 13
3.1 DS-5许可证的申请 14
3.2 单机锁定版许可证的安装 16
3.2.1 在Windows下手动添加许可证 17
3.2.2 在Linux/UNIX下手动添加许可证 17
3.3 网络版许可证的安装 18
3.4 网络版许可证服务器端的设置 19
3.4.1 FlexNet服务器软件的安装 19
3.4.2 使用图形化界面启动Windows下的服务器 20
3.4.3 使用命令行启动Windows下的服务器 21
3.4.4 使用命令行启动Linux下的服务器 21
3.4.5 停止FlexNet服务器 21
第4章 DS-5快速使用实例 23
4.1 导入项目 23
4.2 运行FVP实例 25
第5章 DS-5调试器的使用 27
5.1 调试器的概念 27
5.2 DSTREAM固件维护 28
5.2.1 DSTREAM固件升级 29
5.2.2 DSTREAM的配置 31
5.3 配置和连接调试目标 32
5.3.1 用gdbserver对Linux目标建立连接 32
5.3.2 配置FVP的连接以调试Linux应用 35
5.3.3 配置连接调试Linux内核和驱动 36
5.3.4 配置连接到裸板调试 38
5.3.5 配置连接到裸板上的代码跟踪器 39
5.3.6 配置Rewind连接调试Linux应用 40
5.3.7 使用gdbserver调试Android应用和库 44
5.4 使用FVP调试和跟踪实例 46
5.5 导出已有的配置 50
5.6 导入已有的启动配置 51
5.7 断开目标对象连接 53
第6章 控制程序的运行 54
6.1 加载镜像文件到调试目标 54
6.2 加载调试信息到调试器 55
6.3 关于传递参数到main() 56
6.4 运行镜像文件 57
6.5 断点和监视点 57
6.5.1 设置或删除执行断点 58
6.5.2 设置或删除数据监视点 59
6.5.3 查看数据监视点的属性 60
6.5.4 从文件中导入断点设置 60
6.5.5 导出断点设置到文件 61
6.6 条件断点的使用 61
6.6.1 设置条件断点时的考虑因素 61
6.6.2 给已有断点设置条件 62
6.7 关于挂起断点和监视点 63
6.8 设置跟踪点 63
6.9 设置Streamline的开始和停止点 64
6.10 单步调试 64
6.11 处理UNIX信号 65
6.12 处理器异常处理 66
6.13 配置调试器路径替代规则 67
6.14 程序调用stack 69
6.15 代码跟踪 70
第7章 调试嵌入式系统 72
7.1 调试访问AHB、APB和AXI总线 72
7.2 关于虚拟和物理地址 73
7.3 调试管理程序 73
7.4 调试big.LITTLE大小核系统 74
7.5 调试裸机对称多处理系统 75
7.6 调试多线程应用程序 76
7.7 调试共享库 77
7.8 调试Linux内核 78
7.9 调试Linux内核模块 79
7.9.1 调试内嵌模块 79
7.9.2 调试可加载模块 79
7.10 调试TrustZone 79
7.11 调试UEFI 80
7.12 关于Rewind应用 81
7.13 调试内存管理单元MMU 81
7.14 调试缓存Cache 82
第8章 使用DS-5启动和配置芯片平台 84
8.1 CoreSight系统介绍 84
8.1.1 调试访问接口DAP 84
8.1.2 跟踪源Trace Source 85
8.1.3 跟踪链接Trace Link 86
8.1.4 跟踪输出Trace Sink 86
8.1.5 典型的CoreSight系统设计 87
8.2 PCE工具的使用 89
8.3 导入数据库到DS-5 92
8.4 sdf文件分析 93
8.5 xml文件分析(refertoPaul Snowball.docx training doc) 94
8.5.1 xml文件头 94
8.5.2 项目调试类型 94
8.5.3 调试实体 95
8.6 DTSL介绍 95
8.6.1 创建Jython对象 95
8.6.2 DTSL选项对话框 98
第9章 Snapshot设计和使用 100
9.1 Snapshot初始化文件 100
9.2 CoreSight访问库 101
9.3 CoreSight访问库的移植 102
9.4 使用实例 102
第10章 DS-5与Z-Turn板开发实例 105
10.1 Z-Turn Board硬件平台介绍 105
10.1.1 平台概述 105
10.1.2 JTAG调试接口 107
10.1.3 启动方式 108
10.1.4 硬件连接 108
10.2 简单裸机工程创建及调试 109
10.2.1 创建工程 109
10.2.2 配置工程并编译 113
10.2.3 串口设置 116
10.2.4 配置和调试 118
10.2.5 调试界面说明 121
10.3 调试U-Boot 125
10.3.1 准备源代码 125
10.3.2 配置 125
10.3.3 调试 130
10.4 调试Linux内核 134
10.4.1 配置编译环境 134
10.4.2 编译Linux内核 134
10.4.3 准备源代码 135
10.4.4 内核调试 137
10.5 调试Linux驱动模块 143
10.5.1 编译驱动模块 143
10.5.2 配置调试选项 144
10.5.3 调试 146
10.6 调试Linux应用程序 148
10.6.1 编译应用程序 148
10.6.2 配置RSE 149
10.6.3 调试 153
10.7 使用Streamline性能分析 159
10.7.1 配置编译环境 159
10.7.2 编译Linux内核 159
10.7.3 编译gator.ko驱动模块 160
10.7.4 编译gatord守护线程 161
10.7.5 启动守护线程 161
10.7.6 采集 162
10.7.7 分析 165
第11章 DS-5常见问题解答 170
11.1 License问题 170
11.2 使用问题 181