打印

GD32E230,SPI1端口初始化后,SWD无法烧写。

[复制链接]
1566|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zyl0595|  楼主 | 2020-9-29 17:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
正在调试SPI1通信,使用PA13和PA14作为MISO和MOIS引脚,初始化代码如下:
    /* SPI1_MISO(PA13), SPI1_MOSI(PA14) GPIO pin configuration */
    gpio_af_set(GPIOA, GPIO_AF_6, GPIO_PIN_13 | GPIO_PIN_14);
    gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_13 | GPIO_PIN_14);
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13 | GPIO_PIN_14);
代码下载后发现SPI1通信正常,但是keil SWD直接连接不上芯片了,而且无法下载新的固件,估计SWD功能引脚被初始化成其他用途了,尝试在NRST拉低的情况下烧录,Keil Debuger窗口可以看到芯片,但是烧录过程依然失败,请问有谁遇见过?

使用特权

评论回复
沙发
sonicll| | 2020-9-29 18:29 | 只看该作者
可以试试官方的串口isp工具,把flash里原来的代码擦除

使用特权

评论回复
板凳
lvben5d| | 2020-9-30 11:16 | 只看该作者
本帖最后由 lvben5d 于 2020-9-30 11:17 编辑

引脚复用 注意下, 一定是把SWD引脚复用为其他功能了,否则不会出现无法仿真,查看下手册 耐心就可以解决。 PA13 PA14  芯片所在脚位一般都是SWD功能哦。

使用特权

评论回复
地板
castle520| | 2020-11-23 22:14 | 只看该作者
本帖最后由 castle520 于 2020-11-23 22:18 编辑

E230系列与GD其他系列会有一些不同,查看datasheet里面引脚定义能看到,E230的PA13和PA14是default里面是有PA13、PA14的,意思就是默认就可以当普通IO使用,和其他系列需要重映射才能当普通IO不一样。你把它配置成SPI接口了,就等于屏蔽了SWD了。下一次如果需要使用SWD,就得通过代码配置成SWD复用了。


这种情况下可以使用GD官方的ISP工具进行擦除即可恢复,下面是下载链接,里面有文档解释使用方法:http://www.gd32mcu.com/download/down/document_id/21/path_type/1




使用特权

评论回复
5
欢乐家园| | 2020-11-26 14:55 | 只看该作者
castle520 发表于 2020-11-23 22:14
E230系列与GD其他系列会有一些不同,查看datasheet里面引脚定义能看到,E230的PA13和PA14是default里面是有 ...

原来是这样 啊

使用特权

评论回复
6
欢乐家园| | 2020-11-26 14:56 | 只看该作者
相当于默认了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝