/* ------------------------------------------------------------------------------------------------ */
/* FILE :        readme.txt                                                                         */
/*                                                                                                  */
/* CONTENTS :                                                                                       */
/*               Abassi RTOS: description for MSP430 / CCS (free version)                           */
/*                                                                                                  */
/*                                                                                                  */
/* Copyright (c) 2011-2017, Code-Time Technologies Inc. All rights reserved.                        */
/*                                                                                                  */
/* Code-Time Technologies retains all right, title, and interest in and to this work                */
/*                                                                                                  */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS                          */
/* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF                                       */
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL                          */
/* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR                             */
/* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,                            */
/* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR                            */
/* OTHER DEALINGS IN THE SOFTWARE.                                                                  */
/*                                                                                                  */
/*                                                                                                  */
/*  $Revision: 1.1 $                                                                                */
/*  $Date: 2012/03/13 20:30:02 $                                                                    */
/*                                                                                                  */
/* ------------------------------------------------------------------------------------------------ */

Quick overview at this level:

   - The RTOS source code (Abassi.h) is located in the folder ../Abassi, one level above
   - The RTOS object code (Abassi.h) is located in the folder ./obj_ti  (TI compiler)
   - The RTOS object code (Abassi.h) is located in the folder ./obj_gcc (GCC compiler)
   - The demos and drivers source code are located in the folder ./src
   - The demos build options definition file (AbassiLib.h) and driver include files are located
     in the folder ./inc
   - The CCS workspace is locaed in the folder ./Workspace

/* ------------------------------------------------------------------------------------------------ */
/* IMPORTANT NOTES                                                                                  */

   - Many object files are provided in ./obj_ti or ./obj_gcc:
     The object files are named according to:
     Abassi_430?_C?_D?_????.obj
               |  |  |   |
               |  |  |   + -- FULL : Full feature Abassi
               |  |  |   + -- TINY : small code size Abassi (reduced number of features)
               |  |  |   + -- 16   : Interrupt vector table of 16 entries
               |  |  |   + -- 32   : Interrupt vector table of 32 entries
               |  |  |   + -- 64   : Interrupt vector table of 64 entries
               |  |  |
               |  |  + ------ L    : Large data model
               |  |  + ------ S    : Small data model
               |  |
               |  + --------- L    : Large code model
               |  + --------- S    : Small code model
               |
               + ------------ X    : MSP430X devices
               + ------------ blank: first generation MSP430 devices

   - There is always and only one pair of object files to use in an application.
     1 - the code model and data model must be the same for both files.
         i.e. C? must be the same and D? must be the same when making a pair
     2 - One file must be selected amongst these:
                   Abassi_430?_C?_D?_TINY.obj
                   Abassi_430?_C?_D?_FULL.obj
     3 - The other file must be selected amongst these:
                   Abassi_430?_C?_D?_16.obj
                   Abassi_430?_C?_D?_32.obj
                   Abassi_430?_C?_D?_64.obj

   - For all projects, these definitions must be set:
        OS_DEMO         : must be set to a -ve value
        TINY_ABASSI     : define it to link with  Abassi_430?_C?_D?_TINY.obj
                          DO NOT define it if linking with Abassi_430?_C?_D?_FULL.obj

   - DO NOT change anything in AbassiLib.h

   - DO NOT SET any other Abassi build options otherwise there will be a mismatch
     between RTOS data structures used in the library and the ones used in the application
     resulting most likely in crask of the application 

     *** The objects were built using the configuration settings defined in AbassiLib.h located
         in ./inc

   - The application timer tick period (OS_TIMER_US) can be set to a different value from the one
     used to build the libraries.  The value used in the library is avaialble in ./inc/AbassiLib.h.
     Setting the proper value of OS_TIME_US will convert all human time to the correct # timer tick.

/* ------------------------------------------------------------------------------------------------ */

   - The MSP430 Compiler - Processor options are:
         Abassi_430?_CS_DS_????.obj:
                --data_model    small
                --code_model    small
                --near_data     Select the blank field
         Abassi_430?_CL_DS_????.obj:
                --data_model    small
                --code_model    large
                --near_data     Select the blank field
         Abassi_430?_CL_DL_????.obj:
                --data_model    large
                --code_model    large
                --near_data     none

    - "C" optimization level to 2 / speed vs size set to 1

    - Hardware multplier was set to "none" to make the objects useable on all devices

    - Work around for all Silicon errata have been turned on

    - The assembler setting for ojects are:
                  OS_ISR_STACK=0
                  OS_NESTED_INTS=0
                  OS_HANDLE_OSC=1
                  OS_N_INTERRUPTS=??
                  OS_OPT__lock_r4=0
                  OS_OPT__lock_r5=0
                  OS_OPT__near_data=0

/* ------------------------------------------------------------------------------------------------ */

   - The workspace .metadata must be re-created for your computer.
     Go through these menus:
     "Project" -> "Import CCS Projects..."
     Select Root Directory / Browse
        . . . . /Abassi_MSP430_CCS/Workspace
       DO NOT check the box "Copy projects into workspace"
     Click on "Finish"


/* ------------------------------------------------------------------------------------------------ */
/* Overall file system at this level                                                                */

. --- / --- readme.txt    [me]
      |
      / --- inc           [Abassi configuration include files]
      |
      / --- obj_gcc       [object files for Abassi / GCC compiler]
      |
      / --- obj_ti        [object files for Abassi / TI's compiler]
      |
      / --- Workspace     [All projects of CCS's workspace are in this folder]
      |
      / --- src           [Demo source code]

/* EOF */
