Machine-translated by Google. Questions are authored in English.
Top

Discussion

A driver works when called from one task and corrupts data when called from two. The cause is almost certainly

  • A.shared state in the driver without protection
  • B.the driver's buffer being too small
  • C.an incorrect interrupt priority
  • D.a missing volatile qualifier on a register definition

Answer: A

A fault that requires two callers to appear is by definition a concurrency fault, and driver state in file statics is where to look. Adding a mutex round the entry points confirms the diagnosis quickly even if it is not the final design.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.