您好,欢迎访问沃航(武汉)科技有限公司官方网站
不使用keil,独立烧录py32单片机
2024-12-20 21:11:05

py32作为后起之秀的单片机品牌,以超低的价格,优异的性能一直被大家会吹捧。但是同时也是由于太新了,他的生态还不是很完整。

小沃以前用过st公司的stm32系列,兆易创新的gd32系列,深圳国芯的stc8系列,南京沁恒的ch32系列以及上海乐鑫的esp32系列单片机。

他们由于出来时间较长,都有完整的生态,比如stc8的stc-isp、ch32的WCHISPStudio以及esp32的esptool.py都是可以直接用com口对单片机进行

烧录,而gd32与stm32又都支持jlink录以及isp烧录且协议一样,不止可以通过类似我们公司出品的setdevicetool进行烧录,也可以使用jlink的jflash

进行离线烧录。

但是小沃使用py32测试时,py32的代理商居然说py32仅仅支持通过keil烧录,这样很不适合量产。后来由于小沃自己查资料,并且发现有小伙伴通过

配置jlink成功实现了脱离编译器烧录,再配合py32支持swd接口,所以小沃认定可以通过swd对py32进行独立烧录,通过一定的研究,终于成功了。

现在就和大家分享下:

一、所需工具

(1)daplink

选择daplink的原因也是很简单,因为daplink是完全开源的,因此淘宝上很多便宜的daplink设备,一个daplink不到10元。

相对于jlink,st-link等破解版硬件,daplink不存在山寨的说法。

(2)烧录软件pyocd

py官方推荐的是openocd,但是我看了openocd,它并不像pyocd能一句话命令就在线下载单片机的烧录配置,使用相对于pyocd复杂。

(3)py32单片机

这个不多说,被烧录的对象嘛。

二、连接设备

我们是利用contex系列单片机的swd接口烧录,因此需要将daplinux的swclk与swdio接到正确的位置,同时给单片机供电。

b2.jpga2.jpg

三、安装pyocd

在有python的运行环境中,直接运行pip install pyocd,对于windows系统,需要根据提示运行pip install libusb,然后把下载下来的libusb.dll(在python的Lib目录下的特定文件夹下)复制到python.exe的同级安装目录下。

四、pyocd命令

当daplink连接电脑后,可以打开终端,通过pyocd下命令,常用命令如下:

查询已连接且支持的烧录器

pyocd list --probe

23.png

查询已经安装的芯片配置文件

pyocd list --target

查询需要烧录的芯片是否被支持

pyocd pack find gd32f303rc

24.png

安装需要烧录的芯片配置文件

pyocd pack install gd32f303rc

23.png

查询单独安装的pack

pyocd pack --show

24.png

烧录芯片

pyocd flash --target PY32F002Bx5 py32test.bin

23.png

完整擦除芯片

pyocd erase --target PY32F002Bx5 --chip

24.png

部分擦除

(1)擦除一个sector

pyocd erase --target PY32F002Bx5 --sector 0x8000000

23.png

(2)擦除连续几个sector

pyocd erase --target PY32F002Bx5 --sector 0x8001000-0x8004000(从地址0x8001000到地址0x8004000,不包含地址0x8004000)

pyocd erase --target PY32F002Bx5 --sector 0x8002000+0x2000(从地址0x8002000开始大小为0x2000)

24.png

指定位置写入

pyocd flash --target PY32F002Bx5 --base-address 0x8001000 py32test.bin

23.png

烧录完成后就能正常使用了。


文章作者:沃航科技

联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn