使用 J-Link 烧录以及调试需要连接到芯片的 JTAG 接口,但是此开发板并没有完整引出 JTAG 的所有引脚需要把 TP7 和 TP8 这两个测试点飞线出来。
引出来之后,按照如下对应关系接线:
PA15: JTDI
PA14: JTCK
PA13: JTMS
PB4: NJTRST
PB3: JTDO
(NJTRST可不接,图中没演示)
接好线后给 J-Link 上电,然后打开 J-Flash,会弹出欢迎界面,选择新建项目后点 Target-Connect,需要设置的信息下图已经圈出来了(图片是连接成功后的效果):
然后到 https://www.gd32mcu.com/cn/download/7?kw=GD32VW5 下载 GD32VW55x Wi-Fi&BLE SDK 并解压,解压后的目录结构如下:
随便拖一个 bin 文件到 J-Flash 窗口,先点击 Target-Erease,再点击 Target-Production Programming:
等待烧录完成。
烧录完成后我们把这个例程所需要的串口线接一下(图中 RX 接你 USB 转串口的 TX,TX 以此类推):
接完后,打开一个可以查看串口的软件并打开串口(这使用 XShell),然后再到 J-Flash 里面点击 Target-Manual Production-Start Application 启动已经烧录的程序(或者你按下板子上的按钮),这时候在串口软件就可以看到例程的输出了(输入help查看帮助):
试试连接 WiFi:
至此,你已经成功运行官方的蓝牙 WiFi 例程。
篇幅限制,本文就不写怎么编译蓝牙 WiFi 例程的完整过程了,请自行参考 SDK 中的 《AN154 GD32VW553 快速开发指南.pdf》文档(以下简称《快速开发指南》)。
建议从 GD32VW55x_RELEASE_V1.0.2\MSDK\examples 下的例子开始,有条件的话尽量使用 SEGGER Embedded Studio + J-Link 开发和烧录程序,体验吊打 基于 eclipse 的 GD32 Embedded Builder(没有 GDLINK 的话无法在 IDE 内下载和调试代码),可以在 IDE 内直接下载代码和调试代码。
这里简单说明下如何解决《快速开发指南》中提到的要找销售获取的 SEGGER Embedded Studio 编译工具链问题问题。费了老大劲也没有渠道联系到 GD 的人,群里iceasy 客服小易帮 AT 了萤火工场的开发也没一直回复,只能自己研究了,没想到很快就折腾出来了(不想吐槽 GD 这操作了,要么你就直接说不支持,没必要这么说了还藏着不给让人难受)。
适合 SEGGER Embedded Studio 使用的编译工具链可以从 《快速开发指南》 的 ”2.3 节 ToolChain 下载“ 中下载到的 toolchain 中提取出来(文件太大,我就不上传了,这里说一下如何提取,方便 toolchain 升级后也知道如何提取)。
toolchain 解压后的目录结构是这样的:
先把 riscv-nuclei-elf 目录复制到 SEGGER Embedded Studio 安装目录的 gcc 目录下,复制后的目录结构:
和 gcc 目录下的其它目录对比后可以发现 riscv-nuclei-elf/bin 目录下缺少了以下文件:
- cc1.exe/cc1plus.exe: 可在 toolchain 的 bin 目录找到
- riscv-nuclei-elf-addr2line.exe/riscv-nuclei-elf-size.exe:可在 toolchain 的 libexec\gcc\riscv-nuclei-elf\10.2.0 目录找到
把这几个文件直接复制过去即可解决。
仅仅是这样就行了么?很显然没那么简单,因为还缺少一些文件。
经过研究发现(过程省略),还需要把 toolchain 里的 lib\gcc\riscv-nuclei-elf\10.2.0 目录复制到 riscv-nuclei-elf/lib 目录下。
至此,你应该可以直接双击打开 SDK 里 examples 目录下的任何 .emProject 结尾的 SEGGER Embedded Studio 项目并编译了:
烧录和调试效果:
《完》