打印
[XMC™]

修改XMC1000 BMI(Boot Mode Index)值的常见方法总结

[复制链接]
1169|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
IFX_Lingling|  楼主 | 2024-7-5 11:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


BMI的值决定了芯片的启动模式和调试配置,这个值在芯片的各个使用阶段都可能需要修改,本文详细的介绍了几种常见的修改方法。


BMI共有五种模式,总结如下:
Boot Mode Index
ASC_BSL
UART引导模式
SSC_BSL
SPI引导模式
User mode HAR(SWD/SPD)
用户模式,但是等在Bootloader程序中
User mode debug
(SWD/SPD)
用户模式,跳到用户程序执行
User prodcutive Mode
量产模式,上电后不执行Bootloader程序,直接跳到用户程序执行

烧录的硬件接口总结如下:

启动状态总结如下:


下文总结了五种常见的修改方法:
方法一:
通过DAVE IDE 进行修改:
在DAVE IDE中提供了窗口修改BMI值,这个在程序开发的过程中非常实用,可以点击Get BMI 获得BMI值,通过Set BMI进行设置BMI值,具体的操作如图1。

图1:DAVE IDE修改BMI值
方法二:
通过J-Link Commander进行修改,调用setbmi设置BMI值,调用getbmi获取当前BMI值,具体的操作如图2。

图2:J_Link Commander 设置BMI值
方法三:利用ROM table中的函数XMC1000_BmiInstallationReq()函数修改BMI的值,这个方便在程序中预留接口进行修改。这个函数存放的地址为0x0000 0108,可以通过下面的方法进行访问:

#define _BmiInstallationReq (0x00000108)
#define XMC1000_BmiInstallationReq (*((unsigned long (**) (unsigned short)) _BmiInstallationReq))
XMC1000_BmiInstallationReq(0xFFC0); // BMI = ASC_BSL
Start-up Mode
Pins used
BMI value
ASC Bootstrap Load Mode (ASC_BSL)
P0.14/P0.15 or P1.3/P1.2
0xFFC0
User Mode (Productive)

0xF8C1
User Mode (Debug) SWD0
P0.14/P0.15
0xF8C3
User Mode (Debug) SWD1
P1.3/P1.2
0xFAC3
User Mode (Debug) SPD0
P0.14
0xF9C3
User Mode (Debug) SPD1
P1.3
0xFBC3
User Mode (HAR) SWD0
P0.14/P0.15
0xF8C7
User Mode (HAR) SWD1
P1.3/P1.2
0xFAC7
User Mode (HAR) SPD0
P0.14
0xF9C7
User Mode (HAR) SPD1
P1.3
0xFBC7
方法四:Infineon 烧录上位机Memtool 可以从ASC_BSL mode 连接芯片,连接以后可以通过Boot Mode修改BMI值。如果改成其它模式,Memtool不能再和芯片保持连接状态,除非改成ASC_BSL Mode才可以重新修改BMI值。

图3:Memtool设置BMI值
方法五:Infineon 烧录上位机XMCTM Flasher 可以从SWD mode连接芯片,进行BMI值的修改,但修改到别的模式以后需要重新设置到SWD模式才能重新连接芯片。

图4:XMCTM Flasher 设置BMI值





使用特权

评论回复
沙发
zlcn| | 2024-7-6 18:52 | 只看该作者
XMC1302 芯片初始是默认为UART引导模式,我之前是尝试用jlink改成串口模式去修改BMI,但是不是每次都成功,但是需要调试的话就是要将UART引导模式改成User Mode Debug 模式

使用特权

评论回复
板凳
IFX-RaymondDUAN| | 2024-8-2 14:04 | 只看该作者
楼主很好的分享!还有一点就是,当BMI模式处于User prodcutive Mode时,在代码里面,还是可以通过调用ROM table中的函数XMC1000_BmiInstallationReq()函数修改BMI。但是,必须先修改为ASC Bootstrap Load Mode。

使用特权

评论回复
地板
IFX-Frank| | 2024-8-2 14:16 | 只看该作者
感谢分享~

使用特权

评论回复
5
ccdd2023| | 2024-11-17 11:35 | 只看该作者
本帖最后由 ccdd2023 于 2024-11-17 17:20 编辑

赞,谢谢分享,还要CPU重启?

使用特权

评论回复
6
IFX_OwenSu| | 2024-11-18 14:59 | 只看该作者
ccdd2023 发表于 2024-11-17 11:35
赞,谢谢分享,还要CPU重启?

断电重启后生效

使用特权

评论回复
7
中国龙芯CDX| | 2024-11-28 10:10 | 只看该作者
在DAVE IDE中提供了窗口修改BMI值,这个在程序开发的过程中非常实用

使用特权

评论回复
8
Amazingxixixi| | 2024-12-2 11:45 | 只看该作者
非常不错的文章,总结精炼,分析到位。

使用特权

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

本版积分规则

认证:
简介:关于英飞凌——我们致力于打造一个更加便利、安全和环保的世界,在赢得自身成功发展的同时,积极践行企业社会责任。

105

主题

189

帖子

5

粉丝