The Sharp ARM7 and ARM9 CPUs do not deassert the chip select line to external devices upon consecutive accesses to the same area. Some devices require this, including CompactFlash devices. This may be partially related to your problem. To work around this you must insert dummy accesses to other external memory areas. This document provides further details.