STMCU小助手
发布时间:2021-11-8 21:22
|
一、Jlink 不能识别STM32G0B1 系列单片机 1. 命令行方式调用Jlink4 n2 E3 l* B* o3 a 这种情况,Jlink 驱动是独立安装的。从Segger 官网下载最新的Jlink (目前是V7.50a),安装后,即可以识别。# U- X7 t: q. x) s9 x+ I: o' F 5 C6 f7 ?$ S/ U( c! O T9 @ 2. Keil IDE 内不能识别STM32G0B11 N: l/ W$ @; p4 J$ A; N9 | keil -> Flash -> Config Flash Tools ... -> Debug ->(Jlink/J-Trace Cortex) Settings -> SW Device 不能识别到单片机信息。! y3 e: ]" Y% X
Keil 调用的Jlink路径为C:\Keil_v5\ARM\Segger , 通过方法一的方式升级Jlink,出现异常(将Jlink 安装到前面的路径)。没继续深究内部的原因,直接下载最新的Keil,安装后,即可以识别。 + ?' m- N4 q8 n6 c3 T 无论是通过命令行的方式,还是KEIL调用的方式 不能识别STM32G0B1 , 原因都是电脑安装的Jlink 驱动不兼容这款单片机 。) h: B2 _3 u+ ?9 l. P 二、Jlink 不能擦除芯片7 n D7 _6 [& o; H 一直提示 STM32 (connect): Can not attach to CPU. Trying connect under reset. 4 t8 J- q7 I7 @5 T 1. 原因: 用STM32Cubemx 生成代码时,在Project Manager ->Code Generator 页面,勾选了 Set all free pins as analog 。烧录引脚也被设置为了analog 状态,导致不能正常烧录。5 j% T6 ?7 M$ D& c% v8 z8 T 2. 网上看到是做法: mcu 断电 将Boot0 接GND,上电;4 `2 K2 Q( J+ o0 A$ ] 解除Boot0 接GND ,执行擦除。% b! d- Z6 G* H' D) Q& I 我的测试结果是,不能擦除。4 I! _4 p1 e) i- G/ M6 [) X 3. 我的解决办法: l2 T G/ P+ l" q$ q U 用一个按键连接单片机复位脚和GND。 输入擦除芯片命令后,快速按下、松开这个按键。(按键为自动弹起按键,按下为接地状态,松开为断开状态) 当屏幕上出现Jlink 擦除芯片进度条后,立刻停止操作按键。/ b; y! t& x+ |8 ]5 Q 反复以不同频率测试几次,就可以擦除单片机。6 m3 V ]4 H4 x2 ] |
微信公众号
手机版
用一个按键连接单片机复位脚和GND。 输入擦除芯片命令后,快速按下、松开这个按键。(按键为自动弹起按键,按下为接地状态,松开为断开状态) 当屏幕上出现Jlink 擦除芯片进度条后,立刻停止操作按键。 反复以不同频率测试几次,就可以擦除单片机。
一般都是这样搞,特别是把调试端口设成IO状态时。