Arm Community
Site
Search
User
Site
Search
User
Support forums
Architectures and Processors forum
Precise Memory Error
Jump...
Cancel
State
Not Answered
Locked
Locked
Replies
5 replies
Subscribers
349 subscribers
Views
7711 views
Users
0 members are here
Cortex-M3
Cortex-M
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Precise Memory Error
Susan Davies
over 12 years ago
Note: This was originally posted on 3rd August 2010 at
http://forums.arm.com
I am working with a Cortex-m3 using assembler and am getting "precise memory errors". The manuals refer to this fault a lot, but don't actually explain what it IS and how to fix it. does anybody know?
Parents
0
Peter Harris
over 12 years ago
Note: This was originally posted on 4th August 2010 at
http://forums.arm.com
A precise memory error is one where the core knows which instruction caused the fault. This can correspond to a load or a store accessing memory which does not exist, or a prefetch error where the address where an instruction is supposed to be does not exist.
Imprecise errors are caused by things such as cache line flushes hitting non-existent memory in cached cores. The data may have been in cache for some time, so the core does not know which instruction wrote the data which caused the error.
How to fix it?
Check your code is accessing the correct addresses - commonly caused by pointer corruption in code, or in the case of instruction fetch errors and incorrect linker setup.
Cancel
Vote up
0
Vote down
Cancel
Reply
0
Peter Harris
over 12 years ago
Note: This was originally posted on 4th August 2010 at
http://forums.arm.com
A precise memory error is one where the core knows which instruction caused the fault. This can correspond to a load or a store accessing memory which does not exist, or a prefetch error where the address where an instruction is supposed to be does not exist.
Imprecise errors are caused by things such as cache line flushes hitting non-existent memory in cached cores. The data may have been in cache for some time, so the core does not know which instruction wrote the data which caused the error.
How to fix it?
Check your code is accessing the correct addresses - commonly caused by pointer corruption in code, or in the case of instruction fetch errors and incorrect linker setup.
Cancel
Vote up
0
Vote down
Cancel
Children
No data