有的时候eide扩展烧录莫名奇妙就会失灵,弹出"upload busy"的错误,网上也查不到是怎么回事,只好手动打指令,奈何openocd烧录指令又太过麻烦,于是多方查找整了个适合自己的脚本供自己实验,这里把脚本分享出来,方便自己在公司的时候就能在网上找到,也方便各位开发,有更好的方案欢迎提出哈
开发环境:
IDE:vscode+eide扩展
开发板:stm32f103c8t6
烧录器:stlinkv2
目录配置例:
/Program
/build
/Program
-Program.hex
/Core
/Drivers
/MDK-ARM
脚本设置:
#!/bin/bash
path="$1"
filename="$2"
openocd -s "$path" -f interface/stlink.cfg -f target/stm32f1x.cfg -c "program \"$path/build/$filename/$filename.hex\" verify" -c "reset run" -c "exit"
在git bash上输入:
./openocd_script.sh "/path/to/program" "program"
可根据自身实际情况做更改。文章来源:https://www.toymoban.com/news/detail-729298.html
如果项目结构固定,比如上图例子Program项目,输出和项目名相同,输出hex就在build/Program里面,那么连参数也省了:文章来源地址https://www.toymoban.com/news/detail-729298.html
#!/bin/bash
path="$(pwd -W)"
filename="$(basename $PWD)"
openocd -s "$path" -f interface/stlink.cfg -f target/stm32f1x.cfg -c "program \"$path/build/$filename/$filename.hex\" verify" -c "reset run" -c "exit"
到了这里,关于用bash脚本实现openocd一次性烧录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!