【博文连载】cadence indago征程(五)最强cpu debug工具
发布时间:2022-09-12 17:22:15 所属栏目:应用 来源:
导读: 我们在编写c程序,在调试的时候,希望能够使用visual studio工具,或者eclipse工具,实现单步调试,让我们能够查看c程序的执行状态,从而帮助我们去调试我们写的c程序。
那在soc验证或cpu core验证(以下
那在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工具进行分析。 (编辑:财气旺网 - 财气网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐