Sep 13, 2021
05:20 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 13, 2021
05:20 AM
Hello
I have played a little with BMI settings.
I have two MCUs on my prototype : XMC1302-0064 and XMC1202-0032
If I change BMI from ASC_BSL to SWD0 for XMC1302, BMI remains setted to SWD0 even after doing a power cycle.
But for XMC1202-0032, after power-on, BMI is always ASC_BSL, and I have to put it in SWD0 mode everytime, in order to use SWD interface for programming
Why is this behaviour ?
I have played a little with BMI settings.
I have two MCUs on my prototype : XMC1302-0064 and XMC1202-0032
If I change BMI from ASC_BSL to SWD0 for XMC1302, BMI remains setted to SWD0 even after doing a power cycle.
But for XMC1202-0032, after power-on, BMI is always ASC_BSL, and I have to put it in SWD0 mode everytime, in order to use SWD interface for programming
Why is this behaviour ?
Solved! Go to Solution.
1 Solution
Sep 16, 2021
01:24 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 16, 2021
01:24 AM
Hi ,
There is BMI handling done by SSW. The startup software (SSW) executed after the user function (in ROM) “Request BMI installation” has been called and has triggered a system reset.
The conditions under which this handling is performed are:
• the last reset was a system reset requested by CPU
• the two half words of SSW0 register are inverse to each other
If all the above conditions are true, the SSW considers SSW0[15:0] content as new BMI value to be installed and executes the following:
• check either the current BMI (in CS0) is User_Productive AND the new value is NOT
User_Productive:
– if yes - erase the complete user Flash and install ASC_BSL (or SBSL if supported)
mode as new BMI value
– if not - install the new BMI value from SSW0[15:0]
• instal all zero in SSW0 to indicate no BMI-programming upon the next reset
• request master reset to be triggered
So this is one way the state can go to ASC BSL. Can you confirm this is not happening at your end?
Best Regards,
Vasanth
There is BMI handling done by SSW. The startup software (SSW) executed after the user function (in ROM) “Request BMI installation” has been called and has triggered a system reset.
The conditions under which this handling is performed are:
• the last reset was a system reset requested by CPU
• the two half words of SSW0 register are inverse to each other
If all the above conditions are true, the SSW considers SSW0[15:0] content as new BMI value to be installed and executes the following:
• check either the current BMI (in CS0) is User_Productive AND the new value is NOT
User_Productive:
– if yes - erase the complete user Flash and install ASC_BSL (or SBSL if supported)
mode as new BMI value
– if not - install the new BMI value from SSW0[15:0]
• instal all zero in SSW0 to indicate no BMI-programming upon the next reset
• request master reset to be triggered
So this is one way the state can go to ASC BSL. Can you confirm this is not happening at your end?
Best Regards,
Vasanth
3 Replies
Sep 16, 2021
01:24 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 16, 2021
01:24 AM
Hi ,
There is BMI handling done by SSW. The startup software (SSW) executed after the user function (in ROM) “Request BMI installation” has been called and has triggered a system reset.
The conditions under which this handling is performed are:
• the last reset was a system reset requested by CPU
• the two half words of SSW0 register are inverse to each other
If all the above conditions are true, the SSW considers SSW0[15:0] content as new BMI value to be installed and executes the following:
• check either the current BMI (in CS0) is User_Productive AND the new value is NOT
User_Productive:
– if yes - erase the complete user Flash and install ASC_BSL (or SBSL if supported)
mode as new BMI value
– if not - install the new BMI value from SSW0[15:0]
• instal all zero in SSW0 to indicate no BMI-programming upon the next reset
• request master reset to be triggered
So this is one way the state can go to ASC BSL. Can you confirm this is not happening at your end?
Best Regards,
Vasanth
There is BMI handling done by SSW. The startup software (SSW) executed after the user function (in ROM) “Request BMI installation” has been called and has triggered a system reset.
The conditions under which this handling is performed are:
• the last reset was a system reset requested by CPU
• the two half words of SSW0 register are inverse to each other
If all the above conditions are true, the SSW considers SSW0[15:0] content as new BMI value to be installed and executes the following:
• check either the current BMI (in CS0) is User_Productive AND the new value is NOT
User_Productive:
– if yes - erase the complete user Flash and install ASC_BSL (or SBSL if supported)
mode as new BMI value
– if not - install the new BMI value from SSW0[15:0]
• instal all zero in SSW0 to indicate no BMI-programming upon the next reset
• request master reset to be triggered
So this is one way the state can go to ASC BSL. Can you confirm this is not happening at your end?
Best Regards,
Vasanth
Sep 20, 2021
10:51 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 20, 2021
10:51 PM
Hello
I am not the author of the firmware inside the MCU, I have got only the hex file.
So the firmware changes BMI to ASC_BSL.
Thank you
I am not the author of the firmware inside the MCU, I have got only the hex file.
So the firmware changes BMI to ASC_BSL.
Thank you
Sep 30, 2021
02:52 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 30, 2021
02:52 AM
Hi,
Does it mean the the firmware was changing the BMI value and the issue is resolved ?
Best Regards,
Vasanth
Does it mean the the firmware was changing the BMI value and the issue is resolved ?
Best Regards,
Vasanth