前言
我这边是在linux
工作环境下,所以我这边使用开源工具
openocd↗
进行代码的烧录,在archlinux
环境下使用以下命令进行工具的下载:
sudo pacman -S openocd
烧录指令
根据官方内容,我们可以使用以下指令进行文件的烧录:
openocd -f interface/cmsis-dap.cfg -f target/stm32h7x.cfg \
-c "program out/challenger_h743v2/challenger_h743v2/OHOS_Image.bin 0x08000000 verify reset exit"
这段命令是使用 OpenOCD (Open On-Chip Debugger) 工具来编程和调试 STM32H7 系列的微控制器。我们逐部分解释这个命令的各个内容:
命令分解
openocd -f interface/cmsis-dap.cfg -f target/stm32h7x.cfg \
-c "program out/challenger_h743v2/challenger_h743v2/OHOS_Image.bin 0x08000000 verify reset exit"
openocd
:- 这是执行 OpenOCD 程序的命令。OpenOCD 是一个开源的调试工具,支持多种调试接口,可以用来与目标微控制器进行通信,进行烧录、调试等操作。
-f interface/cmsis-dap.cfg
:- 这个参数指定了 OpenOCD 使用的接口配置文件。在这里,选择的是 CMSIS-DAP 调试器,它是 ARM 官方标准接口,通常用于连接调试器和目标设备。
-f target/stm32h7x.cfg
:- 这个参数指定了目标设备的配置文件,
stm32h7x.cfg
是针对 STM32H7 系列微控制器的配置文件,包含了有关硬件特性(如时钟设置、芯片特性等)的详细信息。
- 这个参数指定了目标设备的配置文件,
-c "program out/challenger_h743v2/challenger_h743v2/OHOS_Image.bin 0x08000000 verify reset exit"
:-c
:用于执行一个 OpenOCD 命令。program out/challenger_h743v2/challenger_h743v2/OHOS_Image.bin 0x08000000
:program
命令用来将一个二进制文件(此处为OHOS_Image.bin
)烧录到目标设备的指定地址(这里是0x08000000
)。
verify
:- 这个选项表示在烧录完成后进行验证,即检查烧录的数据是否与目标地址的内容一致。
reset
:- 烧录完成并验证之后,执行目标设备的重置命令。
exit
:- 最后,执行完所有操作后,退出 OpenOCD 程序。
这条命令的目的是通过 CMSIS-DAP 调试器,使用 OpenOCD 工具将 OHOS_Image.bin
文件烧录到 STM32H7 微控制器的内存地址 0x08000000
,并在烧录完成后进行验证、重启设备,并退出程序。
由于板子的原因,我需要在下载程序前按下复位键,大约1s之后可以松开即可成功烧录。