Creating CCS Project for SysLink samples

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

Contents

Introduction

Code Composer Studio (CCS) contains application build support in the form of a "CCS Project". Many TI SW components contain CCS project files that can be opened by a CCS user and used as a starting point for their own application development.

SysLink contains examples for creating applications using SysLink, but these 'samples' do not come in the form of a CCS project. Given the lack of official CCS support, this article attempts to describe the steps needed to create a CCS project for building a SysLink application. It is assumed that the user has some familiarity with the CCS environment.

Description

CCS contains templates that are used to create the initial project contents. We use these templates to create a project that is based on the SYS/BIOS generic "Hello" example, and another that would build a project for cross-compilation. The projects' contents are basically replaced by the SysLink "messageQ" sample. For this project we use the TI814X target. Note that even though we use the messageQ sample for TI814X for illustration purposes, the user can use the same procedure for other samples as well.

The messageQ example runs on a master processor and one or more slave processors. We choose to build this example for the A8 master processor and the C674 DSP present on the TI814X device. We show here the procedure to rebuild the DSP executable, but the executable for the M3 can be similarly rebuilt by entering appropriate values for its compiler.

CCS steps

Before you start, we assume you have successfully rebuilt SysLink and its samples applications using the standard procedure detailed in the Installation Guide. If you haven't, do it first before going through the steps detailed below.

You should first install the dependencies of SysLink (e.g. SYS/BIOS, IPC, XDCtools) so that you can point CCS to them during this procedure. If you need help, you should refer to the installation procedure of the respective products and/or CCS help.

These next steps were done using CCS v5.1. The project creation layout is different in CCS v4, although equivalent entries can be found.

Rebuilding the slave DSP executable

We show here the procedure to rebuild the DSP executable, but the executable for the M3 can be similarly rebuilt by entering appropriate values for the device.

xdc.loadCapsule("../MessageApp_common.cfg.xs");

to

xdc.loadCapsule("MessageApp_common.cfg.xs");
xdc.loadCapsule("../common/SysLinkSamples_common.cfg.xs");

to

xdc.loadCapsule("SysLinkSamples_common.cfg.xs");


Some screenshots of the various steps

Project creation

MessageQ DSP new ccs project.jpg MessageQ DSP RTSC configuration settings.jpg

RTSC repositories setting

MessageQ DSP package repo.jpg

Rebuilding the master A8 executable in Linux

If you'd like to rebuild the A8 executable using CCS, it is recommended to first install CCS under a Linux host, preferably the same that was used to rebuild SysLink initially. This is so that we easily get access to the CodeSourcery toolchain for compiling the code.

Here's the procedure:

    ################################################################################
    ## Quiet build
    ################################################################################
    #ifndef V
    #Q           := @
    #endif    

Compiling: /db/atree/workdir/syslink_2_10_01_15/packages/ti/syslink/samples/hlos/messageQ/MessageQApp.c /db/toolsrc/library/vendors2005/cs/arm/arm-2009q1-203/bin/arm-none-linux-gnueabi-gcc -Wall -ffloat-store -D_REENTRANT -O3 -DSYSLINK_PLATFORM_TI81XX -DTI81XX_VIDEOM3 -DSYSLINK_BUILDOS_LINUX -DSYSLINK_BUILD_DEBUG -DSYSLINK_TRACE_ENABLE -DSYSLINK_BUILD_HLOS -I/db/atree/workdir/syslink_2_10_01_15/packages -I/db/atree/workdir/syslink_2_10_01_15/packages/ti/syslink/inc -I/db/atree/workdir/syslink_2_10_01_15/packages/ti/syslink/inc/usr -I/db/atree/workdir/syslink_2_10_01_15/packages/ti/syslink/inc/usr/Linux -I/home/xlibrary/trees/ipc/ipc-g26/exports/ipc_1_23_01_26/packages -I/packages -I/db/atree/workdir/syslink_2_10_01_15/packages -ggdb -D DEBUG -c -o /db/atree/workdir/syslink_2_10_01_15/packages/ti/syslink/obj/TI814X/samples/messageqapp/debug/MessageQApp.o /db/atree/workdir/syslink_2_10_01_15/packages/ti/syslink/samples/hlos/messageQ/MessageQApp.c

-Wall -ffloat-store -D_REENTRANT -O3 -DSYSLINK_PLATFORM_TI81XX -DTI81XX_VIDEOM3 -DSYSLINK_BUILDOS_LINUX -DSYSLINK_BUILD_DEBUG -DSYSLINK_TRACE_ENABLE -DSYSLINK_BUILD_HLOS -I/db/atree/workdir/syslink_2_10_01_15/packages -I/db/atree/workdir/syslink_2_10_01_15/packages/ti/syslink/inc -I/db/atree/workdir/syslink_2_10_01_15/packages/ti/syslink/inc/usr -I/db/atree/workdir/syslink_2_10_01_15/packages/ti/syslink/inc/usr/Linux -I/home/xlibrary/trees/ipc/ipc-g26/exports/ipc_1_23_01_26/packages -I/packages -I/db/atree/workdir/syslink_2_10_01_15/packages -ggdb -D DEBUG -c

Some screenshots of the various steps

Project creation

MessageQ A8 new project.jpg MessageQ A8 C project.jpg MessageQ A8 command.jpg

Compiler options

MessageQ A8 compiler inc.jpg MessageQ A8 compiler sym.jpg MessageQ A8 compiler opt.jpg MessageQ A8 compiler debug.jpg MessageQ A8 compiler warn.jpg MessageQ A8 compiler misc.jpg

Linker options

MessageQ A8 linker lib.jpg MessageQ A8 linker misc.jpg

Project files for reference

For reference purposes, CCS projects were created using this procedure and posted here:

Tar ball: https://github.com/vanti/Syslink-MessageQ-sample-CCS-project/tarball/version-1.00.00.00

Zip ball: https://github.com/vanti/Syslink-MessageQ-sample-CCS-project/zipball/version-1.00.00.00

Pick you favorite download mechanism.

E2e.jpg For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Creating CCS Project for SysLink samples here.
Hyperlink blue.png Links
ARM Microcontroller MCU ARM Processor Digital Media Processor Digital Signal Processing Microcontroller MCU Multi Core Processor
Ultra Low Power DSP 8 bit Microcontroller MCU 16 bit Microcontroller MCU 32 bit Microcontroller MCU

Leave a Comment
Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox