加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 应用 > 正文

【博文连载】cadence indago征程(五)最强cpu debug工具

发布时间:2022-09-12 17:22:15 所属栏目:应用 来源:
导读:  我们在编写c程序,在调试的时候,希望能够使用visual studio工具,或者eclipse工具,实现单步调试,让我们能够查看c程序的执行状态,从而帮助我们去调试我们写的c程序。

  那在soc验证或cpu core验证(以下
  我们在编写c程序,在调试的时候,希望能够使用visual studio工具,或者eclipse工具,实现单步调试,让我们能够查看c程序的执行状态,从而帮助我们去调试我们写的c程序。
 
  那在soc验证或cpu core验证(以下简称core验证)的时候。我们也是写了c程序(或者汇编程序,以下不区别),在验证环境中运行,怎么能够知道程序在core上的执行结果呢?我们也希望能有像eclipse这样的工具,能够通过IDE工具,能够知道程序的执行过程以及执行结果。
 
  这个时候,indago中的embedded software debug app(以下简称eswd)工具横空出世,解决了上述问题。
 
  一、eswd工具
 
  首先上图,以下是eswd的界面。cpu的名字,叫xxx。支持aarch64和aarch32两种arm架构指令集。包含8个core。
 
  左上角是源代码区,中间是反汇编区,右上角是状态区(用来查看core状态cpu应用,以及切换core),最下面界面是波形区,显示各个core指令流的波形(只记录了pc)。
 
  通过这个工具,就能够知道,我们编写的程序,在cpu上的执行过程,以及执行结果。还能够,单步仿真,单步跳过。而单步功能,不仅仅支持向前跳转,还可以向后跳转。
 
  eswd工具,支持多个core,可以分别查看每个core的执行过程,在状态窗口的状态栏,会显示,当前查看的是哪一个core,以及该core的EL。
 
  在源代码窗口,可以加载源文件。
 
  对于加载的源代码,如果代码有执行过,那么在代码行的前面会有向前向后的按钮,点击该按钮,可以将当前的状态,恢复到执行该行代码的状态。
 
  在debug界面,可以查看变量的值,以及调用栈。
 
  在代码处,右键,选择 choose execution。
 
  会弹出time tables窗口,显示,这个函数,在那些时刻有执行过。
 
  在波形窗口,能够看到各个core的执行pc,以及该pc,所在的函数。
 
  二、总结
 
  该工具,可以让我们知道,程序在cpu上的执行过程,以及执行结果,方便我们去定位问题。而不需要去分析波形,才能得到cpu的执行过程与执行结果。
 
  要想使用eswd工具,显示出这些信息,需要我们去做一些工作,产生database,给eswd工具来分析。
 
  产生database,需要如下的一些文件:
 
  后面,就要详细来说明一下,如何得到上面的文件,最终产生database,并使用eswd工具进行分析。
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!