SSD0303 AGSI Simulation Module

This package simulates a SSD0303 display controller in the following configuration:


Diagram courtesy Vikram A.

(Configuration as in Stellaris LM3S811 Evaluation Board.)

Background

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).

Download

ssd0303.zip (Version 1.0, 30 KB)

Usage

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).

  1. Install the module:
    Copy the file SSD0303.dll into your \Keil\ARM\BIN directory.
  2. Enable the simulator:
    Open the Project Options dialog, Debug tab, and select Use Simulator.
  3. Make the simulator load the SSD0303 module:
    At the bottom of the page, to the right of Dialog DLL, under Parameter, add a space and another parameter: -dSSD0303
  4. Start the simulator:
    From the Debug menu, select Start/Stop Debug Session.
  5. Display the UI:
    From the Peripherals menu, under I2C Master, select SSD0303.

What This Module Is

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.

What This Module Is Not

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.

References

Development

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.

License

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.

Author

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.


Valid XHTML 1.0 Strict