You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
||9 months ago|
|bootloader||9 months ago|
|docs||2 years ago|
|ejtag||2 years ago|
|examples||2 years ago|
|executive||2 years ago|
|host||2 years ago|
|licenses||2 years ago|
|linux||1 year ago|
|simulator||1 year ago|
|target||2 years ago|
|tools-gcc-4.7||2 years ago|
|.gitattributes||2 years ago|
|.gitignore||2 years ago|
|PortingDoc.txt||2 years ago|
|README.txt||2 years ago|
|application.mk||2 years ago|
|common-config.mk||2 years ago|
|common.mk||2 years ago|
|env-setup||2 years ago|
|env-setup.pl||2 years ago|
|executive_lib.mk||2 years ago|
|octeon-models.txt||2 years ago|
|release-notes.txt||2 years ago|
|tools||2 years ago|
README for Cavium Inc. OCTEON SDK
Host System Requirements
The host operating system used for development is Scientific Linux 6.4 on a
64-bit host. Other configurations may work, but have not been tested. Running
simulations of multiple cores requires a lot of RAM: a minimum of 512 MBytes is required, and 1 GByte+ is recommended.
Installing the SDK
The SDK can be installed by invoking "rpm -i OCTEON-SDK-rel-build.i386.rpm".
Where "rel" is the release number and "build" is the build number. The tools
are installed by default under /usr/local/Cavium_Networks/OCTEON-SDK
directory. Since the tools are installed as root, it is recommended to copy
the OCTEON-SDK into your home directory.
Environment setup for the OCTEON SDK
The installation requires the following environment variable changes:
1) The OCTEON_ROOT environment variable must be set to contain the path to
the OCTEON-SDK directory.
2) The directory $OCTEON_ROOT/tools/bin contains toolchain binaries and must
be added to the path.
3) The directory $OCTEON_ROOT/host/bin contains the simulator and other utilities
and must be added to the path.
4) (optional) The OCTEON_CPPFLAGS_GLOBAL_ADD variable should be set to
include the string "-DUSE_RUNTIME_MODEL_CHECKS=1" if runtime model
checking is desired. The contents of this variable are added to
the C preprocessor flags for all files compiled. Runtime model
checking is the preferred method for distinguishing different OCTEON
A script called 'env-setup' is provided to automate this configuration.
(In previous releases there were multiple env-setup* scripts which have
been replaced with a single script.)
Since this script modifies the environment of the current shell, it
must be sourced rather than executed. The env-setup script takes
one mandatory argument of the OCTEON model, an optional argument
that specifies runtime or compile time model checking. (Please refer to
simple executive HTML documentation for more information on model checking.)
The env-setup script must be run from the OCTEON_ROOT directory, as it sets
the OCTEON_ROOT environment variable to the directory that it is run from.
The available values for the OCTEON_MODEL argument are listed in the
file octeon-models.txt in the SDK root directory. If the OCTEON_MODEL
string does not specify a pass (revision), the default pass for that
model will be used. (Note that the default pass for a given OCTEON model
may change in future SDK releases.)
The usage is as follows:
Usage: source ./env-setup <OCTEON_MODEL> [--runtime-model] ...
OCTEON_MODEL: Model of OCTEON to build and simulate for.
--runtime-model: enables runtime model detection build option by setting environment variable.
use --noruntime-model to clear environment variable if desired.
--verbose: be verbose about what the script is doing
The env-setup script must be invoked from the root directory of the SDK install,
as it sets OCTEON_ROOT to be the directory that it is invoked in.
OCTEON-SDK$ source ./env-setup OCTEON_CN58XX
This will configure the SDK to build binaries for runtime model checking, and
will simulate an OCTEON_CN58XX OCTEON. Runtime model checking is the preferred
method of distinguishing different OCTEON models, and the binaries built with this
configuration will run on all supported OCTEON and OCTEON Plus models.
OCTEON-SDK$ source ./env-setup OCTEON_CN56XX --no-runtime-model
This will configure the SDK to build binaries for compile model checking, and
will simulate an OCTEON_CN56XX OCTEON. Since compile time checking was specified,
the resulting binary will only run on CN56XX models.
OCTEON-SDK$ source ./env-setup OCTEON_CN63XX
This will configure the SDK to build binaries with -march=octeon2 for runtime model
checking, and will simulate an OCTEON_CN63XX OCTEON. Runtime model checking is the
preferred method of distinguishing different OCTEON II models, and the binaries
built with this configuration will run on all supported OCTEON II models.
NOTE: The binary built with this configuration will not run on OCTEON and OCTEON Plus models.
OCTEON-SDK$ source ./env-setup OCTEON_CN63XX --no-runtime-model
This will configure the SDK to build binaries with -march=octeon2 for compile
model checking, and will simulate an OCTEON_CN63XX OCTEON. Since compile time
checking was specified the resulting binary will only run on CN63XX models.
Verifying installation with simple test
cd to the 'examples/hello' directory created from the above rpm installation.
To build and run it, type:
% make run
To run it on 4 cores, type:
% make run4
The 'oct-version' script in the host/bin directory reports the version
of the OCTEON-SDK that is currently in the user's path.
Please see the release notes file release-notes.txt for the change history
and file inventory.