W806在CDS环境下在线RAM调试.

发布于 2022-06-11 16:36:38

前言

​ W806 默认程序再内部FLASH 中运行,要想使用cklink直接进行RAM 在线调试需要修改 gcc_csky.ld 文件,只需要将程序的 text 段和 rodata 段一同指向 W806的内部RAM 地址即可。需要注意的是整体编译的固件大小不能超过W806 RAM大小,否则是无法调试的。

修改 gcc_csky.ld 文件

​ 使用CDS 打开 创建的工程 打开 gcc_csky.ld 文件修改如下,之后进行重新编译

image-20220611154140837

cklink 连接W806

  • 使用杜邦线连接cklink 和W806 ,其连接引脚为;
CKLINKW806
TRSTRESET(PA0)
TMSTMS(PA4)
TCKTCK(PA1)
GNDGND
  • 这里使用W806 开发板外部供电,不再使用cklink 供电,有可能由于供电不足导致调试失败。
  • 由于W806的PA1 PA4 引脚,有其它额外的功能,请确保调试时,这两个引脚未复用其他功能。

打开T-Head DebugServer

双击桌面上的T-Head DebugServer 图标,如果连接一切正常回西安是如下图片

image-20220611160629606

CDS 设置 debugger 参数

  • 右键 项目,按照如图所示进行 debugger 配置即可

image-20220611160945826

  • 在弹出的 Debug Configuration 选项卡中 ,双击T-Head Application 选项进行打开debug 参数配置页面

image-20220611161149052

image-20220611161402338

  • 在弹出的 Debug 配置页面,选择 Debugger 选项栏,进行配置

    image-20220611161752492

      • Local JTAG 该选项是直接使用cklink 进行调试,无需单独启动 T-Head DebugServer ,两种调试不能同时进行,使用 Local JTAG 进行调试,需要将 T-Head DebugServer 关闭。
      • JTAG Server 该选项需要借助 T-Head DebugServer 进行创建 socket 进行远程调试,配置时候需要将端口号与T-Head DebugServer 创建的端口号保持一致才可以
      • Simulator 该选项主要仿真 CPU核使用
      • OpenOCD 该选项针对RISC -V 系列使用

我们调试W806 一般使用 LocalJTAG 和JTAG Server 两个选项,LocalJTAG 选项需要 cklink 固件与 CDS中内嵌的固件一直,否则会自动升级,无法阻止,JTAG Server 选项不会自动升级。本次我们使用 JTAH Server 选项

image-20220611162559122

  • 配置好后选择 Apply 然后 直接点击 Debug 选项即可,

image-20221110180518938

第一次需要这样配置,随后只需要点击 IDE 界面上的小蜘蛛图标即可,或者右键选择 debug 也是可以的

image-20220611163158020

  • 一且正常的话即可进行单步调试了

image-20220611163358043

2 条评论

发布
问题