因为M33内核是基于 Arm-v8 指令集的架构,比 M4 还要新。所以对应的工具都需要升级一般不能低,KEIL要5.33或以上(最好是5.33—5.36 之间的版本,5.37 编译时有时报错); JLINK 硬件版本V9以上,软件版本要6.98 以上;
1、查看 JLINK 和 KEIL 版本,及 JLINK 软件版本:
*******Keil_v5/ARM/Segger 安装目录下找到
JL2CM3.dll
JLinkARM.dll
JLTAgdi.dll,然后替换掉******
************Segger698_dll*********
(替换的文件在网盘此目录下:01.开发环境搭建(入门必备)/04.SEGGER JLINK/Segger698.zip)
segger 版本最好不要到7.0 , 但dll 低的,可以多安装个6.98 版本,不影响(实测7.22 有客户可以用,有的不可以)
2、显示 no SW-DP found 表示 keil 无法加载下载算法,识别 M33 内核 ID,表示 keil 版本过低,需要把 KEIL 版本升级到 5.33 版本或以上。
3、显示 Cannot Load flash Programming Algorithm,表示 keil 无法加载该下载算法,需要在 Options for Target->Debug->setting ->Flash Download 界面把 size 改成 0x4000。
如果 build Output 提示 No Algorithm found for 70000000H 的话,说明需要工程中加入外部 spiflash 的下载算法(flm 文件)
需要 Options for Target->Debug->setting ->Flash Download 界面,点击 add,加入新的下载算法
4、重新配置环境:
删掉这 2 个,重新打开工程
更新下 jlink 驱动,把目录下的这 2 个文件删掉,重新打开工程 ,选 Cortex-M33。 重新上电,就能找到核了(如果还找不到,需要用另一个方式,用 ISP (boot)模式串口烧录操作,见 SWM341 系列ISP 模式操作 xxxx)。
5、接线不要接错,参考如下,右上角是 Vref,需要接到 MCU 的电源 3.3V.
6、 MCU 的 A8 是 ISP 引脚,这个引脚接低电平上电,是 SWD 烧录模式,或正常的工作模式,如果上电时前 5mS是高电平,会进入 ISP 串口烧录模式,此时 SWD 是不能识别的;
7、如果配置了外部晶振,实际没焊晶振,也可能会有烧录时能烧录,便是不能工作的情况(此时运行的是内振)
8、如果软件设置错了晶振频率,找不到核,不能再下载,可以把晶振短接,或拆掉晶振,尝试配置正确的晶振频率后,焊回;
9、其他原因排查
1) 确认芯片电源(VCC)供电正常
2)确认芯片 CAP 引脚电压正常
3)确认芯片无虚焊连焊
4)确认 jlink 到板子的连接线不超 20CM
5)确认复位引脚不是低电平,低电平会导致芯片一直处于复位状态
来源:华芯微特32位MCU
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。