国产arm芯片厂家越来越多,这里介绍南京沁恒(就是大家熟知的ch340usb转换芯片那家)推出的国产arm芯片CH32F103芯片,对标stm32F103系列芯片,管脚全部兼容,寄存器全部兼容,但增强了USB功能,有2个usb,一个host,一个device,功能更强,成本更低。但flash下载算法和内部BootLoader和st公司的兼容性有差别。为让大家了解,专门开篇介绍开发和下载的过程。

1.STlink(SW等仿真工具)下载

1.1开发板连接STlink

如下图所示,接法完全如同st芯片。

arm架构国产cpu有哪些 arm芯片国产化_软件设置


1.2 在keil工程中下载

注意:开发代码以及驱动可参考官方EVT包

这里也能下载:


这里举例GPIO_PC13LED工程,

(1)安装器件库,在开发包中找到器件库文件(必须安装才能找到器件) Keil.WCH32F1xx_DFP.1.0.0.pack,打开并安装。

(2)打开GPIO_PC13LED工程文件

arm架构国产cpu有哪些 arm芯片国产化_软件设置_02


(3)打开工程文件后,如下图选择器件,这里选择103C8。

arm架构国产cpu有哪些 arm芯片国产化_工程文件_03


(4)连接STlink后,再配置选项中的Debug项选择仿真下载器,如图:

arm架构国产cpu有哪些 arm芯片国产化_软件设置_04


选择好SW后,能够看到内核数值,表示硬件连接正确,否则需要检查硬件连接。

arm架构国产cpu有哪些 arm芯片国产化_软件设置_05


(6)添加算法文件,在上图中选择flash download选项页,在该页面内选择add,增加算法,算法选择CH32F1xx Flash。然后确定。

arm架构国产cpu有哪些 arm芯片国产化_串口_06


(7)下载

程序编译成功后,点击工具栏的load工具,即可完成下载。

arm架构国产cpu有哪些 arm芯片国产化_软件设置_07


如果下载成功,在输出栏会有下载完成提示。

arm架构国产cpu有哪些 arm芯片国产化_工程文件_08


2.串口下载

2.1硬件连接:

如下图:

Rx—>A9
Tx---->A10
GND–>G
VCC–>3.3
跳线boot0设置为高电平

arm架构国产cpu有哪些 arm芯片国产化_arm架构国产cpu有哪些_09


2.1软件配置:

(1)安装软件:

使用串口下载时要安装官方的专用下载软件WCHISPTool(软件可在软件包中找到WCHISPTool_Setup.exe),注意ST公司的下载软件不能使用,因为内部BootLoader目前不兼容。安装后打开如图所示:

arm架构国产cpu有哪些 arm芯片国产化_串口_10


(2)配置过程

①选择串口–>②如果usb有上拉电阻可去掉此处------>③选择下载串口号------>④选择要下载的HEX或者bin文件------->⑤下载

arm架构国产cpu有哪些 arm芯片国产化_软件设置_11


(3)下载成功后:

arm架构国产cpu有哪些 arm芯片国产化_串口_12


4.USB下载

4.1 USB连接方式如图

arm架构国产cpu有哪些 arm芯片国产化_串口_13


CH32F103有2个USB口,一个是主机usb,一个是设备usb。分别对应的管脚为:

HUSB: PB7------>D+
PB6------>D-

USB: PA12----->D+
PA11----->D-

跳线boot0设置为高电平

软件默认下载使用HUSB,因此可以用一个usb转dip的小模块和开发板连接。

4.2 软件设置

(1)软件设置过程

①选择USB端口–>②解除读保护------>③看到usb设备------>④选择要下载的HEX或者bin文件------->⑤下载

arm架构国产cpu有哪些 arm芯片国产化_arm架构国产cpu有哪些_14


(2)下载成功后:

arm架构国产cpu有哪些 arm芯片国产化_串口_15


5.总结

CH32F103芯片基本使用上和ST的一样,兼容性也比较好。但在flash算法上兼容性不一致。因此,不能使用ST的下载软件,但官方提供的软件下载也十分方便,可以用串口和USB两种方式,USB方式速度更快,不需要开发额外的BootLoader。另外,更突出的是,它是所有国产芯片中价格相对最低的。