This package simulates a SSD0303 display controller in the following configuration:
Diagram courtesy Vikram A.
(Configuration as in Stellaris LM3S811 Evaluation Board.)
The Keil µVision3 IDE's simulator is capable of simulating the ARM Cortex-M3 processor core of the microcontroller. However, it does not provide simulators for all peripherals, but it is extensible using a mechanism named AGSI (Advanced Generic Simulator Interface).
ssd0303.zip (Version 1.0, 30 KB)
PLEASE NOTE: The module does not work with the initial version of Keil µVision (3.33). The module is tested successfully only with µVision 3.34b (download at https://www.keil.com/update/sw/rvmdk/3.03a).
This module simulates the bare minimum necessary to implement the functions provided by the OSRAM library provided with the LM3S811 SDK.
Specifically, all functions exposed via osram96x16.h should be functional in the simulator. This means that you can test your display applications while minimizing burn-in of your OLED display.
It is NOT a complete simulator for the I2C master of the LM3S811, nor a complete simulator of the SSD0303 display controller. Notably, unusual conditions such as specifying an incorrect I2C slave address or configuring the display controller's registers with non-standard values are especially poorly handled. Timing is also ignored. However, none of the above should be issues if you use the provided OSRAM library.
Source code for the module is available as a Microsoft Visual Studio project:
ssd0303-src.zip (Version 1.0, 32 KB)
To speed up development, there's a Post-Build Event set up that copies the built DLL into the Keil BIN folder. To enable it, select all configurations, adjust the path in the Post-Build Event page and change Excluded From Build to No.
Modifications (especially in the form of patches) are welcome and encouraged.
The simulator and its source code are released under a BSD license. Some files in the source distribution are copyright Luminary Micro Inc. and Keil. For details see LICENSE.txt.
The author of this module is Catalin Patulea. Feel free to e-mail me with questions and comments. If you would like to see some of the other things I've done, check out my web site.