DS5相关介绍

一. DS5 与 DSTREAM

1. DS5 是一个软件开发工具

ds5
从以下工具发展而来:DS5<RVDS<ADS<SDT,目前除DS5外其他都已停用;
有图形化的streamline性能分析器,可基于C源码,汇编程序,地址对bare裸机程序,uboot,kernel,驱动,app进行热点,程序瓶颈,CPU使用,Cache hit/miss,功耗分析

2. DSTREAM 是一个硬件仿真工具

dstream
共有7个接口,其中ARM JTAG 14,TI JTAG 14,ARM JTAG 20和Coresight 10这4个接口仅有debug功能,同时MICTOR 38,MIPI34,Coresight 20这3个接口有debug+trace功能

二. 安装DS5

  1. 安装虚拟网卡;
  2. 安装DS5-19和完成licence注册
  3. 拷贝模型到安装目录下
  4. 打开DS5

三. DS5的使用

1.新建debug control

use1

2.建立连接

use2

3.load vmlinux

当建立连接后一般都是一些汇编语言,这时候需要将vmlinux load进DS5方便debug
load

4.查看logbuf

logbuf的大小由.config中的CONIFG_LOG_BUF_SHIFT决定,在init/Kconfig中有对应的说明
如何确定log_buf的地址:
目前在arm64中log_buf的地址对应的是system.map中__log_buf对应的地址;
load
arm32对应的地址为system.map的log_buf对应地址的地址,需要ds5找到映射位置后在通过此地址去查看log_buf中的内容:
load

5.load 源码单步调试

load

四:csat的使用

1.csat:CoreSight Access Tool(CSAT)

DS-5的命令行工具,处理器挂住了,通过DS-5无法连接上,只能用CSAT连接上,但是CSAT无法访问到处理器内部的寄存器;
一般访问步骤:
读寄存器,如果不ok,说明总线挂了;
读dram,如果dram不ok,说明mbus挂了;
读PC,如果PC读取不ok,说明CPU挂了

2.CSAT & DS-5 diff

CSAT:通过APB总线连接,CPU挂死之后还能连接上,不能访问到CPU内部的寄存器
DS5:通过CPU连接,CPU挂死之后无法连接上,能够访问到CPU内部的寄存器

3.CSAT的命令

  1. 打开DS5的命令行;
  2. 输入以下命令:
1
2
3
4
csat
con USB
chain dev=auto clk=A
dvo 0
command short name Description
dpmemread dmr Read mememory
dpmemwrite dmw Write memory
dpfileload dfl Load a file into memory
dpfilesave dfs Save a block of memory to file.

example:

1
2
3
4
5
dmr 0 0x00010000 0x50
#save a block of memory to file
dfs 0 0x047fb000 0x350 dram2.bin
#load a file into memory
dfl 0 bin 0x8000 myfile.bin Load binary file into 0x8000 on AP 0