NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

SitaraWare GettingStarted 1.00.xx.xx

From Texas Instruments Wiki
Jump to: navigation, search

TIBanner.png


IMPORTANT - The content of this page is due to change quite frequently and thus the quality and accuracy are not guaranteed until this message has been removed. For suggestion/recommendation, please send mail to your local FAE.


Document License[edit]

This work is licensed under the Creative Commons Attribution-Share Alike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

SitaraWare Overview[edit]

SitaraWare provides no-OS platform support for Sitara family of processors on the Texas Instruments recommended Sitara EVMs. SitaraWare provides Device Abstraction Layer libraries and peripheral/board level sample/demo examples that demonstrate the capabilities of the peripherals on the Sitara processors. This package includes the following components:

NOTE
Though SitaraWare is intended to support multiple processors of the Sitara family, support may be in a phased manner. The supported list of processors and the assosciated device abstraction layer of the peripherals as part of the library is mentioned in the release notes for every release.

SitaraWareFramework.JPG

  • Device Abstraction Layer Library. This contains device abstraction layer for supported peripherals.
  • Peripheral Examples. This contains the sample applications which shall demonstrate some of the capabilities of the peripheral by using the Device Abstraction Layer APIs.
  • System Configuration code. This contains the primary code that sets up the Sitara processor core and prepares the system for execution of the sample application.
  • Platform Code. This contains the EVM specific initialization code. This code sets up the EVM specifics like pinmux, IO expanders, GPIOs and similar board specific stuff that shall enable proper exucution of the applications.

Directory Stucture[edit]

|----SitaraWare_#.#.#.#
|-- Software-manifest.pdf
|-- docs
|   |-- ReleaseNotes-#.#.#.#.pdf
|   `-- UserGuide-#.#.#.#.pdf
|-- drivers
|   `--build
|   '--lib
|   `--src
|-- examples
|   `--evmAM1808
|      |-- uart
|          `-- build
|              |-- ccs
|              |-- cg_ccs
|              |-- gcc
|          `-- include
|          `-- src
|-- grlib
|-- include
|   `-- am1808
|   `-- hw
|-- platform
|   `-- evmAM1808
|       |-- build
|       |-- lib
|       |-- src
|-- system_config
|   `-- am1808
|       |-- build
|       |-- lib
|       |-- src
|-- bootloader
|   `--build
|   `--include
|   `--src
|-- third_party
|-- tools
|-- utils
  • drivers - This directory contains the source files for the driver library APIs and build files for the driver library. The build directory contains compiler/tools specific directories which hold the related files. For example, the makefiles for the GCC are under gcc directory. Once build, the library/archive is placed in a tool specific directory under drivers/. For example, when make is invoked from driver/builds/gcc, the driverlib.a is placed as drivers/gcc/driverlib.a
  • examples - Examples provided as part of the package showcase some (not all) functionality of the peripheral. This depends on the availability of a peripheral instance and its association, mux settings etc on the EVM. Thus examples differ between EVMs, and thus are classified at the top level based the EVMs that there are intended to run. Each example contains a src/ directory which contains the source files and a build/ directory containing the build files. The build files are grouped based on the tools/compiler. For example, ccs/ shall contain the Code Composer Studio (CCS) project files and gcc shall only contain the make file. Note that, only the applications are supplied with a CCS project for aiding in loading and debugging applications. The library build files are internally invoked by the application build files. The generated binary/executable is placed in tool specific directory under the example. For example, uart.out is placed under uart/gcc/uart.out
  • include - The header files for inclusion are all placed under include/. The include files are classified as,
    1. user interface driver headers, for example uart.h, which contain macro definitions and prototypes for the functions which a user might need to use for programming.
    2. SOC or EVM specific header files which contain SOC specfic information/definitions, for example interrupts, CPU operations or definitions.
    3. Peripheral register level definitions like register offsets and macros.
  • platform - Every supported EVM is called as a (hardware) platform inside the package. This exports functions specfic to an EVM that usually do (as required) peripheral mux settings, EVM mux/IO expander settings etc, to enable a peripheral operation on the platform. This code is separated out of the main applications/examples to provide a simpler look at the first level.
  • system_config - The system configuration and setup code, like stratup code, interrupt vector initialization, low level CPU specific code etc are provided here. Since, this may involve assmebly level coding, such code is placed under tools specific directory.
  • bootloader - Contains the boot loader specific files. The make file for building bootloader can be found in build/gcc/ folder. The bootloader executable boot.out file can be found in /gcc folder.
  • third_party - May contain software from third party used, if any.
  • tools - May contain tools used, if any.
  • utils - May contain utility scripts etc used, if any.

Host platform Requirements[edit]

Building and runnning SitaraWare applications can be from a Windows machine or a Linux machine

A host machine is required only for:

  1. Compiling the SitaraWare applications
  2. Launching CCS v5 and loading and runnning the applications on the Sitara target

Host Software Requirements[edit]

For Windows host[edit]

CodeSourcery with CCSv5[edit]
  • Code Composer Studio version CCS 5.0.2.00006 for Windows (needed for (re)building and/or loading and running applications on the target/EVM)
  • CodeSourcery tool chain for ARM for Windows
  • Cygwin to facilitate GCC build
  • Serial console terminal application (like Teraterm, minicom, HyperTerminal)

    Note on Cygwin Installation
      Cygwin FAQis avaialable here.
      Cygwin recommended installation procedure is here
      Cygwin installation should be ensured to include GCC, MAKE, BASH, libc, libgcc and other build tools. If unsure install all packages

TI TMS470 ARM tools with CCSv5[edit]
  • Code Composer Studio version CCS 5.0.2.00006 for Windows(needed for (re)building and/or loading and running applications on the target/EVM)
  • Serial console terminal application (like Teraterm, minicom, HyperTerminal)

(TMS470 tool chain usage has certain limitations as explained in Known Issues section of Release notes)

GCC through Cygwin command line
[edit]
  • CodeSourcery tool chain for ARM for Windows
  • Cygwin to facilitate GCC build
  • Serial console terminal application (like Teraterm, minicom, HyperTerminal)

For Linux host[edit]

CodeSourcery with CCSv5
[edit]
  • Code Composer Studio version CCS 5.0.2.00006 for Linux (needed for (re)building and/or loading and running applications on the target/EVM)
  • CodeSourcery tool chain for ARM for Linux
  • Serial console terminal application (like Teraterm, minicom, HyperTerminal)
GCC through command line
[edit]
  • CodeSourcery tool chain for ARM for Linux
  • Serial console terminal application (like Teraterm, minicom, HyperTerminal)


Building application[edit]

The SitaraWare package contains pre-compiled peripheral level examples binaries (only for TI Code Generation TMS470 tool chain) that can be run on the EVM. The binaries are delivered in release profile build, with optimization level set to O2. SitaraWare package also contains the build files and CCS project files to enable the user to rebuild any modifications. SitaraWare supports the following compilers/Tools. The Steps to (re)build the examples are detailed here in:


For Windows
[edit]

  • GCC thorugh CCSV5 project: Refer here for instructions on importing and building the project.
  • GCC from Command line in Cygwin: Refer here for instructions on building the project.
  • TMS470 
  1. through CCSV5 project: Refer here for instructions on importing and building the project.
  2. through CCSV4 project: Refer here for instructions for porting SitaraWare to CCSV4.
  • IAR Embedded Workbench IDE project: Refer here for instructions on building the project.


For Linux
[edit]

  • GCC thorugh CCSV5 project: Refer here for instructions on importing and building the project.
  • GCC from Command line in Linux: Refer here for instructions on building the project.
  • TMS470 through CCSV5 project: Refer here for instructions on importing and building the project.

    For CCSv5 getting started guide click here.

    Refer the FAQ's on CCSv5 for more information.

NOTE
Windows/Cygwin CodeSourcery arm-none-eabi (command line):
1. If a Windows host is used, then Cygwin needs to be installed for gcc build.
2. Application makefiles invoke library makefiles internally.
3. PATH environment variable should contains the path for the compiler/tool chain.
4. LIB_PATH DOS shell environment variable points to the Code Sourcery installation: Ex: LIB_PATH=C:\tools\CodeSourcery\Sourcery_G++_Lite
5. "set CYGPATH=cypath" to convert Windows native style filenames to POSIX style filenames. Not doing this might lead to linker errors while trying to find libc path
6. Ensure that the Code Sourcery installation path does not contain any white space

Windows/Cygwin CodeSourcery arm-none-eabi (CCSv5):
1. If a Windows host is used, then Cygwin needs to be installed for gcc build.
2. Application makefiles invoke library makefiles internally.
3. PATH environment variable should contains the path for the compiler/tool chain.
4. LIB_PATH CCS build variable points to the Code Sourcery installation: Ex: LIB_PATH=C:\tools\CodeSourcery\Sourcery_G++_Lite
5. Ensure that the Code Sourcery installation path does not contain any white space

Linux Code Sourcery arm-none-eabi:
1. Application makefiles invoke library makefiles internally.
2. PATH environment variable should contains the path for the compiler/tool chain.
3. LIB_PATH shell environment variable points to the Code Sourcery installation: Ex: LIB_PATH=/opt/tools/CodeSourcery/Sourcery_G++_Lite. In case invoking CCsv5 LIB_PATH CCS build variable must be set

Windows TI TMS470 tool chain CCSv5:
1. Ensure that for converting the elf binaries to raw binary format, PATH environment variable is properly updated. Ex: C:\Program Files\Texas Instruments\ccsv5\ccs_base_5.0.2.00006\utils\tiobj2bin
TMS470 Tool chain does not support packed attributes. Thus application which require/use unaligned memory accesses shall fail. Please refer to Known Issues section of the release notes


Flashing binary images and standalone booting[edit]

Refer here for instructions

Technical Support and Product Updates[edit]

For further information or to report any problems, contact sitaraware_support@list.ti.com

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article SitaraWare GettingStarted 1.00.xx.xx here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article SitaraWare GettingStarted 1.00.xx.xx here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article SitaraWare GettingStarted 1.00.xx.xx here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article SitaraWare GettingStarted 1.00.xx.xx here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article SitaraWare GettingStarted 1.00.xx.xx here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article SitaraWare GettingStarted 1.00.xx.xx here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article SitaraWare GettingStarted 1.00.xx.xx here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article SitaraWare GettingStarted 1.00.xx.xx here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article SitaraWare GettingStarted 1.00.xx.xx here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity