环境搭建
ubuntu 环境下先进行openocd的安装
1
sudo apt-get install openocd
安装依赖
1
apt-get install libusb-1.0-0-dev libftdi-dev
配置文件
先创建ft2232的配置文件ft2232.cfg (文件名随意)
1
2
3
4
5
6
7
8
9
10
11
12adapter driver ftdi
ftdi_vid_pid 0x0403 0x6010
adapter speed 1500
# ftdi_tdo_sample_edge falling
transport select swd
ftdi_layout_init 0x0508 0x0f1b
ftdi_layout_signal SWD_EN -data 0
ftdi_layout_signal nSRST -data 0x0010openocd还有很多设备的配置文件,像stlink、ulink、jlink之类的,配置文件路径默认在
/usr/share/openocd/scripts/interface
- 芯片相关配置的配置
芯片相关配置的路径在/usr/share/openocd/scripts/target
这里需要烧录的芯片是stm32f411ce,所以需要使用配置文件stm32f4x.cfg
为方便起见,我把ft2232.cfg和stm32f4x.cfg都放在了~/openocd目录下
烧录脚本
使用bash脚本来实现烧录指令
stm32_flash.sh
1 | #!/bin/bash |
加好环境变量与执行权限后这样就可以用如下指令直接烧录固件(hex)。
1 | ./stm32_flash.sh <固件路径> |
要烧录其他类型的固件可以修改脚本指令。
比如bin文件的话就加上起始地址,改为flash write_image erase ${1} 0x08000000