Apr 13, 2021
01:36 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 13, 2021
01:36 AM
Hi All,
I'm running a background task, which is just a simple increment:
while(1){
counter++
}
I see that the runtime of the loop to increase counter to a fixed value heavily jitters.
Assembler code looks OK, there is no optimization. So I think the AURIX architecture does some prediction or optimization. Am I right?
Is there any option to switch the optimization off? I need a predictable runtime.
Many thanks!
Regards,
Aitschebeet
I'm running a background task, which is just a simple increment:
while(1){
counter++
}
I see that the runtime of the loop to increase counter to a fixed value heavily jitters.
Assembler code looks OK, there is no optimization. So I think the AURIX architecture does some prediction or optimization. Am I right?
Is there any option to switch the optimization off? I need a predictable runtime.
Many thanks!
Regards,
Aitschebeet
- Tags:
- IFX
2 Replies
Apr 13, 2021
05:39 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 13, 2021
05:39 AM
How much jitter is "heavily"? The AURIX TriCore CPU does do some speculative fetching, but in most cases, that only results in ~30 ns of variation. Otherwise, AURIX latency is generally very predictable.
Do you have interrupts enabled? Could a periodic interrupt be throwing things off?
Do you have interrupts enabled? Could a periodic interrupt be throwing things off?
Apr 16, 2021
08:18 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 16, 2021
08:18 AM
Hey UC_wrangler,
Thanks for your reply. Finally, I observed that the debug information was just wrong.
The AURIX studio integrated debugger is really messy. :mad: It very often shows wrong variable values.
Regards,
Aitschebeet
Thanks for your reply. Finally, I observed that the debug information was just wrong.
The AURIX studio integrated debugger is really messy. :mad: It very often shows wrong variable values.
Regards,
Aitschebeet