找回密码
 注册
关于网站域名变更的通知
查看: 297|回复: 2
打印 上一主题 下一主题

RISC-V生态全景解析8——平头哥玄铁CPU调试系统介绍

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-5-30 10:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1、调试系统的基本介绍
/ n" B% ~* \1 e4 a& X
/ f& B, {/ V' r$ k* U调试系统是一套为基于硬件调试模块,结合软件调试工具,为开发者提供解决软硬件bug的技术系统。软件调试部分包括调试工具、link及其固件。硬件调试部分包括调试模块(Debug Module)。: p) Y4 H. r' w: n/ i  _6 x4 ]& K
例如图1所示,在典型的mcu调试系统中:
" S2 d2 s" b  g, S4 V* W9 M4 M& w1 U调试工具(Debug Tools)是面向开发者调试的软件工具,一般运行在开发人员的主机、服务器等场景下。常见的有调试工具有GDB、IDE等,如T-HEAD的riscv工具链中的gdb,CDK,DebugServer等工具。开发者使用这类工具进行软件程序的调试、分析工作;
1 r6 K3 U' I, k$ |6 G1 G$ c2 S由于调试主机无法直接与CPU上的调试单元连接,因此需要link作为中间转换工具,使得调试工具的操作能够真实地作用在CPU上,比如平头哥的CkLink,Segger的JLink等等;
! b, s0 A6 b4 G' qCPU上的调试模块(Debug Module)是支持大部分调试手段的基础,实现对CPU的控制和读写寄存器、读写内存等功能。/ X5 A3 g: {! _* _5 ]

: v4 L, K+ v/ E1 A8 ]2、玄铁CPU调试系统总览
  v/ M$ w, K% D: B: r * l6 J7 x8 C4 x& T
如图2.1所示,玄铁CPU调试系统主要由以下几部分组成:0 _% l3 u1 A3 t( Y6 O, D9 e
软件运行环境,指软件运行的实际环境,包括模拟器、普通硬件环境(Bare METAl)、基于linux内核的环境;& B" w  M4 B3 _2 C
Debug Monitor,主要指配合调试工具,对被调试程序进行调试控制的工具,包括DebugServer/OpenOCD/GDBServer等。对于实际开发板来说,往往还需要在线仿真调试工具(cable/link),如CkLink, JLink等;
' L  \* O" A* K9 N! v7 o6 |/ \. S调试/Profiling工具,是开发者经常使用的用于调试程序的工具,主要包括GDB、peRF、CPF、Trace、Flash Programmer等;  f, i9 Q) E/ ?/ g1 C$ p
用户接口,是用户直接接触到的操作界面,主要是命令行工具(CMD Line)、剑池CDK、剑池CDS等。其中大部分调试/profiling工具大部分都支持命令行方式呈现。剑池CDK、剑池CDS相比命令行工具,有友好的界面,具有更好开发体验。( k, ~; c- b  o. T
3 S) Q$ }1 Q/ E: h6 x
2.1 玄铁CPU的硬件调试框架  a$ p6 O( a/ k
在玄铁CPU的硬件设计上,调试功能集中在调试模块(Debug Module)中基本结构如图2.2所示。基于该架构,调试模块的各个功能可以覆盖各种IoT设备领域的CPU,包括低功耗、音频处理、视频处理、计算型等领域的CPU。- R6 F1 ~( {3 A- |% x; X5 h

! k0 D2 {# ]1 R! b玄铁CPU中的调试模块,是基于《RISC-V Debug SPEC v0.13.2》实现的,实现的功能包括:复位及调试控制、寄存器访问、内存访问、断点等功能。* N$ ^( B6 ], O

# ~1 i2 Q1 F& k5 b2 s基本的调试功能介绍:) l8 d, k7 i* x7 m- Q7 n: @
Break-Point功能:Break-Point功能俗称断点功能,即插入断点,使CPU运行到断点位置后停住。开发人员可在断点位置继续进行其他调试手段操作,如读写内存、读写寄存器等。5 ~+ q! s) W: M: m
Watch-Point功能:Watch-Point功能是一种对数据访问的调试手段。可以观测某个内存地址是否发生了数据读写行为。
2 N  V4 a. f9 }* k" j/ S寄存器访问:访问CPU的寄存器能力,包括通用寄存器,控制寄存器等。
5 y: ~3 j$ M: ^0 F2 Y内存访问:访问总线上内存以及外设区的能力,可以读写内存上的数据,外设的控制/数据寄存器。9 p5 J5 P7 j' G+ _* I9 A7 x3 D
调试控制:指的是单步执行指令、使CPU进入调试模式、全速运行等功能。
1 e0 \7 y! d  p, l3 j& U' v& h

该用户从未签到

2#
发表于 2022-5-30 13:18 | 只看该作者
学习学习。||ヽ(* ̄▽ ̄*)ノミ|Ю

该用户从未签到

3#
发表于 2022-5-30 16:23 | 只看该作者
学习学习。||ヽ(* ̄▽ ̄*)ノミ|Ю
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 01:20 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表