CH32V307的配置痛点

Posted on Tue, May 13, 2025 单片机

VScode 配置 CH32V307(使用MRS) + Cortex-Debug(1.4.4)

可以参考这两篇 沁恒 CH32V208(三): CH32V208 Ubuntu22.04 Makefile VSCode环境配置 - Milton - 博客园 && VSCode+EIDE开发CH32V系列RISC-V MCU - Wahahahehehe - 博客园

唯一注意到的一点是 如果需要 Debug 的话,需要注意Debug的时候 连接ch32v307Cortex-Debug(1.4.4)的版本

Cortex Debug 降级到 1.4.4

首先是 Cortex Debug 的版本, 当前版本是 1.10.0, 这个版本运行沁恒的 gdb client 会提示如下错误

ERROR: GDB major version should be >= 9, yours is 8; GDB could not start as expected. Bad installation or version mismatch. See if you can start gdb from a shell prompt and check its version (Must be >= 9)

沁恒定制的这个gcc已经8.3很久了, 等着沁恒升级不太现实, 只能将 Cortex Debug 降级到 1.4.4 使用, 这是支持gcc 8的最后一个版本. 在 VSCode 的扩展中打开 Cortex Debug 的介绍页, 在 Uninstall 右侧的小箭头点击展开, 能看到 Install Another Version 的菜单, 在里面选择 1.4.4 安装

为什么(stem32)32bit 这么多结构体

结构体的不同形式

如何对于GPIO端口的复杂配置

芯片通用接口外接引脚的对应关系

PC12—TAMPER-RTC

PC14—-OSC32_IN

PC15—-OSC32_OUT

PC0~PC3—-ADC10~ADC13

PA0~PA7—-ADC0~ADC7

PA4~PA5—-DAC0~DAC1

外设

KEY 高电平3.3V

NREST 高电平

LED1~LED2 低电平0V

GPIO的不同状态

软件配置成输出(推挽或开漏)

推挽→

开漏→高阻 上拉5V

特性 推挽输出 (Push-Pull) 开漏输出 (Open-Drain) 驱动能力 强 弱 (需要上拉电阻) 输出速度 快 慢 电平转换 困难 容易 需要上拉电阻 否 是 应用场景 普通输出,驱动LED等 I2C总线,电平转换,线与逻辑

输入(带或不带上拉或下拉)

或复用的外设功能端口

GPIO_Init

使用

重映射(复用)

IIC (硬件驱动)驱动 OLED (128x66)

CH32V307EVT-R1

对于默认的端口映射就是 PB6 ——>SLC

PB7 ——>SDA

主机模式