[XMC™]

关于XMC1302BMI修改的介绍

[复制链接]
391|2
手机看帖
扫描二维码
随时随地手机跟帖
Burnon_FAE_2|  楼主 | 2023-11-14 21:03 | 显示全部楼层 |阅读模式
XMC1302是英飞凌推出的一款明星产品,通常被用于通用电机控制和电源储能控制上。XMC1302的样片天生下来是ASC模式,无法通过SWD口Debug以及烧写,为了偏于调试和烧写,需要把BMI修改为Debug SWD模式,下面是修改BMI的一些方法:

一、修改BMI的工具
建议使用官方JLINK调试板,它与通用JLINK是有区别的,可以更改BMI,还有一路串口。如图1所示
c9d515551979334b489133e4efeabb13
图1XMC1302评估板KIT_XMC13_BOOT_001示意图
型号:KIT_XMC13_BOOT_001
使用方法:将子板用手直接掰断,变为图2所示:
1a586d77032dc195d90c5522ed9deea7
图2XMC的Jlink调试子板
这个时候,电控板需要接线到Jlink子板,如图3所示:
09ba29c2f0b58d6069df875bd59ae51b
图3XMC的Jlink调试子板接线示意图
其中对应的引脚定义如表1所示:

2
SDIO
GND
RX
1
SWCLK
VCC
TX
表1XMC1302接线示意表

这个时候,需要利用Mentool工具,接线连接MCU 的串口烧写引脚(上表1中的RX,TX),可以是P0.14,P0.15 或者 P1.2,P1.3修改如下(章节1)所示的BMI配置,使MCU能够执行用户应用程序
由于我们Debug习惯使用SWD接口,我们需要利用英飞凌Dave软件将串口烧写模式改为SWD烧写调试模式,如章节2所述。
也可以通过软件XMCFlasher来进行BMI的修改,如章节三所示,这样修改起来会更加的快捷,更加的方便!
其中将电机电控板的 SDIO、SWCLK、VCC和GND接线至电机控制板如上表1所示,即可连接Keil进行Debug。
二、关于XMC1300 BMI
2.1 MemTool烧写程序与更改BMI
对于 XMC1000 的 MCU,芯片出厂后默认的 BMI 是 ASC_BSL 模式,即串口烧写模式。在这个模式下可以使用 MemTool 通过串口对 MCU 进行烧写。MCU 的串口烧写引脚可以是P0.14,P0.15 或者 P1.2,P1.3。
但是烧写完后,很多人会遇到一个问题,烧写完程序后代码不能运行。这是怎么回事呢?因为程序虽然烧进去了,但是 MCU 依旧处在 ASC_BSL 模式,在这个模式中程序***呆在Burn-In ROM 中执行,不会跳到用户程序执行。
其实 MemTool 中有一个功能是在烧写完程序后修改 BMI,利用这个功能在烧写完程序把BMI 修改为 User Mode SWD0 后,用户代码就能运行了。
下面步骤完成这个设置:

2.1.1 打开 Device | Setup…
93ccbd6465f168e625fdc94c15e5cc71
2.1.2在 Program 一栏中勾选”Set boot mode after program”, 选择烧写程序后要设置的 BMI.
5cf4011e77ec43fc5530794445af515a
注意:
这样烧写完后,BMI 就自动修改了。需要注意的是,修改为 User Mode SWD0 后,MemTool将不能再次对 MCU 进行烧写,因为 P0.14,P0.15 已经被配置为 SWCLK 和 SWDIO (不再是 UART)。如果需要继续使用 MemTool 烧写,需要在 DAVE 中把 BMI 再改为 ASC_BSL模式。同时SWD0模式下可以用JLINK进行调试
2.2、DAVE更改BMI
XMC1300 空白芯片默认 BMI 是串口 ASC 模式,需要更改 BMI 为 SWD 或 SPD 模式后才能在 KEIL 的环境下进行仿真和烧录。使用 DAVE3或 DAVE4 自带的 BMI 设置工具可以很方便更改 BMI
2.2.1Dave 界面图
5de1cc9e915a4d41fad2e8d2edd52d28
2.2.2点击 Get BMI 按键,读取芯片 BMI 值,可见空白片默认“ASC”
d45375845b3a69cb45ae66620c044cf4
2.2.3在下拉菜单里选择 User MODE(DEBUG)SWD0(SWDIO=P0.14,SWDCLK=P0.15),点击 SET BMI
04f9f59d8b285c87530bf96b9d623db1
2.2.4再点击一下 GET BMI 按键,可以读出最新状态,确认无误,更改完成。

2.3 基于XMCFlasher对XMC1302进行BMI的修改
下载完XMCFlasher后,打开XMCFlasher软件如下图所示
7f39fe345f9bb1d46c6510d8a4c590ae
此时按照表1来进行接线,接线连接MCU 的串口烧写引脚(上表1中的RX,TX),可以是P0.14,P0.15 或者 P1.2,P1.3。
此时点击Connect,会出现如下图所示的芯片选择界面,选择XMC1302-Flash大小,根据电机控制板上的XMC1302的型号选择即可,这里我选择的是开发板母版上的搭载的XMC1302-0200
ac3abc8f0974b7c74da392382c836f77
此时,如果得到UniquechipID,则表示已经连接成功
aa54eb953a63a35e8afc6b5377da8032
此时,选择BMIGetSet
211dcf962b1c0adc0b038c510c4b002b
出现以下界面
a1bbbf7fb810fabfa481f93fbf771eb2
单击GetBMI,我们可以得到目前芯片的BMI设置
27304bace23850a38ed145b24f5e8ece
如果需要选择修改BMI,点击上图下方的Select,选择需要的BMI后,再点左边的SetBMI即可完成BMI的修改
7ea2d09a0906fdb5f49fa4def9c481d1
接下来,点击Configurations中的 Setup
229b6301624c7adc222e29b2123b0075
设置成如下选项即可开启SEGGERJlink调试模式,连接Keil即可调试!
1d5f5f2890592854d727048475182b4c

使用特权

评论回复
IFX_OwenSu| | 2023-11-16 10:49 | 显示全部楼层
  感谢分享!
  补充:我们其实也可以通过J-LINK Commander来获取/修改BMI,只需输入getBMI或者setBMI即可。



J-LINK .png

使用特权

评论回复
zwsam| | 2023-11-17 09:33 | 显示全部楼层

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

3

粉丝