Build Instructions for Framework Components Examples
General Information
This page explains how to build the examples provided in the
Framework Components product.
Requirements
See the Release Notes
for the specific software and hardware components this release of
Framework Components has been validated against.
Directory Structure
examples
+---ti
+---sdo
+---fc
+---dman3
| +---examples
| +---fastcopy
| +---<device_os> (device/OS-specific directories)
+---rman
+---examples
+---bufres
+---bufres_yield
+---dmaXferScratch
+---dummyEdma3
+---hdvicp
+---nonRtscExample
+---nullresource
+---scratchEdma3
+---sdma
+---shmbuf
+---vicp
+---vicpsync
Directory Conventions
Important: throughout the rest of this document, we will use the
following notation:
- <FC_INSTALL_DIR> - the root directory of your FC
installation. The FC packages are in the
<FC_INSTALL_DIR>/packages directory (or repository); the
original examples are in the <FC_INSTALL_DIR>/examples
directory (or repository).
- <XDAIS_INSTALL_DIR> - the root directory of your
XDAIS installation. Some distributions of this FC release include an
fctools directory which contains an XDAIS release. In the case of
those distributions, <XDAIS_INSTALL_DIR> could be set to
<FC_INSTALL_DIR>/fctools. Note that the XDAIS packages will
be located in the <XDAIS_INSTALL_DIR>/packages directory
(or repository).
- <XDC_INSTALL_DIR> - the root directory of your
XDC tools installation. The FC examples now have a dependency on the XDC
tools std.h header file. If you have installed DSP BIOS, you can set
<XDC_INSTALL_DIR> to <BIOS_INSTALL_DIR>/xdctools.
Otherwise, set <XDC_INSTALL_DIR> to the root directory of your XDC
tools installation.
Preparing to Build the Examples
Create a working directory
Create a working directory (e.g. c:/myPackages) and copy the
examples directory into it (e.g. c:/myPackages/examples).
This will be where you build and modify the Framework Components examples.
Doing this will ensure you have a backup copy of the original examples, as
provided by the Framework Components product.
Build using XDC tools
1. Manage xdcpaths.mak and products.mak
The Framework Components examples are provided with XDC build scripts.
examples/xdcpaths.mak is the Makefile include file used to define the targets and environment in which the example XDC packages will be built.
At the root of the Examples directory, there is a
xdcpaths.mak file which has to be edited for your particular usecase.
Edit the following variables described below
PROGRAMS
- Some of the FC examples support different types of runtime
environments (e.g. single processor, multiprocessor client/server).
The PROGRAMS variable specifies which types of environments you
want to build the examples for.
Edit this variable to add/remove types of programs to build.
DEVICE
- Different FC examples build for different devices.
The DEVICE variable specifies the device you want to build
your examples for. A comment above this variable will show the list of
devices supported in this release.
Edit this variable to add/remove devices for which to build the examples.
MY_XDC_PATH
- Any other components required for modifications made to existing examples
can be added via this variable. (This is typically not used.)
2. Dependencies
Dependencies can be set in $(FC_INSTALL_DIR)/products.mak, which is then
included by examples/xdcpaths.mak.
INSTALL_DIR
- The many INSTALL_DIR variables let you set the path to other
dependent components. Depending on the programs you are building and the
devices you build for, you will need to set the path for one or more of
these components. If your distribution includes fctools/, you can set
many of these variables to $(FC_INSTALL_DIR)/fctools.
Codegen Tools
- Correct code generation tool paths will need to be specified for the
architectures you will be building for. For instance, to build for the C6472
device, you will need to set the appropriate cgtools variables to the TI C64x
toolchain location.
Note that for TI toolchains, this is the directory that contains bin/,
include/, and lib/ subdirectories.
To disable the build for a given architecture for your device, ensure that
the corresponding cgtools variables are undefined. For example, to disable
M3elf builds for the TI816X device, don't assign the M3 ELF cgtools variable.
3. Build examples
From the base of your examples directory, type
gmake clean
gmake
This will build all the examples that are applicable for your DEVICE and
PROGRAMS.
Other make targets might also be available in the Makefile to build subsets of
the examples.
Last updated: December 15, 2011