国庆期间整个活,去立创打板了个开源的JBC245焊台的pcb到手焊接组装,用的是hc32f460,然后固件只给了个bin文件,
而我身边也只有一个daplink,打开keil发现不能使用bin文件下载到mcu,需要有源码,找ai问了一下午,没有办法解决。
最后又查了几个搜索引擎和ai给出使用pyocd可以去使用bin文件烧录。
首先就踩坑了,一上来就安装python3.14导致后没有合适版本的hidapi的包导致不能安装pyocd。
这样重头开始避免踩坑吧去python官网,下载python3.12 这里是链接

下载安装记得吧红框的勾选上,这个是配置python环境变量,当然你不勾选也行,到时候你需要去安装目录然后执行python,总之勾上是方便你,如果你只需要个别几次使用,可以卸载,卸载是同时删除环境变量的。
安装好了之后用cmd执行pip install pyocd (我这样的环境下是没有问题的,2025年10月14日)
然后等待安装好了就可以使用pyocd了
验证可以输入pyocd list

如果你的烧录器安装好了驱动,那么应该就能看到类似这样的
链接好你的MCU的swd、swc、gnd、和供电 之后使用pyocd erase --chip 有可能会看到这个提示

建议使用pyocd erase --target hc32f460 --chip 其中hc32f460是我的MCU型号,pyocd支持的型号很多,后面应该也会更新,现目前支持的型号在这里
点击展开可以看到支持型号 ctrl+f查找
air001
air32f103xb
air32f103xc
air32f103xe
air32f103xg
air32f103xp
ama3b1kk_kbr
cc3220sf
cortex_m
cy8c64_sysap
cy8c64x5_cm0
cy8c64x5_cm0_full_flash
cy8c64x5_cm4
cy8c64x5_cm4_full_flash
cy8c64xa_cm0
cy8c64xa_cm0_full_flash
cy8c64xa_cm4
cy8c64xa_cm4_full_flash
cy8c64xx_cm0
cy8c64xx_cm0_full_flash
cy8c64xx_cm0_nosmif
cy8c64xx_cm0_s25hx512t
cy8c64xx_cm4
cy8c64xx_cm4_full_flash
cy8c64xx_cm4_nosmif
cy8c64xx_cm4_s25hx512t
cy8c6xx5
cy8c6xx7
cy8c6xx7_nosmif
cy8c6xx7_s25fs512s
cy8c6xxa
hc32a448
hc32a448xa
hc32a448xc
hc32a460
hc32a460xe
hc32a4a0
hc32a4a0xi
hc32f003
hc32f005
hc32f030
hc32f072
hc32f115
hc32f115x8
hc32f120
hc32f120x6
hc32f120x8
hc32f155
hc32f155xa
hc32f155xc
hc32f160
hc32f160xa
hc32f160xc
hc32f190
hc32f196
hc32f334
hc32f334x8
hc32f334xa
hc32f448
hc32f448xa
hc32f448xc
hc32f451
hc32f451xc
hc32f451xe
hc32f452
hc32f452xc
hc32f452xe
hc32f460
hc32f460xc
hc32f460xe
hc32f467
hc32f467xg
hc32f472
hc32f472xc
hc32f472xe
hc32f4a0
hc32f4a0xg
hc32f4a0xi
hc32f4a2
hc32f4a2xi
hc32l072
hc32l073
hc32l110
hc32l130
hc32l136
hc32l190
hc32l196
hc32m120
hc32m120x6
hc32m423xa
k20d50m
k22f
k22fa12
k28f15
k32l2b3
k32w042s
k64f
k66f18
k82f25615
ke15z7
ke17z7
ke18f16
kinetis
kl02z
kl05z
kl25z
kl26z
kl27z4
kl28z
kl43z4
kl46z
kl82z7
kv10z7
kv11z7
kw01z4
kw24d5
kw36z4
kw40z4
kw41z4
lpc11u24
lpc11xx_32
lpc1768
lpc4088
lpc4088dm
lpc4088qsb
lpc4330
lpc54114
lpc54608
lpc5526
lpc55s16
lpc55s28
lpc55s36
lpc55s69
lpc800
lpc824
lpc845
m2354kjfae
m252kg6ae
m263kiaae
m467hjhae
m487jidae
max32600
max32620
max32625
max32630
max32660
max32666
max32670
mimxrt1010
mimxrt1015
mimxrt1020
mimxrt1024
mimxrt1050
mimxrt1050_hyperflash
mimxrt1050_quadspi
mimxrt1060
mimxrt1064
mimxrt1170_cm4
mimxrt1170_cm7
mps2_an521
mps3_an522
mps3_an540
musca_a1
musca_b1
musca_s1
ncs36510
nrf51
nrf51822
nrf52
nrf52832
nrf52833
nrf52840
nrf54l
nrf91
rp2040
rp2040_core0
rp2040_core1
rp2350
rtl8195am
rtl8762c
s32k344
s5js100
stm32f051
stm32f103rc
stm32f412xe
stm32f412xg
stm32f429xg
stm32f429xi
stm32f439xg
stm32f439xi
stm32f767zi
stm32h723xx
stm32h743xx
stm32h750xx
stm32h7b0xx
stm32l031x6
stm32l432kc
stm32l475xc
stm32l475xe
stm32l475xg
w7500
ytm32b1ld0
ytm32b1le0
ytm32b1md1
ytm32b1me0
擦除MCU后,可以使用pyocd flash -t hc32f460 fan.bin --base-address 0x00000000 其中fan.bin 是固件名称,由于我的pyocd是在固件目录下运行的所以可以直接这样,如果你的固件目录在其他地方就填绝对路径

下面能看到编程结果,看到skipped 0 bytes就是没啥问题,全部烧录了,如果是其他我就不知道了。
到这里烧录就完成了。