Error retrieving BMI value

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Maddin
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hi guys,

I am in the process of creating a new environment for an Incurcit programming application. For this I have to flash a "XMC1302-0064" with an "Infineon XMC Link Flasher" with a .hex file from our customer. As programming software I use the "Infineon XMC Flasher" and the drivers from SEGGER J-Link Software 7.84d (latest).

My problem is that I can not connect to the microcontroller.

Error message: com.infineon.XMCFlasher.DebuggerExceptions: Error retrieving BMI value

I found out that the microcontroller is by default in a "wrong" BMI for my application.

See: https://wiki.segger.com/Infineon_XMC1000

I tried the solution for my flasher (with DAVE software), but I can't read or change the BMI either.

We already have an "old" programming environment that works perfectly. I changed programmers and the programmer from the old environment also works perfectly on my table. The new programmer did not work in the old environment. I have a second new programmer, but that doesn't work either. So it looks like the new programmers are a little different than the old ones. (I used the same MCU and the same board).

I already read the other topics about the BMI problems, but it looks like the most common solution is to connect 1.3 to SWD and 1.2 to SWCLK to connect to the MCU. But in my case this is not the solution, because it works if I replace the new programmer with the old one. I think is has something to do with the programmer.

When I connect the old programmer to the PC, I get the suggestion to update the firmware on the programmer, which of course I refuse. But this means that there is a different software on the old programmer.

Does anyone have any ideas on how to proceed? Is there perhaps a way to downgrade the software on the programmer?

Thanks in advance, Maddin

0 Likes
1 Solution
sujatapatil
Moderator
Moderator
Moderator
250 replies posted 50 solutions authored 10 likes received

Hi @Maddin,

SPD mode is not supported . Only user mode SWD and ASC mode you can select to connect your MCU using XMC link , flash programmer.

Thanks

Sujata

View solution in original post

0 Likes
3 Replies
Aashita_R
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @Maddin ,

Can you please help me with few queries so that I can look into the issue properly -

1. What do you mean by "programmer" here? Are you pointing towards "XMC Flasher" itself and old programmer and new programmer is relevant to it's version?

2. Can you please confirm that are you using the same device throughout? And you have not received any newer lot of devices where this error is arising?

3. Also, as mentioned in our app note here, the boot mode index can be changed using only boot-mode-index in XMC 1300 device. “Boot from pins” is only supported in XMC1400 series device. This thread might interest you : erase and program xmc1100 using SWD protocol when boot mode is ASC_BSL

4. And, about the programming environment you mentioned - is it DAVE software or is it a custom user environment which you are using at your end?

Please help us with the above and add here in case of any further query.

Best Regards,

Aashita

0 Likes

Hello Aashita,

Thank you very much for your reply. I will try to answer your questions.

1. correct, by programmer I mean the "Infineon XMC Link". We have an old unit in production and a new one on my desk. I think the programmer's firmware is important because that is the only difference between an old and a new device.
2. Yes, I tried all this with the same device. Then I took another one and did the whole thing again because I wanted to make sure it had nothing to do with the device itself.
3. Thank you for that, but I'm not sure if the information can solve the problem. I still can't connect to the MCU, I couldn't set or retrieve the BMI.
4. when I wrote "programming environment", I meant an environment for a worker in a factory. So it includes a needle bed adapter for the devices the MCU is connected to and of course what you asked for, flasher software. The flasher software I use is Infineon's "XMC Flasher". I have also tried the latest version of DAVE IDE. But again, I can't connect.

A few minutes ago I found out something new. I connected the "old programmer" and set the BMI to "UserMode (Debug) SWD0 (SWDIO=P0.14, SWDCLK=P0.15)). Then I connected the "new programmer" to the unit and was able to read the BMI I had set with the old programmer. Then I tried to change back to "UserMode (Debug) SPD0(P0.14)). Since then I can't connect to the MCU.

So it looks like the old programmer can do something with the MCU, but the new one cannot.

Best Regards,

Maddin

0 Likes
sujatapatil
Moderator
Moderator
Moderator
250 replies posted 50 solutions authored 10 likes received

Hi @Maddin,

SPD mode is not supported . Only user mode SWD and ASC mode you can select to connect your MCU using XMC link , flash programmer.

Thanks

Sujata

0 Likes