datasheet

MacOS之STM32CubeMX和System Workbench系列问题解决

2019-06-15来源: eefocus关键字:MacOS  STM32CubeMX  System  Workbench系列

自从主力机器使用MBP以后,家里的唯一的一台Windows机器就是NAS了,一直远程使用NAS在Win下面玩STM MCU。但是低功耗的J3160跑开发还是慢啊,最近终于下决心把开发环境迁移到MacOS并使用完全开源IDE,决定使用STM32CubeMX和System Workbench的组合。折腾了大约一天,遇到了好几个坑,在MacOS和Win10之间来回折腾最终解决了。在此记录一下并分享给大家。


软件版本:

STM32CubeMX V4.25.0  


System Workbench V2.4


硬件:麒麟座Mini版


MacOS下遇到的问题:


1.1 Eclipse下载的时候报错:

Info : vid/pid are not identical: 0x0483/0x374B 0x0483/0x3748


1.2 Eclipse下载的时候报错:


Error: init mode failed (unable to connect to the target)

*******************

** OpenOCD init failed **


1.3 Eclipse下载的时候报错:


Error: timed out while waiting for target halted

TARGET: STM32F103RETx.cpu - Not halted

in procedure 'program' 

in procedure 'reset' called at file "embedded:startup.tcl", line 490

in procedure 'ocd_bouncer'

** Unable to reset target **

shutdown command invoked


 


Win下遇到的问题:


2.1 Stlink USB communication error


2.2 No Target Connected


 


2.3 Error:Flash Download Failed-"Cortex-M3"


2.4 Cannot load flash programming algorithm


      因为对STM32CubeMX不熟悉, 然后参考了某网站的教程,该教程里面没有提到SYS设置,而STM32CubeMX默认SYS设置里面的Debug选项默认是No Debug, 然后我就开始了烧写,然后就出现了问题1.1(Info : vid/pid are not identical: 0x0483/0x374B 0x0483/0x3748)和问题1.2 (** OpenOCD init failed **)的错误。未配置SYS就进行烧写导致PA13和PA14引脚被错误设置,所以无法下载程序,错误设置后即便修正了SYS设置(Debug选择Serial Wire)也无法正常下载。搜索了很多网上相关的网页,而且尝试升级了STlink V2的固件 (http://www.st.com/en/development-tools/stsw-link007.html ),都没解决问题1.2 。


    而问题1.1的解决比较简单,就是不使用自动生成的cfg配置文件,自定义cfg配置文件并修改其中的 source [find interface/stlink.cfg] 为source [find interface/stlink-v2.cfg] 即可。这两个文件在/Applications/Ac6/SystemWorkbench.app/Contents/Eclipse/plugins/fr.ac6.mcu.debug_2.1.4.201801121207/resources/openocd/st_scripts/interface/下,有兴趣可以看一下,其中一个pid是0x374B,另外一个pid是0x3748,所以使用stlink-v2.cfg这个正确的文件即可,还有一个文件是stlink-v2-1.cfg,里面的pid也不匹配。


     问题1.2折腾无果后,然后决定在Win下面尝试一下,因为原先Win下面用Keil是可以的。然后Keil下载麒麟座自带的跑马灯程序的时候,遇到了问题2.1 (Stlink USB communication error),网上有两个方法解决:升级Keil,或者给STlink-v2固件降级(好吧 我两样都做了),低版本固件地址(V2.J20.S4 链接:https://pan.baidu.com/s/1dHlgYwL 密码:6vwr),解决了问题2.1。再次尝试用Keil下载,遇到了问题2.2(No Target Connected)。


    其实问题2.2的原因和问题1.2一样,都是因为PA13和PA14引脚被错误设置导致的。于是搜了很久,参考了西城无故事的博客(https://blog.csdn.net/liaodong2010/article/details/52734384 )和周勇的博客( http://zhyong319.blog.163.com/blog/static/6857205201276105311857/),他们的解决方式是下载前手动reset大约0.5s然后有一定概率能正常烧写,但是我在周勇的博客评论中看到一个更简单的方法,那就是把Boot0和Boot1拉高,随意写一个能跑的程序然后就能正常烧写了。


      解决了这两个问题以后,再次尝试Keil烧写,遇到了错误2.3和错误2.4,主要原因是因为升级了Keil,板子类型没有选对,在Flash->Configure Falsh Tools配置窗口中,切换到“Utilities"页,按“Setting"按钮进入“Flash download setup"配置窗口,在“Flash download setup"配置窗口点击“Add”按钮,在“Add Flash Programming Algorlthm"窗口中选择STM32F10x Med-density 128k (麒麟座Mini版的处理器是STM32F103CBT6 128k Flash),然后2.3和2.4就都解决了。


 


      然后回到MacOS,再次烧写,遇到1.3错误,解决办法是把配置文件中的 reset_config 这一行改为reset_config none 即可。最后一个问题是,如果在项目名称上点右键,如果直接选择Target-Program chip,我这里无法把最新程序下载到MCU上。不过直接在菜单栏上点击Run是可以下载的。后来发现需要先右键-Build project,然后右键再选择Target-Program chip才可以。所以还是直接菜单栏点击Run最方便。


     最后,我把STlink V2的固件升级到最新,全部都能正常工作了。


      总结一下:


 


MacOS下遇到的问题解决方法:


1.1 Eclipse下载的时候报错:


Info : vid/pid are not identical: 0x0483/0x374B 0x0483/0x3748


解决方法:


使用自定义配置文件进行编译,并进行如下修改:


source [find interface/stlink.cfg] 更改为 source [find interface/stlink-v2.cfg]


自定义配置文件方法,直接右键点击 项目名 Run.cfg 文件并改个文件名,然后右键点击项目树里面的项目名称,选择“Propeties”,然后在Run/Debug Settings-选择项目名-Edit-Debugger-User Defined-Browse 那里选择你自己改名的配置文件:



 


1.2 Eclipse下载的时候报错:


Error: init mode failed (unable to connect to the target)

*******************

** OpenOCD init failed **


解决方法:这里是由于PA13和PA14被错误配置导致的。首先修复STM32CubeMX中的SYS设置,在SYS-Debug中选择Serial Wire。然后拉高Boot0和Boot1烧写一个正常固件,然后拉低他们,就能正常烧写了。


1.3 Eclipse下载的时候报错:


Error: timed out while waiting for target halted

TARGET: STM32F103RETx.cpu - Not halted

in procedure 'program' 

in procedure 'reset' called at file "embedded:startup.tcl", line 490

in procedure 'ocd_bouncer'

** Unable to reset target **

shutdown command invoked


 


解决方法:


修改 * Run.cfg文件,把 reset_config srst_only srst_nogate connect_assert_srst 这一行改为 reset_config none 


配置文件自定义方法参考1.1 解决方法。


Win下遇到的问题解决方法:


2.1 Stlink USB communication error 


解决方法:更新Keil,或者给STLink V2固件降级。V2.J20.S4 链接:https://pan.baidu.com/s/1dHlgYwL 密码:6vwr


2.2 No Target Connected


解决方法:这里是由于PA13和PA14被错误配置导致的。拉高Boot0和Boot1烧写一个正常固件,然后拉低他们,就能正常烧写了。


2.3 Error:Flash Download Failed-"Cortex-M3"

解决方法:这里是由于芯片类型没有选择正确导致的。在Flash->Configure Falsh Tools配置窗口中,切换到“Utilities"页,按“Setting"按钮进入“Flash download setup"配置窗口,在“Flash download setup"配置窗口点击“Add”按钮,在“Add Flash Programming Algorlthm"窗口中选择正确的芯片型号和Flash大小即可。


2.4 Cannot load flash programming algorithm

解决方法:这里是由于芯片类型没有选择正确导致的。解决方法同上。


关键字:MacOS  STM32CubeMX  System  Workbench系列

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic464732.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32CubeMX学习教程之七:ADC读取电压并输出到串口
下一篇:MacOS下STM32CubeMX安装文件双击无反应的解决办法

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

苹果发布macOS Mojave 10.14.6第五个开发者测试版

近日苹果官方发布了macOS Mojave 10.14.6的第五个开发者测试版。最新的开发人员测试版似乎没有什么明显的改变,仅仅是在性能方面有所提升并修复了一些错误。macOS Catalina是macOS下一个重大更新,预计将于今年秋季推出。与此同时,苹果也正在对iOS 12.4进行beta测试,据称这项更新预示着对Apple Card的支持。不过Apple Card预计将于今年秋季推出,目前正在测试中。注册开发用户可在系统偏好设置应用>软件更新并按照说明更新macOS Mojave beta。macOS Mojave 10.14.6将会是macOS Mojave的最后一次更新,因为Apple很快将会转向macOS
发表于 2019-07-16

苹果上架全新MacBook Air,最轻薄12寸 MacBook 被砍掉?

 的 iPad Pro。  苹果推出 iPad Pro 产品已经好几代了,也一直把 iPad Pro 的定位放在“你的下一台电脑”,但由于 iPad Pro 一直搭载的是 iOS,也很难摆脱自己“巨型iPhone”的影子。 今年的 WWDC 上,苹果发布了基于 iOS 13 的 iPadOS 系统,在操作交互,app 界面和文件管理上有了更多独占特性。这是 iPad Pro 取代 MacBook,成为苹果轻薄生产力工具的第一步。  总得来说,iPadOS 是一个定位在 iOS 和 macOS 之间的系统,苹果可以在这个系统上,大胆尝试全新的交互,以实现 iOS 触屏触屏交互和 macOS
发表于 2019-07-11
苹果上架全新MacBook Air,最轻薄12寸 MacBook 被砍掉?

最新公测版发布, macOS Catalina 迎来新的起点

macOS 就在刚刚率先更新了 Catalina 的公测版。这一次的 Catalina 相对于其他系统来说,无论是功能的抢眼程度,还是功能数量都相对较少。不过在经历了两个开发者版本之后,再到今天的公测版本,我却认为 macOS Catalina 本身包含了很多值得了解的隐藏信息。 在 macOS Mojave 中,我们看到的是 macOS 对 Mac 现阶段核心优势的强化。但在 macOS Catalina 中,更多出现的是 Mac 电脑以后的蛛丝马迹。  先从需要隔断的过去开始作为一个十年的苹果用户,我现在都没有完全搞清楚 iTunes 的用法,这也是 iTunes 这款软件最大的问题。而且抛开
发表于 2019-06-25
最新公测版发布, macOS Catalina 迎来新的起点

MacOS下STM32CubeMX安装文件双击无反应的解决办法

更新到5.1.0 RC6版本后双击不行了,需要右键点击app安装文件,选择"显示包内容",然后进入`Contents-MacOS`目录,找到类似于`SetupSTM32CubeMX-5_1_0_macos`的文件,然后假设文件名是`SetupSTM32CubeMX-5.1.0.app`,存放目录为`~/Downloads/STM/en.SetupSTM32CubeMX-5.1.0-RC6/`,那么运行如下命令:`sudo ~/Downloads/STM/en.SetupSTM32CubeMX-5.1.0-RC6/SetupSTM32CubeMX-5.1.0.app/Contents/MacOs
发表于 2019-06-15

苹果融合计划:macOS

        还有一个多月,今年的苹果全球开发者大会(WWDC)就要来了。  这一次,让不同平台间的联系更紧密可能会成为一大主题。macOS 将迎来更多更新。  9To5Mac 援引知情人士的说法称, 即将在 WWDC 上发布的 Mac 操作系统 macOS 10.15 将会加入可由 Siri 控制的‘捷径’和‘屏幕时间’功能。  知情人士称,苹果在 Mac 版‘捷径’上的研发已经超过两年。和 iOS 一样,Mac 版‘捷径’将有一个独立的 app,用户需要在 App Store 下载。它还支持用户定制 Siri 指令,以使用语音快速唤醒。  2 月份,彭博曾报道了苹果的内部代号
发表于 2019-04-27

STM32CubeMX图形化配置软件使用

;                                                         2、BYPASS Clock Source(旁路时钟源),是指无需使用外部晶体时所需的芯片内部时钟驱动组件,犹如芯片内部的驱动组件被旁路了,也就是无需内部的驱动电路了,直接使用外部的时钟信号。3、Crystal/Ceramic
发表于 2019-07-19
STM32CubeMX图形化配置软件使用

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved