Sitara Linux Software Developer’s Guide

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

TIBanner.png

Contents




NOTE - This Software Developer's Guide (SDG) currently supports the SDK 5.04.01.00 release coming April 16, 2012.

For the SDG specific to your SDK release, please refer to Archived SDGs under Reference_Documentation.




Welcome to the Sitara Linux Software Developer's Guide

Thank you for choosing to evaluate one of our Sitara ARM microprocessors. Please bookmark this page and refer back to it as needed. It is designed to quickly provide the information you need most while evaluating the AMx microprocessor. We are always striving to improve this product.  Please let us know if you have ideas or suggestions.  



Supported Platforms & Version Information

The following Sitara ARM microprocessors are supported with this SDK version.

Platforms SDK PSP Kernel U-Boot Toolchain Release Date
BeagleBone 5.04 04.06.00.07 3.2 2011.09 gcc4.5.3 Mar 2012
AM335xEVM 5.04 04.06.00.07 3.2 2011.09 gcc4.5.3 Mar 2012
Beagleboard-xM 5.04

       -

3.0.8 2011.09 gcc4.5.3 Mar 2012
AM37xEVM 5.04 04.02.00.07 2.6.37 2011.09 gcc4.5.3 Mar 2012
AM35xEVM 5.04 04.02.00.07 2.6.37 2011.09 gcc4.5.3 Mar 2012
AM180xEVM 5.04 03.21.00.04 2.6.37 2010.12 gcc4.5.3 Mar 2012



Linux Software Stack

The following software stack illustrates at a high level the various components provided with the Sitara Linux SDK.
NOTE - Availability of certain applications are platform dependent and clarified in the associated User Guides below.  



Sitara linux stack.png




EVM Hardware Overview

Details for various hardware platforms supported by this Sitara Linux SDK are provided before.

Platform Document EVM Provider
AM335xEVM Hardware User's Guide www.ti.com
BeagleBone Hardware User's Guide (Rev A3) Beagleboard.org
Beagleboard-xM Hardware User's Guide Beagleboard.org
AM37xEVM Hardware User's Guide Mistral
AM35xEVM Hardware User's Guide Logic
AM180xEVM Hardware User's Guide Logic




Start your Linux Development

Before using the Sitara Linux SDK you must have a Linux development environment.  Linux development environments vary, so we recommend the following for ease of use and consistency when working together.  The next few steps will assist you in the setup & configuration of your Linux host based on the physical setup shown below.   


1. Configure a Linux Host - If you already have a Linux host machine, go to Step 2. If you do not have a Linux host machine, you can configure a Linux host machine on your Windows PC using a virtual machine.


For standard EVMs:

2.  Configure your development environment

Evm environ.png

For Beaglebone:

2. Configure your development environment

Bone environ.png

3. Install the SDK - Within your Linux host machine, Install the Sitara SDK

3. Run the START_HERE Script - When Beaglebone boots, a START_HERE directory will display on your Linux host desktop.  To start your evalaution and development using the BeagleBone, Run the START_HERE.sh script

NOTE: The START_HERE.sh script will run the setup.sh script. For Beaglebone boards before rev A5 the setup.sh script will attempt to install a udev rule to load the ftdi_sio module with the proper parameters to recognize the Beaglebone. If you experience difficulty with the Beaglebone being recognized you can load the module manually by doing:

  • sudo rmmod ftdi_sio
  • sudo modprobe ftdi_sio vendor=0x0403 product=0xa6d0


4.  Run the Setup Script - Once the SDK has been installed, Run the Setup.sh Script to guide you through the remaining development environment configuration.
NOTE: If using a VMWare image you will likely need to import the beaglebone into the VMWare image as a mass storage device using the instructions here




SDK Directory Structure Overview

The Sitara Linux SDK contains the following top-level directories and files

Sitara-Linux-directory-structure.png

These directories contain the code and tools used to develop for Sitara devices.




Example Applications User's Guides

There are a number of Example Applications provided within the Sitara Linux SDK. Below are the applications available on each platform and the User's Guides associated with each component.

NOTE: The example applications below assume that you are using the default pinmux/profile configuration that the board ships with, unless otherwise noted in the individual application's User's Guide


Applications available by development platform

Applications AM335x BeagleBone AM180x AM35x AM37x Beagleboard-xM Users Guide Description
Matrix GUI X X X X X X Matrix User's Guide Provides an overview and details of the graphical user interface (GUI) implementation of the application launcher provided in the Sitara Linux SDK
Power & Clocks X X     X X Power Management User's Guide Provides details of power applications integrated into the Matrix GUI, along with helpful command line equivalents.
Multimedia X   X X X Multimedia User's Guide Provides details on implementing ARM/Neon based multimedia using GStreamer pipelines and FFMPEG open source codecs.
Camera     X   Camera User's Guide Provides details on how to support smart sensor camera sensor using the Media Controller Framework
USB Profiler X X X X X X NA  
ARM Benchmarks X X X X X X NA  
Oprofile X X X X X X Oprofile User's Guide Provides applications which show how Oprofile can be used for debugging and understanding system performance.
Display X   X X   NA  
Cryptography X X X X X X Cryptography User's Guide Provide details on how to implement cryptography through use of OpenSSL and various example applications.
PRU X


NA  
WLAN and Bluetooth X X
X    Open Source Wireless Connectivity WLAN/Bluetooth User's Guide Provides details on how to enable the WL1271 daughtercard which is connected to the EVM
QT Demos X X X X X X NA  
Web Browser X X X X X X NA  
System Settings X X X X X X NA  




Bootloaders - How to Build & Install

The following provides instructions on how to build and install uboot and MLO.  Additional reference documentation is also provided.   




Kernel - How to Configure, Build & Install

The following provides instructions on how to configure, build and install the Linux kernel. Additional reference documentation is also provided.




Host Side Development Tools

There are number of host side development tools provided in the Sitara Linux SDK to ease your development.  See the appropriate User's Guide below for more information.

Host Tools for Target Development

These are tools that will assist in cross-compiling code for the target device or making images to run on the target device

Top-Level Makefile

The Sitara Linux SDK contains a top-level Makefile in the root of the SDK tree that can be used to rebuild many of the example applications and board support packages. See the Sitara Linux SDK Top-Level Makefile page for more information on using this Makefile.

GCC Cross-Compile Toolchain

Starting with version 05.xx of the Sitara Linux SDK there is now a GCC cross-compile toolchain available within the SDK in the linux-devkit directory. For details on using this toolchain please see the Sitara Linux SDK GCC Toolchain page.

create-sdcard.sh script

Starting with version 05.04 of the Sitara Linux SDK there is now a shell script available called create-sdcard.sh which can be used to create an SD card image for booting the various Sitara EVMs. For details on using this script please see the Sitara Linux SDK create SD card script page.


Code Composer Studio v5 User's Guide

Code Composer Studio v5 - a full featured, Eclipse based IDE that includes the Remote System Explorer plugin. CCSv5 can be used for both application development & debug using gdbserver and kernel debug using an XDSv100 JTAG emulator.

For detailed instructions based on the Beagebone on how to do Linux debugging with CCSv5 see:



Host tools for Target Configuration

These tools are intended to be run on the host and assist in configuring the target device

Pin Mux Utility User's Guide

Pin Mux Utility - a graphical utility designed to ease the pin mux configuration effort by highlighting pinmux conflicts, configuring the IO and outputting the required source code.



Flash Tool User's Guide

Flash Tool - a graphical utility design to easily support new memory configurations and HW flashing typically through UART & USB for the EVM or custom hardware




Linux Training

In Sitara we recognize the need for solid, real world embedded Linux training.  As we continue to enhance the features of our Sitara Linux SDK we have also focused on developing training material based on the same SDK.  That way, anything provided in the training can be easily reproduced on your side once you have installed the Sitara Linux SDK.


Sitara Linux Training



Other How Tos

This section provides how-to articles on additional setups and configurations you may find useful in your development.



Reference Documentation

'
'
Archived - Software Developer's Guide


Release Notes


Graphics



AM335x PSP Documentation


AM35x/AM37x PSP Documentation


AM180X PSP Documentation


QT Documentation




GPLv3 Disclaimer

There are GPLv3 licensed software components contained within the Sitara Linux SDK on both the target and the host.  The software manifest (software_manifest.htm) for the Siatara Linux SDK is located in the docs/ directory of the installed SDK.  All GPLv3 components for both target and host are contained in the SDK directory.


These GPLv3 components are provided for development purposes only and may be removed for production solutions. 


How to Identify the GPLv3 components

To idenitfy the GPLv3 components installed on the target file system, run the gplv3-notice script located on the target file system located here:  /etc/init.d/gplv3-notice

The gplv3-notice script will list all Sitara Linux SDK built shipped installed packages.  If you installed addtional GPLv3 components this script may not identify them until the next target reboot.  


How to Remove Target side GPLv3 Components

The gplv3-notice script also outputs how to remove the packages.  To remove individual packages from the target development file system, use the opkg remove command which is: opkg remove <package>



Software Updates

We are continually improving the quality and content of the software we provide in the EVM. Updates to the SDK may be obtained at Software Updates as they become available.



Technical Support



Want to Contribute?

We are always striving to improve this Sitara Linux SDK. Please let us know if you have ideas or suggestions. The sections below will give you ideas on how to best contribute to the SDK and PSP Linux kernel.

SDK Contributions

All Sitara Linux SDK contributions can be sent to the sdk_feedback@list.ti.com mailing list. This covers submitting bug fixes, new features, or any other feedback to components provided with the Sitara Linux SDK including, but not limited to:


Some general guidelines to help us with your feedback are:


Following the above guidelines will help to streamline the communication, but we would like to get your feedback no matter what.

PSP Linux Kernel Contributions

For information on how to contribute to the PSP Linux kernel please see the Contributing to the Linux PSP page.



E2e.jpg For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Sitara Linux Software Developer’s Guide 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

Comments

Comments on Sitara Linux Software Developer’s Guide


Ydliulei said ...

I am a chinese I am poor in English ,could you translate more pdfs into chinese. thank you!

--Ydliulei 06:17, 10 December 2011 (CST)

Kedarkekan said ...

This wikipage says support for SDK 5.04 Whereas I don't find any 5.04 on the download page. The latest available version is 5.03.02. Could you please correct either the wiki page or the SDK download page? - Kedar

--Kedarkekan 11:10, 28 February 2012 (CST)

Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox