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 , 其连接引脚为;
CKLINK W806
TRST RESET (PA0)
TMS TMS (PA4)
TCK TCK (PA1)
GND GND
  • 这里使用 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 条评论

发布
问题