使用CodeViser调试RK3399多核芯片的过程

描述

CodeViser是J&D Tech公司开发的一款JTAG仿真器,支持ARM和RISC-V等CPU 核。配套的CVD调试软件提供高效稳定的调试环境,支持源码级调试和强有力的脚本命令。本文讨论使用CodeViser 调试瑞芯微公司RK3399 多核芯片的过程,开发板使用华清FS3399 开发板。

RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。

01串口设置

1、打开Putty串口工具,在右边Connection Type下面选择 Serial,在Serial Line 下面的框中填写COM5(我的机器上是COM5,在你自己的PC设备管理器中,查看你的串口是COM几),在其右边Speed下面的框中,填写波特率为115200。

Linux

2、选择左边Category最下方的Serial,将右边的Flow Control改成None。

Linux

3、按下面的Open按钮,即可打开串口。

注意:串口线要连在RK3399板子的UART2上。

Linux

4、给板子上电,然后再串口中按Ctrl-C,让程序停在boot循环中。如下图:

Linux

02CVD64设置和调试

1、将CVD64仿真器USB电缆与PC机相连,将CVD64的JTAG/SWD适配版与RK3399板子的JTAG端口相连。

2、按板子上的提示,设置板子卡槽边上的拨码开关,选择 JTAG(1 on,2 off,3 off)还是SWD(1 off,2 on,3 on)调试方式。

Linux

3、打开CVD64软件,

Linux

4、设置Coresight中调试用的CodeBase 地址和CTI Base 地址,

Linux

从菜单上选择Config->Interface, 然后,Method选择manual,CPU选择A72A53,core选择6个,我先选择的是SWD调试方式。

Linux

然后,选择Coresight选项卡,设置Base Address->Code Base

A53 Core0,Core1,Core2和Core3地址是0x0000000080030000,0x0000000080032000,0x0000000080034000和0x0000000080036000。

A72 Core4和Core5的地址是0x0000000080210000和0x0000000080310000

Linux

再选择Coresight选项卡,设置Base Address->Cti Base

A53 Core0,Core1,Core2和Core3地址是0x0000000080038000,0x0000000080039000,0x000000008003A000和0x000000008003B000。

A72 Core4和Core5的地址是0x0000000080220000和0x0000000080320000

03SWD调试

1、按System->System Mode-> Up, 系统进入Debug模式,可以进行基本调试了。

Linux

2、按工具条上向右的黄色箭头图标,可以显示调试窗口,

Linux

再按 Debug List View视图中的STEP或OVER按钮或工具条上的Step in或Step Over,就可以进行单步调试了,

Linux

打开寄存器窗口,可看到调试时,有变化的寄存器高亮显示,

Linux

注意:我试了将拨码开关设置成JTAG模式,无法进行调试。

审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分