I have a device with a FIFO memory-mapped to an ASYNC bank on BF-533. I sometimes get multiple reads and lose data. What is happening?
The Blackfin Processor pre-fetches instructions to achieve high performance. When a FIFO-based device is connected to the ASYNC memory, speculatively executed instructions
will "confuse" the FIFO. Speculative implies the instruction was about to be executed but it was interrupted. To avoid this behavior, either shut off interrupts prior to the access or
use the MemDMA.
Retrieving data ...