在上篇文章中介绍如何利用Fast Model搭建自己的CPU后,很多朋友进行了尝试,生成了自己的CPU,并进行了一些简单的代码调试,但是大家很快发现,Model Debugger调试能力有限。今天就来说说如何利用功能强大的DS-5对自己搭建出来的Model进行开发调试,调试对象可以是操作系统,驱动,应用程序,凡是可以在CPU上执行的代码都可以在Model上用DS-5进行调试。特别是对于一些安全/虚拟化相关的应用和OS,因为有Trace的帮助,在Model上进行开发远比实际芯片简单。
第一步要把你的Model编译成可执行文件,关于如何编译成可执行的Model,在上篇文章中进行过描述,其实就是在编译的时候选上Integrated simulator(ISIM system)。
第二步要把你的Model配置告诉DS-5。启动命令行,All ProgramsARMARM DS-5DS-5 Command prompt,运行cdbimporter ,cdbimporter是用生成DS-5连接Model使用的配置文件,cdbimporter -m Your executable model address.
首先提示输入DS-5配置文件路径,默认即可,直接回车
下面提示输入生成的配置文件路径,默认是“C:\Users\UserName\My Documents\ARM\DS-5\configdb_extension”,当然你可以修改成需要的路径,这个后面在DS-5中需要使用。
确认后我们,cdbimporter会通过CADI(cycle accurate debug interface) Model进行连接,连接后会列出Model中包含哪些核,示例用的Model中只有一个Cortex-A12。
如果是多核的系统可以根据需要选择相应核,这里就默认回车。下一步填入平台生产商的名称,这里我们写ARM。
下面填入平台的名称,这里我们写A12SOC,回车生成DS-5配置文件.
下面启动DS-5,选择Window->Preferences->DS-5->Configuration databases,进入后添加刚刚生成的配置文件。
点击OK确定后点击Rebuild Database,Apply,OK.
第三步,在DS-5中使用刚才导入的配置文件连接运行的模型。
首先从命令行启动开启CADI Server的模型,加上二个参数即可,“YourModel.exe -S -R”.这个时候模型处于监听状态,CADI Server会处理符合CADI标准的调试请求,然后将处理器模型置于相应的状态,并将信息返回给调试器。在DS-5中点击Run->Debug Configurations…新建一个DS-5连接对象去连接模型的CADI Server.
我们将连接命名为A12ModelDebug,如下图示
点击Debug便可以连上前面已经运行A12模型,下图是初始状态
点击红圈,进入Debug状态,其他的操作(单步,断点…)和调试一个正常的SOC无异,红色错误是因为目前该模型并未加载任何应用程序。
至此我们就完成了DS-5对Fast Model的调试配置,模型之中更强大的功能还待你后面慢慢发掘。