3个不稳定版本
0.2.0 | 2022年4月6日 |
---|---|
0.1.1 | 2019年1月14日 |
0.1.0 | 2018年12月26日 |
#1869 in 嵌入式开发
11KB
116 行
mcumeter
mcumeter 包包含一个基于ST Microelectronics STM32F042 MCU和Texas instruments INA260功率计的定制设计功率计板的固件。
该硬件也是开源的,可以在此仓库中找到。
构建
要构建固件,只需调用cargo build --release
,然后在target/thumbv6m-none-eabi/release/mcumeter中找到可烧录的二进制文件。
烧录
OpenOCD
要使用OpenOCD,您需要安装OpenOCD并有一个单独的SWD调试器可用。使用OpenOCD的方法取决于使用的调试接口。一种简单且开源的烧录方法是获取DAPLink接口(例如,通过购买NXP FRDM板并填充SWD引脚)并使用包含的脚本。
# openocd_program.sh target/thumbv6m-none-eabi/release/mcumeter
通过USB / dfu-util
要使用此方法,您需要安装cargo-binutils,可以通过在软件目录外调用cargo install binutils
您还需要安装dfu-util
。
满足这些先决条件后,您需要将生成的ELF二进制文件转换为原始二进制文件
# cargo objcopy --release -- -O binary mcumeter.bin
要将此文件烧录到设备中,您需要将其转换为引导模式,方法是短接标有BOOT的引脚并插上电源。如果设备处于DFU模式,dfu-util会告诉您
# dfu-util -l
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Found DFU: [0483:df11] ver=2200, devnum=50, cfg=1, intf=0, path="20-11.2", alt=1, name="@Option Bytes /0x1FFFF800/01*016 e", serial="FFFFFFFEFFFF"
Found DFU: [0483:df11] ver=2200, devnum=50, cfg=1, intf=0, path="20-11.2", alt=0, name="@Internal Flash /0x08000000/032*0001Kg", serial="FFFFFFFEFFFF"
达到这一阶段后,您可以使用以下方法烧录mcumeter.bin文件
# dfu-util -a0 --dfuse-address 0x08000000 -D mcumeter.bin
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 13048
Download [=========================] 100% 13048 bytes
Download done.
File downloaded successfully
许可证
依赖关系
~18MB
~457K SLoC