
The RTOS-Viewer Plugin Developers Kit for uVision4
--------------------------------------------------


General
-------

   This document describes the concept and implementation of adding user-provided
   RTOS plugin drivers to uVision4. A plugin will represent user defined data
   within the debugger of uVision4.

   In order to simplify the implementation of user provided plugins, the example
   project 'VARTXARM' is provided which can be taken freely as the base for implementing
   third party viewer plugin drivers.

   VARTXARM uses the plugin concept to do the following:

     a) implements all the creation and display of views such 'RTX-Task and System'
        and a 'Test Viewer' which is used to show the possibilities and opportunities
        on how to represent data in one or more views.
        
     b) implements all of the command routing and callback mechanism for easy
        integration of user supplied menues to uVision.


Requirements
------------

   To run, show or extend the VARTXARM viewer example, the following components need
   to be installed on your computer:

     a) Visual-Studio 2008 plus Feature Pack
     b) MDK-ARM
     c) RL-ARM

   Some knowledge about C/C++ is required to understand the viewer concept and
   implementation.

   In the case RL-ARM is not installed on the computer, a compiled example of
   MCBSTM32-RTX_BLINKY is provided which has some additional data items to be
   used to evaluate the 'Test Viewer' plugin.  The example is in the folder -

        RTOS Viewer\RTX_BLinky

   The target being used is 'Simulator', the alternate target 'MCBSTM32' could be
   used as well assumed a MCBSTM32 board and a JTAG-debugger such as ULINK2/UNLINK-Pro is
   properly set up and connected.


Installing the Developers Kit
-----------------------------

 
 Unzip the archive
 -----------------

   UnZip the archive to a folder on your computer. After unzipping the archive, all
   the required components to create or modify and debug of the viewer plugin are
   in the 'RTOS Viewer' folder.


 Folder Contents
 ---------------

   The 'RTOS Viewer' folder contains a couple of subfolders with the following
   content:

      RTX_Blinky  - a compiled and linked version of the MCBSTM32-RTX_Blinky
                    example. It is used as the reference example for the test-Viewer.

      VARTXARM    - contains the the source code for the Viewer plugin with a
                    Visual-Studio-2008 project solution file 'VARTXARM_vs9.sln'.
                    This solution file must be opened with VS-2008 to modify and
                    build the viewer plugin.

      TreeListDoc - subfolder html, contains the doxygen documentation for the
                    Treelist class used in the viewer plugin.  With a browser,
                    open 'Index.html' - Classes tab to get into the class documentation.

      SysViewer   - contains file SfrLoad.h, required to build the plugin.

      TreeList    - containes treelist-class related .h files, required for build of the plugin.

      UV4GUI      - contains UV4 related layout/docking manager headers and the uVision4
                    libraries Debug\UV4GUI.LIB, and Release\UV4GUI.LIB. Required to
                    build the viewer plugin.

      UV4Bin      - uVision4 debug binaries. Copy these files to your Keil MDK installation
                    folder, usually C:\Keil\Uv4\.

      *.h         - More header files required to build the viewer plugin. These contain
                    declarations of the uVision 4 internal interfaces which are also used
                    by the viewer plugin.

   
 Copy UV4 binaries
 -----------------

   Copy the files under '<unzip_folder>\RTOS Viewer\UV4Bin' to the location of your MDK
   installation:

    <Installation folder>\Keil\UV4\

   This adds a debug version of uVision4 to the UV4 installation.  Whenever the
   viewer plugin is debugged, the command must refer to the debug version of uVision4.



 Further Reading
 ---------------

   Read the supplied ViewClient documentation to get into writing, debugging and
   the setups of RTOS-Viewer plugins for uVision4.














