May 28, 2020
03:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 28, 2020
03:58 AM
Hi everyone,
I have the sample code MTU_MBIST for MTU module testing, which I download from github/aurix_code_example. However, everytime I run the code, it gets stuck at IfxMtu_clearSram(mbistSel);, and never move to next line/breakpoint.
I looked into the clearSram function and found out, the program really get stuck at line *mtuMemtest |= mask; in IfxMtu_enableMbistShell(mbistSel);
Anybody has the same problem or know why this happens??
Attach the code:
I have the sample code MTU_MBIST for MTU module testing, which I download from github/aurix_code_example. However, everytime I run the code, it gets stuck at IfxMtu_clearSram(mbistSel);, and never move to next line/breakpoint.
I looked into the clearSram function and found out, the program really get stuck at line *mtuMemtest |= mask; in IfxMtu_enableMbistShell(mbistSel);
Anybody has the same problem or know why this happens??
Attach the code:
void test_MTU_MBIST(IfxMtu_MbistSel mbistSel)
{
uint16 errAddr = 0, result;
IfxPort_setPinHigh(IFXCFG_PORT_GPIO1.port, IFXCFG_PORT_GPIO1.pinIndex);
/* Enable MTU clock */
IfxMtu_enableModule();
// /* Initialize the selected SRAM */
IfxMtu_clearSram(mbistSel);
IfxPort_setPinHigh(IFXCFG_PORT_GPIO2.port, IFXCFG_PORT_GPIO2.pinIndex);
/* Error injection is selected */
```
}
- Tags:
- aurix tc277
- IFX
- mtu
3 Replies
May 28, 2020
04:43 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 28, 2020
04:43 AM
What is the value of mbistSel when the problem occurs?
Which AURIX variant are you using (TC27x, TC23x, etc.)?
Which AURIX variant are you using (TC27x, TC23x, etc.)?
May 28, 2020
05:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 28, 2020
05:58 AM
UC_wrangler wrote:
What is the value of mbistSel when the problem occurs?
Which AURIX variant are you using (TC27x, TC23x, etc.)?
my board is TC27x
The mtu code is executed in Cpu0, I've tested it with mbisSel= IfxMtu_MbistSel_dma, IfxMtu_MbistSel_cpu0 and IfxMtu_MbistSel_cpu2. But all has this problem
Jun 09, 2020
01:53 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 09, 2020
01:53 AM
hi,
my problem has been solved by clearing the CpuEndinit before enabling the MTU module and clearing SRAM. However, if the code is running in cpu0, then it couldn't clearSram cpu0sdpr or cpu0pspr. I am not quite sure it ought to be like this, or I made mistakes
/* Enable MTU clock */
uint16 password = IfxScuWdt_getCpuWatchdogPassword();
IfxScuWdt_clearCpuEndinit(password);
IfxMtu_enableModule();
/* Clear Sram*/
IfxScuWdt_setCpuEndinit(password);
password = IfxScuWdt_getSafetyWatchdogPassword();
IfxScuWdt_clearSafetyEndinit(password);
IfxMtu_clearSram(cpu1Dspr);
IfxMtu_clearSram(cpu1Pspr);
IfxScuWdt_setSafetyEndinit(password);
my problem has been solved by clearing the CpuEndinit before enabling the MTU module and clearing SRAM. However, if the code is running in cpu0, then it couldn't clearSram cpu0sdpr or cpu0pspr. I am not quite sure it ought to be like this, or I made mistakes
/* Enable MTU clock */
uint16 password = IfxScuWdt_getCpuWatchdogPassword();
IfxScuWdt_clearCpuEndinit(password);
IfxMtu_enableModule();
/* Clear Sram*/
IfxScuWdt_setCpuEndinit(password);
password = IfxScuWdt_getSafetyWatchdogPassword();
IfxScuWdt_clearSafetyEndinit(password);
IfxMtu_clearSram(cpu1Dspr);
IfxMtu_clearSram(cpu1Pspr);
IfxScuWdt_setSafetyEndinit(password);
This widget could not be displayed.