a quick update (mostly for interesting reading
):
i've been working to connect the OLED display up to an AT91RM9200, both with serial (SPI) and parallel interfaces (EBI) interfaces. the serial has progressed well, and i've been able to display pictures on the screen through linux on the AT91. i've had quite a bit of trouble with the parallel memory interface, both i think due to my inexperience with accessing and coding for physical memory in linux, and to it being my first try at parallel, high-speed access with this display. it's also really tricky because i don't have tools yet to help with debugging (a JTAG debugger is on it's way from Sparkfun), or a logic analyzer that could capture data at SDRAM memory speeds.
i decided that while the parallel interface is pretty simple conceptually, i'd probably get a lot more from the interface by tinkering around and sending data to it manually -- both to verify that the interface works, and just to learn more about the protocol. i hooked up the OLED breadboard to a Spartan 3E starter kit, and wrote some picoblaze code to interface with it. the OLED can interface either with 8080 (read/write strobe) or 68k (read/write select, output enable) memory modes. The AT91 uses the 68k mode, which I tried (using the FPGA) first -- without much luck. I then switched the OLED's mode select to 8080, switched around a bit of the picoblaze code, and successfully wrote to the display in parallel mode!
(there is a test pattern on the display, but unfortunately it just appears white in this image -- it's actually a whole bunch of lines progressively fading from red to blue)
i'm still not sure why 68k mode wasn't working with the FPGA or AT91, but hopefully with the JTAG debugger I'll be able to manually put data on the EBI data/address lines and see what happens?