环境
Ubuntu18.04
安装openOCD
参考:https://www.rt-thread.org/qa/thread-421278-1-1.html
安装依赖
sudo apt-get install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev
sudo apt-get install libtool libsysfs-dev
克隆源码
git clone https://github.com/ntfreak/openocd.git
编译安装
sudo ./bootstrap
sudo ./configure --enable-jlink --enable-cmsis-dap --enable-stlink
sudo make
sudo make install
一键烧写脚本
将以下代码保存为脚本,并将hex文件放在本脚本的目录下
sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg -c "init" -c "reset init" -c "program ./NB_IOT.hex verify reset exit"
运行烧写脚本
chmod +x daplink.sh
./daplink.sh
安装minicom
参考:https://blog.csdn.net/u010164190/article/details/106788655
sudo apt-get install minicom
sudo chmod 777 /dev/ttyUSB0
sudo minicom -s
找到:Serial port setup选项, 配置/dev/ttyUSB0设备.
# minicom -c on //可显示颜色
//帮助
Ctrl-A + Z
l(L)键: 输出log到文件
q键:退出终端
S键:发送文件到目标系统中;
W键:自动卷屏。当显示的内容超过一行之後,自动将後面的内容换行。这个功能在查看内核的啓动信息时很有用。
C键:清除屏幕的显示内容;
B键:浏览minicom的历史显示;
X键:退出mInicom,会提示确认退出。
查找设备文件
参考:http://www.mikewootc.com/wiki/linux/usage/ubuntu_ttyusb_number_vs_device.html
ls -lh /dev/serial/by-id/
这样也能看出个大概, 只是不知道当有两个一样的物理设备时, 这种方法会不会有问题. 至少在我的测试中是好使的, 因为我手里的几个串口都是不同的厂商出的, 所以容易区分.