Cheops Host Environment

In order to use a Cheops system, several variables need to be defined in your environment, and the location of the Cheops host software must be added to your search path. There are two ways provided to do this, depending on whether or not you are using the Garden dotfiles.

You should also add yourself to the cheops-soft mailing list to receive relevant notices about changes to this setup.


Using Garden Dotfiles

If you are using the garden dotfiles system configuration, the basic instructions for setting up your Cheops compile-time and run-time system configuration are much simpler. Support for all standard login shells is supported, including csh, tcsh, sh, bash and ksh. The Cheops host configuration is simply a dotfile package that, when added to your configuration, automatically maintains path, environment variables and aliases.

csh, tcsh

Here is how to add the cheops package if using csh or tcsh :

  1. ADD this line to your ~/.csh_env file:
    setenv GARDEN_PREPEND cheops

  2. ADD the values for user definable variables to the specified section of your ~/.csh_env file to match the Cheops environment with which you will be working.
    Note: These variables only need to be set if your desired compile-time and run-time environment differs from the default configuration.

  3. For interactive modification of your configuration in your current shell: EDIT user definable environment variables using setenv, then invoke renew to update all dependant variables.

sh, bash, ksh

Here is how to add the cheops package if using sh, bash or ksh :

  1. ADD this line to your ~/.sh_env file:
    GARDEN_PREPEND=cheops; export GARDEN_PREPEND;

  2. ADD the values for user definable variables to the specified section of your ~/.sh_env file to match the Cheops environment with which you will be working.
    Note: These variables only need to be set if your desired compile-time and run-time environment differs from the default configuration.

  3. For interactive modification of your configuration in your current shell:
    EDIT user definable environment variables using:
    < variable> = < value> ; export < variable> ;
    then invoke renew to update all dependant variables.


Non-Garden Setup

In order to use Cheops, your C-shell environment must be set up correctly. This is very easy to do if you simply follow these instructions:

  1. COPY the Cheops environment setup file to your home directory:
    cp /cheops/doc/.cheops-env ~/
  2. ADD these two elements to your path:
    $G960BIN and $CHEOPS_HOST_BIN
  3. ADD this line to the top of your .cshrc file:
    source ~/.cheops-env
  4. EDIT the user definable variables in your ~/.cheops-env file to match the Cheops environment with which you will be working.
  5. LOGOUT and LOGIN or TYPE the following to update your environment:
    source ~/.cshrc; rehash


User Defined Variables

When programming host (referring to programs running on the host workstation's UNIX environment) and local (referring to programs running in Cheops local memory) code, your shell's environment variables are used in that program's Makefile (refer to Compiling Code for Cheops) to specify the desired compile-time and run-time configuration.. To set these parameters, edit the following environment variables in your ~/.cheops-env file:

CHEOPS_TYPE
The processor generation, currently P2.
HOST_TYPE
describes the workstation that will be communicating with Cheops. You can find a list of the host names in the file /cheops/doc/systypes
CHEOPS_BASE
The root of the Cheops directory tree.
CHEOPS_SCSI_DEV
This indicates what SCSI device on the host machine the Cheops system is appearing at, or which Cheops is being addressed if multiple Cheops are connected to a single host.
CHEOPS_SERIAL_DEV
This indicates what serial device of the host machine is connected to Cheops.
MEM_STYLE
Special variable for Operator System programmers dealing with the form of monitor/kernel code.
CHEOPS_ASM_ACTION
If set to the string "delete" then .s file output by the gcc960 compiler after compiling a .c file will be automatically deleted, otherwise it will not be deleted.
CHEOPS_LOCAL_PATH
This is a list of `:' separated directories that chex uses to search for executable Cheops programs.
Note: do not use renew after changing this variable, as renew gives it a default value.
G960REL
Defines which version of the GNU/960 tools you are using to compile Cheops local binaries.

Once these user-definable environment variables are set up properly, any code you compile or execute will automatically be configured to your system.

Run-time Configuration

The above listed user definable variables let you define own system configuration is at the given moment for a given shell. For example, if your host workstation is using two Cheops systems, you may desire to use serial port 0 for serial communications in one terminal (xterm) and simultaneously use serial port 1 for communications to the other Cheops system.

To customize the environment variables for a given shell, simply type:
setenv <env var> <value>
renew
in the given C-shell. The renew command uses the current values of the above variables to define the values of a family of other CHEOPS environment variables that define compile-time and run-time system configuration.


Configuration Dependant Variables

The renew command sets values of the following environment variables based on the current value of the user-definable variables described above:

CHEOPS_HOST
Base path of the Cheops host tree (Cheops specific tools that run on the host)
CHEOPS_HOST_BIN
Platform specific Cheops host binaries
CHEOPS_HOST_LIB
Platform specific Cheops host libraries
CHEOPS_HOST_INC
Path of Cheops host include files
CHEOPS_LOCAL
Base paths of the Cheops local tree (Cheops tools that run on Cheops)
CHEOPS_LOCAL_BIN
Cheops binaries that have been compiled and my run from a specific host.
CHEOPS_LOCAL_LIB
Cheops libraries that have been compiled from a specific host.
CHEOPS_LOCAL_INC
Include files for Cheops programs.
G960
Root of Intel GNU/960 tree
G960BASE
Platform specific base of GNU/960 tools and libraries
CHEOPS_ENV
Describes the combined Cheops/host system configuration
CHEOPS_LOCAL_PATH
This is a list of `:' separated directories that chex uses to search for executable Cheops programs


Aliases

The Cheops environment also includes several c-shell aliases for your convenience :

cheops
Opens up a serial communications window to Cheops (see Chterm Usage).
renew
Once you are already logged in, if you change your configuration (ie change processor card from P1 to P2), renew correctly updates all of your environment variables in the shell that you invoke it from.


Jump to Software Tools
Jump to the Cheops Homepage
cheops-web@media.mit.edu
This is a "fix it yourself" page, located at /mas/garden/cheops/WWW/software/shell_env.html