Texas
          Instruments Technology for
        Innovators

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 are provided in zip file format under the directory

where <FC_INSTALL_DIR> is the root directory of your Codec Engine insatallation. Under the archive directory, you will find directories named for platforms containing zipped examples specific to the given platform. Each example is self-contained, so that it can be unzipped and built in a directory of your choice. It is also possible to build all the examples for your platform from the makefile located in <FC_INSTALL_DIR>/examples.

Directories containing examples: // ls -R examples | grep ':$' | grep -v '/lib' | grep -v '/package' | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
examples
    +---archive
        +---device-name
            +----ex01_universal_dma_copy.zip  
            +----ex02_dskt2_alg_mgmt.zip
            +----ex03_ivahd_lateacquire_demo.zip
            +----ex04_rman_generic_example.zip

Building the examples: step-by-step instructions

Here we will describe the steps to build all the examples for your platform, from the root of the examples directory.

1. [Optional] Copy the entire "examples" tree out of the product

This step is optional, but recommended if you plan to modify the examples in any way. It will ensure you have a backup copy of the original examples, as provided by the Framework Components product.

Important: throughout the rest of this document, we will use the following notation:

2. Manage xdcpaths.mak and products.mak

At the root of the examples directory you will find the file, xdcpaths.mak, which must be edited for your particular usecase. Edit the following variables in xdcpaths.mak, as described below.

2.1 FC_INSTALL_DIR

The FC_INSTALL_DIR variable indicates where the Framework Components product is installed.

2.2 DEVICE

The DEVICE variable indicates which hardware platforms should be built for. Set this variable to one of the supported platforms listed in the xdcpaths.mak file.

3. Dependencies

Dependencies can be set in $(FC_INSTALL_DIR)/products.mak, which is then included by examples/xdcpaths.mak. Dependencies can also be set in individual example directories' products.mak, but they will be overriden with by the top-level products.mak.

INSTALL_DIR

Codegen Tools

The makefile in the top-level example directory unzips the examples for the device specified in the xdcpaths.mak file, into the examples directory, and then builds them. Each example contains a GNU makefile and a products.mak, which enable you to build it in the directory where it is unzipped. The products.mak for the individual example will look for a products.mak file one, two, or three directories above, to allow for a common products.mak file that can be used for the examples.

Please keep in mind that MOST BUILD TROUBLES OCCUR WHEN ONE OF THE VARIOUS *_INSTALL_DIR VARIABLES ARE INCORRECT! Make sure there are no extra spaces (check the end of lines!), that every individual path (segment separated by the semicolon) is correct, character for character, and the build process is very likely to go smoothly.

4. Build examples

After updating the variables described above, from your examples/ directory, type:

    gmake clean
    gmake

All examples appropriate for your specified environment and device will be built. This will include codecs and apps. Or in your specific example directory (for e.g., ex01_universal_dma_copy), type

    gmake clean
    gmake

This will build all the libs/executables that are specified in the makefile

Running the example applications

All of these examples are single core examples that can be run by loading the executable on the corresponding core in CCS and letting it run till the end. In most cases logging/trace is enabled and that will generate useful output on the Console.


Last updated: October 27, 2014