Cyr1s
发布于 2025-10-14 / 1 阅读
0
0

MCU烧录程序小记

国庆期间整个活,去立创打板了个开源的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就是没啥问题,全部烧录了,如果是其他我就不知道了。

到这里烧录就完成了。


评论