Sitara Linux Software Developer’s Guide
From Texas Instruments Embedded Processors Wiki
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.
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 | For Beaglebone:
2. Configure your development environment |
| 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:
|
| 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
These directories contain the code and tools used to develop for Sitara devices.
- bin - Contains the helper scripts for configuring the host system and target device. Most of these scripts are used by the setup.sh script.
- board-support - Contains the SDK components that need to be modified when porting to a custom platform. This includes the kernel and boot loaders as well as any out of tree drivers.
- docs - Contains various SDK documentation such as the software manifest and additional user's guide. This is also the location where you can find the training directory with the device training materials.
- example-applications - Contains the sources for the TI provided example applications seen during the out-of-box demonstration.
- filesystem - Contains the reference file systems. These include the smaller base file system as well as the full-featured SDK file system.
- host-tools - Contains the host side tools such as pinmux and flash tool.
- linux-devkit - Contains the cross-compile toolchain and libraries to speed development for the target device.
- Graphics_SDK_setuplinux_<version>.bin - This is the installer for the graphics SDK. The graphics SDK components are used by the Sitara Linux SDK to provide additional demos as well as integrated with the pre-built Qt libraries to accelerate various Qt functions.
- Makefile - Provides build targets for many of the SDK components from the top-level of the SDK.
- Rules.make - Sets default values used by the top-level Makefile as well as sub-component Makefiles
- setup.sh - Configures the users host system as well as the target system for development
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
- Currently for AM335x Flash programming is handled using U-Boot. Details can be found in the AM335x U-Boot User's Guide
- AM35x/AM37x Flash Tool User's Guide
- AM180x Flash Tool User's Guide
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.
Other How Tos
This section provides how-to articles on additional setups and configurations you may find useful in your development.
- Creating a HelloWorld CCS Project
- How to utilize Error Correction (ECC)
- How to Recalibrate the Touchscreen
- AMSDK File System Optimization/Customization
- How to Develop with 3D Graphics
- How to Connect to an EVM via Telnet
- How to Setup a Samba Server
- Understanding the Boot Sequence
- How to Move Files From Host to Target
- How to add Oracle Hotspot JVM to your target Linux Filesystem
- How to Flash the Linux System to NAND from U-boot
- How to use a Mouse instead of the Touchscreen with Matrix
- How to enable DVI display
- Preventing BeagleBone board reset on JTAG Connect
Reference Documentation
'
'Archived - Software Developer's Guide
- Sitara SDK 5.04.00.00 - Software Developer's Guide (archived)
- Sitara SDK 5.03.03.00 - Software Developer's Guide (archived)
- Sitara SDK 5.03.02.00 - Software Developer's Guide (archived)
- Sitara SDK 5.03.01.00 - Software Developer's Guide (archived)
- Sitara SDK 5.03.00.00 - Software Developer's Guide (archived)
- Sitara SDK 5.02.00.00 - Software Developer's Guide (archived)
- Sitara SDK 4.01 - Software Developer's Guide (archived)
- Sitara SDK 4.00 - Software Developer's Guide (archived)
Release Notes
Graphics
- Graphics SDK Getting Started Guide
- Graphics SDK 4.06.00.01 Release Notes
- SGX Debugging Tips and FAQ
- Qt Tips
AM335x PSP Documentation
- AM335x PSP 04.06.00.07 Features and Performance Guide
- AM335x PSP 04.06.00.07 Release Notes
- AM335x PSP 04.06.00.06 Features and Performance Guide
- AM335x PSP 04.06.00.06 Release Notes
- AM335x PSP 04.06.00.03 Features and Performance Guide
- AM335x PSP 04.06.00.03 Release Notes
- AM335x PSP User's Guide
AM35x/AM37x PSP Documentation
- AM35x-AM37-PSP 04.02.00.07 Feature Performance Guide
- AM35x-AM37-PSP 04.02.00.07 Release Notes
- AM35x-AM37-PSP 04.02.00.07 User's Guide
AM180X PSP Documentation
- AM180x-PSP 03.21.00.04 Feature Performance Guide
- AM180x-PSP 03.21.00.04 Release Notes
- AM180x-PSP 03.21.00.04 User's Guide
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
- E2E Support Forums - an active community of TIers and other customer like you already using the AM37x EVM. You may find your question has already been answer with a quick Search of the Forums. If not, a quick post will likely provide you the answers you need. Support@ti.com - a support email list you may submit your question to.
- support@ti.com
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:
- u-boot
- target file system
- Host Tools
- Scripts
- Example Applications
- Documentation
Some general guidelines to help us with your feedback are:
- Documentation
- Provide the URL of the document being discussed
- Describe the section in question
- If you have suggestions on the change requested please include them
- Source Code/Scripts/Makefiles
- Provide the location of the source code being discussed within the SDK
- If possible provide a patch as this is easier to determine the changes being proposed and helps us to make sure you get credit for your work
- Tools
- Provide the version of the tool
- If possible give screen captures or step-by-step instructions for reproducing any issues
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.
Comments
Comments on Sitara Linux Software Developer’s Guide
Ydliulei said ...
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)






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)