Locking the system bus?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Dear All,

Because of my real-time application, I'm trying to lock the system bus of
the Pocket PC for assuring access time to a memory-mapped I/O port. The
processor I'm using is PXA27X (Dell AXIM X50), and according to the manual,
I turn on bit 23 to gain exclusive bus access for the core.

The code is as follows:


LPVOID virtualAddr;

physicalAddr.QuadPart = 0x48000048; // the Arbiter Control Register
virtualAddr = MmMapIoSpace(physicalAddr, 4, FALSE);
*((UINT32*)virtualAddr) |= 0x00800000; // turn on bit 23

However, the code seems not working. While the bit 23 is on, the whole
system is still working normally. I assume that if the system bus is locked
for the core, at least the LCD must not respond since the system bus
connects the core, the DMA controller, the LCD controller, the USB host
controller, etc.

Is my assumption wrong? Is there anyway that I can make the access time to
the I/O port constant?

Thanks a lot

Site Timeline