一,前言
之前win10的openocd由于没添加load elf导致无法调试,所以我就在ubuntu中也装了openocd环境,这样就不用依靠win10了。ubntu14.04无法编译openocd,所以换成ubuntu18.04安装openocd。
二,ubuntu18.04安装openocd及gdb调试
1,下载
git clone git://git.code.sf.net/p/openocd/code openocd
2,安装
sudo apt-get install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev libtool libsysfs-dev texinfo
编译安装
cd openocd #进入目录
./bootstrap #生成引导环境
./configure #生成配置如下图所示
make
make install
openocd -v
3,libusb新版本安装,因为ubuntu18.04中libusb比1.0.22低。 前提
sudo apt-get install autoconf automake libtool
sudo apt install -y libudev-dev
进入安装目录,执行
sh autogen.sh
make
sudo make install
先删除原来的老版本sudo apt-get --purge remove libusb-1.0-0-dev
然后把自己编译的1.0.26版本copy到64bit的lib库路径/usr/lib/x86_64-linux-gnu/下面
cp libusb* /usr/lib/x86_64-linux-gnu/
头文件按原来删除前的样子再创建下 mkdir /usr/include/libusb-1.0/ 然后copy源码中的libusb.h到此文件夹即可
4,安装stlink驱动
# 前提
apt install git make cmake libusb-1.0-0-dev gcc build-essential -y
git clone https://github.com/stlink-org/stlink
cd stlink-develop
cmake .
make
make install
ldconfig
将 ST-Link 设备插入 USB 端口,但不要连接目标板,然后键入
lsusb
看到如下信息
Bus 002 Device 004: ID 0483:3748 STMicroelectronics ST-LINK/V2
也可以继续看信息
st-info --probe
三,openocd调试方法
先打开一个控制台作为gdbserver,输入命令
openocd -f /usr/local/share/openocd/scripts/interface/stlink.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
再打开一个控制台,作为客户端
arm-none-eabi-gdb -ex "target remote localhost:3333" LED.elf
连接成功后
load LED.elf
然后就可以输入gdb常用命令调试了
和我上一篇文章win10中连接openocd调试效果一样。
四,小结
ubuntu安装openocd服务器其实没什么用,而且还很麻烦,但是既然我尝试了,且过程中自己解决了libusb编译报错,版本升级的问题,这种库升级的方法论是通用的。也算学习到了一招,所以有必要记录。另外将来万一PC环境仅有ubuntu,那么这些步骤记录就起到作用了,毕竟花费了大半天时间,说不定有人要参考,但是我自己其实用不上的,因为openocd安装在win10即可连接ubuntu客户端了,哈哈~
标签:openocd,1.0,Apple,--,make,dev,libusb,install From: https://blog.51cto.com/AppleCai/8079191