您尚未登录。

楼主 #1 2020-08-11 22:06:51

Blueskull
会员
注册时间: 2020-02-20
已发帖子: 458
积分: 444.5

GD32 ISP模式

请教各位一个问题,GD32怎么使用UART1进入ISP模式?

芯片是GD32F350,QFN28封装。手册说把BOOT0拉高可以进入ISP模式,可以使用UART0@PA9/10或者UART1@PA14/15中的任意一组下载。

然而我做了个板子,CP2102N的TXD和RXD连接GD32 UART1的RXD和TXD,CP2102N的RTS和DTR连接GD32的RST和BOOT0,然后在GD官方的ISP软件里面选择RTS拉低复位,DTR拉高进ISP,超时1秒,波特率试过了9600、57600、115200,都报超时错误。

3.3V没问题,RST和BOOT0电平在点击下载按钮的时候都有跳变(3.3V->0V->3.3V),但是就是进不去ISP模式。

麻烦各位大佬帮忙看看是怎么一回事。

离线

楼主 #2 2020-08-12 13:59:09

Blueskull
会员
注册时间: 2020-02-20
已发帖子: 458
积分: 444.5

Re: GD32 ISP模式

破案了。GD的ISP程序在拉高BOOT0(DTR)到释放RST(RTS)之间没有加延迟。正常物理机系统自带的API延迟可能就够了,但是虚拟机里面协议栈的延迟不确定性导致它不工作。

一半的锅在GD不可靠的程序设计,一般的锅在VMWare不确定的USB协议栈延迟。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn