前言
沁恒家最近也出了个兼容stm32f103 的芯片,但是在jflash中选择 stm32f103 进行烧录似乎,发现速度非常的慢, 可能是其flash的与st的存在一定差异. 经过沟通,可以通过下面方式解决速度的问题:在J-flash中选择沁恒提供的flash 编程算法.
同样沁恒的蓝牙芯片ch579是Cortex-M0的的,也是支持SWD的,原作者索性把CH579/CH578也加了进来
以下用到资料下载地址 https://gitee.com/iot-fan/iot-fan_at_cnblogs/tree/master/CH32F_CH57x_JFLASH
本文适用芯片
- CH32F103x8
- CH32F203x8
- CH32F203xB
- CH32F203xC
- CH578M/CH579M (CH577F/CH578F/CH579F 由于swd引脚没有引出,所以不支持,对于CH579M/578M强烈不建议使用SWD进行生产烧录)
注意事项:
- 以下操作,请在同一个版本的j-flash下操作
- j-flash 需要配合j-link 硬件使用
- CH32F20x内部的实际flash通常比较大,上电后硬件把flash的代码搬到RAM中运行,本历程是读写的实际用户可读写的flash的大小
- CH578M/CH579M SWD不能通过SWD关掉, SWD使能情况下,FLASH是可以通过SWD读出的,使用SWD烧录,需关注该风险
Step 1,拷贝Wch 文件夹到Jflash 的 devices 路径下:
大概位置: C:\Program Files (x86)\SEGGER\JLink\Devices
可能需要管理员权限,才能复制过去
如下图:
Step 2:复制 jflash.txt 中的内容到JLinkDevices.xml 文件的下面,注意格式:
JLinkDevices.xml 文件的路径大概: C:\Program Files (x86)\SEGGER\JLink\JLinkDevices.xml
注意,修改此文件,确保修改成功,可能需要使用管理员权限
如下图(请参考文章开始部分提供的gitee 链接里的文件,可能会有更新)
Step 3,打开 jflash 选择 WCH 的芯片即可:
如: