让W806 跟STM32一样进行实时调试下载程序

发布于 2022-06-17 06:54:26

本节将为大家讲解如何使用CDS + cklink 实现基于 FLASH 的 debug 与烧录

前期准备

  • 下载链接下方提供的W806 的Flash 下载算法文件w806.flash,由于阿里网盘的分享限制,因此制作了7z格式的自解压exe文件,小伙伴们可放心食用,直接解压即可得到 w806.flash 文件 本次算法文件不包含官方的secboot文件,因此需要 修改 gcc_csky.ld 文件的flash 起始地址

​ flash 算法链接 「W806flash」https://www.aliyundrive.com/s/qsFyBhTnpm2

​ 测试的工程也在链接里面。

  • 修改gcc_csky.ld 文件

​ 本次制作的flash 算法暂未集成 官方的secboot文件,后期会加上!!!

    • 使用CDS 打开 创建的工程 打开 gcc_csky.ld 文件按照图中修改即可,由于未集成secboot 所以需要将程序运行地址提前,修改好后之后进行重新编译,

    image-20220617055759381

硬件连接

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

打开T-Head DebugServer

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

image-20220611160629606

导入flash 下载算法

  • 解压下载的 W806flash.exe 文件,会得到 W806flash 文件夹,文件夹中即下载算法文件 W806.flash

image-20220617061047414

  • 打开CDS 工程,依次点击软件上方的工具栏选项 Window -->> Preferences

image-20220617060800498

​ 在弹出的对话框中按照如图所示,依次点击,进行导入flash 下载算法操作

image-20220617060843508

点击Import 选项后选择 我们刚才解压的flash 下载算法文件即 W806.flash

image-20220617061248979

随后会弹出一个 Modify Flash Template 的对话框,用户根据需要可以进行修改,也可保持默认 点击OK 即可

image-20220617061454631

导入成功后会在右侧显示 Flash 算法的版本以及基本信息,点击 Apply and Close 关闭即可

image-20220617061601856

配置工程使用下载算法

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

image-20220617061854918

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

image-20220617061932945

  • 在参数配置页面按照如图进行配置即可

image-20220617062606405

  • 在 点击 image-20220617062700226进行选择使用的下载算法,在弹出的页面中按照如下配置

image-20220617063256855

配置好后如图所示,点击 Apply and Close 即可

image-20220617063332446

  • 切换的 Debugger 配置选项栏,进行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 选项即可,

<img src="https://zyqmain-1311779619.cos.ap-nanjing.myqcloud.com/img/202206170636307.png";/>

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

image-20220611163158020

  • 一切配置正常后,可以看到如下界面即表示成功
  • image-20220617063954969
  • 如果 小伙伴连接的有串口 0 的话 ,会看到如下打印

image-20220617064047357

断点的设置

由于本次是基于Flash 的调试,因此断点类型需要设置为 硬件断点 或者自动断点 设置方法如下

image-20220617064358298

设置好后,双击侧边栏 即可快捷进行断点设置

image-20220617064537884

随后 即可进行debug 调试了,断开 debug ,按下开发板的 复位键 ,程序即可正常自动运行。

0 条评论

发布
问题