win10 wsl 调用ST-LINK_CLI.exe 遇到的问题总结
环境和工具
- 操作系统: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 遇到的问题总结相关推荐
- Qt在Win10下调用系统的软键盘
1.在windows下使用Qt调用系统的软键盘可以使用: QDesktopServices::openUrl(QUrl("osk.exe", QUrl::TolerantMode) ...
- Silverlight调用本机exe程序
要点: 1. Silverlight必须启用OOB模式,以及 Require elevated trust when running in-browser.参考下图设置 注:OOB模式,并不意味着必须 ...
- matlab调用q外部exe文件,Matlab GUI调用外部程序生成exe,DOS窗口输入问题
本帖最后由 gouliang 于 2019-12-23 09:37 编辑 主程序: clc;clear import java.awt.Robot import java.awt.event.* ke ...
- 在Win10 WSL中安装百度Apollo
在Win10 WSL中安装百度Apollo 前言 说明 安装WSL及Ubuntu发行版 配置WSL 1^11 安装 Docker 安装Apollo 局域网其他设备接入Dreamview4^44 前言 ...
- win10 WSL运行32位程序
win10 WSL运行32位程序除了要安装32位兼容库还需要一些额外的操作. WSL下只能运行32位程序,而不能调试!!!需要的话还是换虚拟机吧 1. 首先安装qemu and binfmt sudo ...
- 计算机中的windows任务管理器在哪,Win10系统中的explorer.exe在哪?怎么重启Windows资源管理器?...
重启Explorer.exe是我们修改注册表或者改动设置后需要做的;Win10桌面图标和任务栏不翼而飞,重启Explorer.exe就能解决问题.有用户发现打开win10的任务管理器后找不到Explo ...
- Win10系统无法启动werfault.exe的解决方法教学
Win10系统无法启动werfault.exe的解决方法教学.一些用户在开启电脑的werfault.exe程序的时候,出现了一些问题,提示程序运行出现了错误.那么我们要怎么去解决这个问题呢?一起来看看 ...
- Win10 WSL初体验
马上要考试了,静不下来,早上折腾python,下午玩deepin,晚上开始WSL,太快乐了. 0x00 WSL介绍 其实,WSL就是win10推出的新功能-子系统,全称WindowsSubsystem ...
- Win10 WSL忘记用户密码,重置密码
win10中WSL登录是不用密码的,当需要使用用户权限但是忘记密码的时候,可以使用如下办法以root身份登录WSL并重置密码 1.以管理员身份打开 PowerShell ; 2.输入命令 wsl.ex ...
最新文章
- Mysql源码学习——源码目录结构
- Visual Studio Code搭建TypeScript开发环境
- myeclipse和输入法冲突的问题
- 单列多行转单行单列合并oracle_Oracle - 子查询、TOP - N
- C#打印0到100的素数
- leetcode 69. x 的平方根(C语言)
- jasmine单元测试_使用Jasmine,Spock和Nashorn测试JVM服务器端JavaScript
- C#微信公众号开发系列教程二(新手接入指南)
- Python、数据分析、机器学习、区块链大牛在偷偷看的9本书
- 华中邀请赛现场赛F题 Seats
- .Net配置文件中数据库中连接字符串用法总结
- set vue 修改整个对象值_Vue修改对象或数据,页面没有相应更改
- 《redis设计与实现(第二版)》
- 5个超实用的Excel数据透视表技巧
- 高德地图api汇总(二)插件的使用
- 蓝桥杯 java 跳马问题
- Caltech-UCSD Birds 200 (CUB) 数据库预处理
- ProSpec 胶质源性神经营养因子人重组说明书
- 解决网盘下载速度慢的问题
- 内存规格的解释(Unbuffered DIMM,Registered DIMM和SODIMM)