环境和工具

  • 操作系统:win10 Ubuntu linux 子系统 (wsl)
  • make
  • ST-LINK V2 swd 烧录

要实现的功能

利用make 工具,实现对stm32 单片机一键烧录、擦除、读取hex等功能。实现原理是:命令行模式下 调用 ST 官方提供的命令行工具ST-LINK_CLI.exe,根据不同的参数,实现不同的功能。

遇到的问题

执行脚本,程序打印出ST-LINK CLI 的相关信息后,卡顿一分钟左右(期间ST-LINK V2 黄红灯一直交替闪烁),然后输出can't reset the core unable to connect to the st-link!

问题分析

  • 首先,系统内st-link 的驱动是正常可用的。利用st-link utility 的图形界面工具验证过,是可以正常擦除芯片的。
  • makefile 里面的实现应该也没问题,之前在win7 系统一直使用,能实现完整的功能。makefile的实现如下
STLINK_CLI='/mnt/c/Program Files (x86)/STMicroelectronics/STM32 ST-LINK Utility/ST-LINK Utility/ST-LINK_CLI.exe' erase:$(STLINK_CLI)  -MEread_hex:$(STLINK_CLI) -c SWD -Dump 0x0 0x8000000 a.hex
  • 一直怀疑是wsl 调用Windows 程序的权限问题。但是权限问题解决之后,问题还是存在

问题解决

重新去查看了一遍 STM32 ST-LINK utility software description这个文档,最终找到了根本原因。调用命令行工具时,需要指定是使用JTAG 还是 SWD,否则默认使用JTAG。纳闷的是,我之前一直没指定使用SWD,之前怎么可以实现调用的?难道跟st-link_cli 的版本有关?改过后的makefile 如下

STLINK_CLI='/mnt/c/Program Files (x86)/STMicroelectronics/STM32 ST-LINK Utility/ST-LINK Utility/ST-LINK_CLI.exe' -c SWD freq=480erase:$(STLINK_CLI)  -MEread_hex:$(STLINK_CLI) -c SWD -Dump 0x0 0x8000000 a.hex

win10 wsl 调用ST-LINK_CLI.exe 遇到的问题总结相关推荐

  1. Qt在Win10下调用系统的软键盘

    1.在windows下使用Qt调用系统的软键盘可以使用: QDesktopServices::openUrl(QUrl("osk.exe", QUrl::TolerantMode) ...

  2. Silverlight调用本机exe程序

    要点: 1. Silverlight必须启用OOB模式,以及 Require elevated trust when running in-browser.参考下图设置 注:OOB模式,并不意味着必须 ...

  3. matlab调用q外部exe文件,Matlab GUI调用外部程序生成exe,DOS窗口输入问题

    本帖最后由 gouliang 于 2019-12-23 09:37 编辑 主程序: clc;clear import java.awt.Robot import java.awt.event.* ke ...

  4. 在Win10 WSL中安装百度Apollo

    在Win10 WSL中安装百度Apollo 前言 说明 安装WSL及Ubuntu发行版 配置WSL 1^11 安装 Docker 安装Apollo 局域网其他设备接入Dreamview4^44 前言 ...

  5. win10 WSL运行32位程序

    win10 WSL运行32位程序除了要安装32位兼容库还需要一些额外的操作. WSL下只能运行32位程序,而不能调试!!!需要的话还是换虚拟机吧 1. 首先安装qemu and binfmt sudo ...

  6. 计算机中的windows任务管理器在哪,Win10系统中的explorer.exe在哪?怎么重启Windows资源管理器?...

    重启Explorer.exe是我们修改注册表或者改动设置后需要做的;Win10桌面图标和任务栏不翼而飞,重启Explorer.exe就能解决问题.有用户发现打开win10的任务管理器后找不到Explo ...

  7. Win10系统无法启动werfault.exe的解决方法教学

    Win10系统无法启动werfault.exe的解决方法教学.一些用户在开启电脑的werfault.exe程序的时候,出现了一些问题,提示程序运行出现了错误.那么我们要怎么去解决这个问题呢?一起来看看 ...

  8. Win10 WSL初体验

    马上要考试了,静不下来,早上折腾python,下午玩deepin,晚上开始WSL,太快乐了. 0x00 WSL介绍 其实,WSL就是win10推出的新功能-子系统,全称WindowsSubsystem ...

  9. Win10 WSL忘记用户密码,重置密码

    win10中WSL登录是不用密码的,当需要使用用户权限但是忘记密码的时候,可以使用如下办法以root身份登录WSL并重置密码 1.以管理员身份打开 PowerShell ; 2.输入命令 wsl.ex ...

最新文章

  1. Mysql源码学习——源码目录结构
  2. Visual Studio Code搭建TypeScript开发环境
  3. myeclipse和输入法冲突的问题
  4. 单列多行转单行单列合并oracle_Oracle - 子查询、TOP - N
  5. C#打印0到100的素数
  6. leetcode 69. x 的平方根(C语言)
  7. jasmine单元测试_使用Jasmine,Spock和Nashorn测试JVM服务器端JavaScript
  8. C#微信公众号开发系列教程二(新手接入指南)
  9. Python、数据分析、机器学习、区块链大牛在偷偷看的9本书
  10. 华中邀请赛现场赛F题 Seats
  11. .Net配置文件中数据库中连接字符串用法总结
  12. set vue 修改整个对象值_Vue修改对象或数据,页面没有相应更改
  13. 《redis设计与实现(第二版)》
  14. 5个超实用的Excel数据透视表技巧
  15. 高德地图api汇总(二)插件的使用
  16. 蓝桥杯 java 跳马问题
  17. Caltech-UCSD Birds 200 (CUB) 数据库预处理
  18. ProSpec 胶质源性神经营养因子人重组说明书
  19. 解决网盘下载速度慢的问题
  20. 内存规格的解释(Unbuffered DIMM,Registered DIMM和SODIMM)

热门文章

  1. 最像win的linux,最像Windows的Linux系统发行版
  2. 卡里 约翰爆破压缩包---kali john
  3. CEC2017基础函数说明Python版本
  4. 模拟量输入模块的2、3、4线制的接法图解
  5. Google hosts文件
  6. 【前缀和与差分】- PAT题目
  7. 怎么解决浏览器被劫持的问题?
  8. 笔记:NBU客户端安装
  9. 【百问网7天物联网智能家居】训练营学习笔记(二)(需求分析,框架建立)
  10. 备考红帽的小伙伴们注意啦,RHCA的证书是这样的...