Getting Started Guide for iMX6 Sabre-SDP

From RidgeRun Developer Connection

Jump to:navigation, search

Contents

Introduction

On this page you are going to find all the necessary information to start from scratch to use the RidgeRun SDK on your iMX6 Sabre-SDP board. In the following sections we assume that you have already installed the toolchain 2009q1-203 from codesourcery as well as your iMX6 SDK following the steps on The RidgeRun installation guide.

The second section of this guide shows instructions about how to configure your host PC before to perform any installation. Subsequently, the third section shows how to configure the RidgeRun's SDK to install all software components (uboot, kernel and filesystem) needed to boot to Linux Shell in your EVM. Finally, some pipelines using gstreamer are shown.

On the rest of this document, we refer as $DEVDIR to the path where the RidgeRun SDK for iMX6 SabreLite is installed.

Basic preliminary work

Setting up serial access to the Linux console

You can use termnet to control u-boot and linux. For this purpose, the board needs to be connected to the same network as the host computer. This is useful because the board doesn't have to be directly connected to the PC containing the SDK.

Setting up termnet - Ubuntu

If you use the serial port to control u-boot and Linux. The picocom terminal emulator work well for this purpose.

Setting up Picocom - Ubuntu

Setting up a NFS server

For application development, it is convenient to use root NFS mount file system for the target hardware. This allows you to rebuild your application on the host and immediately run the application on the target hardware with no interveining steps. Your host PC needs to be configured as a NFS server for this in order to work properly.

Setting Up A NFS Service

Configuring the SDK for components installation

The board supports two different boot modes, boot from SD Card (Slot 2 or Slot 3) and boot from eMMC . The bootloader is always going to be installed out of the boot partition in a pre-defined offset as required for the processor, the kernel and environment are going to be installed in the boot partition and the file system is going to be either in a SD card or NFS.

For all the available boot modes the SDK is going to help you with the creation of a bootable SD card by following some easy steps. The following subsections describe how to configure the iMX6 SDK to install all basic components (kernel, uboot and file system).

Prepare your environment

1. Set your environment variables

  
 cd $DEVDIR
 `make env`

2. Open a make config menu

 
make config

running make config your SDK is going to download all basic packages needed by the build system.

Kernel location

The kernel can be installed either in a SD card (default configuration) or in a tftp server.

To enable the kernel to be installed in a tftp server go to Installer configuration and select the option Start kernel via tftp. With this option enabled the SDK is going to install the kernel image in your tftp server and the board is going to be configured to start the kernel from there.

Kernel location

Note: Make sure you have your tftp server properly configured if you are going to use the Start kernel via tftp option (see Setting Up A Tftp Service for details).

Selecting between Quad or DualLite board

The iMX6 Sabre-SDP board comes in two versions, one with Quad processor and the other one with DualLite processor. To configure the SDK to the correct board, follow the next steps:

/ # make config
    --> Bootloader Configuration
        --> iMX6 Processor

Creating a Bootable SD Card

No matter the desired boot mode, the first step is the creation of a bootable SD card containing the bootloader, environment, kernel and if required, the file system. The following steps will show you how to do it.

Note: for now, a direct installation in the on board eMMC memory is not supported (but it'll be soon), but there is a workaround you can follow that will be explained later.

1. Select the installation mode


Installation Mode
Loopback Selection
SD Device Selection

2. Select the File system configuration

NFS root file system: the file system is going to be in the host PC..

Secure Digital Card: the file system is going to be installed in the SD card.

File System

Note: IF the Secure Digital Card configuration is selected, make sure to set the proper Root FileSystem location under the Installer configuration sub menu as shown below:

SD Card in slot 2: /dev/mmcblk2p2.

SD Card in slot 3: /dev/mmcblk1p2.

File System Location

3. Compile your SDK

 
 cd $DEVDIR
 make

4. Install your SDK

Once your SDK is compiled you are ready to install it, insert a SD car and start the installation process:

 
 umount /media/$SDNAME
 cd $DEVDIR
 make install

you will be asked to confirm the device that you are going to partition and format , please enter yes if it is correct. After this, the SDK will start to perform the installation.

Setting up the Board

Once you have a bootable SD Card you are ready to test your SDK with your selected configuration. To start using your board, insert the SD card in the corresponding slot and set the boot switch SW6 to one of the configurations shown below.


Boot switch configuration
Boot From D1 D2 D3 D4 D5 D6 D7 D8
SD Card from Slot2 (J500) ON OFF OFF OFF OFF OFF ON OFF
SD Card from Slot3 (J507) OFF ON OFF OFF OFF OFF ON OFF
eMMC ON ON OFF ON OFF ON ON OFF

Boot switch location:


Boot switch location

Installing the SDK to eMMC memory

At this moment, a direct installation in the eMMC memory is not supported. If you want to boot from that memory follow the following steps:

 
 cp $(DEVDIR)/images/sdcard.img $(DEVDIR)/fs/fs
 
 dd if=sdcard.img of=/dev/mmcblk0 bs=1M

Using Gstreamer

Some examples of use of GStreamer to implement basic multimedia pipelines can be found at IMX6 GStreamer Pipelines - SDK Turrialba.

You can also use the integrated multimedia player gplay instead of a complete pipeline.

 
gplay <file name>

With the previous command, the correct plugins are going to be selected in order to reproduce the file.

RR iMX6 Demo Application (No GUI)

In this section, you are going to see the steps to enable and use the RidgeRun iMX6 demo application (script-based). This demo is aimed to demonstrate some of the capabilities of the platform and the SDK.

To enable this demo in the RidgeRun SDK configuration window go to User Applications and select the iMX6 Demo application and then compile and install your SDK as explained in previous sections.

Demo application selection

Demo application usage example

To Run the RR iMX6 demo application interactive menu go to:

 
cd /opt/scripts/

and execute:

 
./interactive.sh

After that you are going to see the following menu:

Demo Menu

As you can see, you have 5 different options to select. To select one of them type the corresponding number + ENTER.

Exit

Exits the demo app.

Video_Test

This are the video preview related demos. In this sub-menu you can chose between 3 video sources:

Video Test

As in all the other menus, you'll have a back and exit option.

The available video sources are camera_loopback, video_preview and video_test_pattern.

After you select the desired video source, you are going to be prompted for the display to be used.


Display selection

Select Display0 to use the included LVDS display or Display1 to use the HDMI monitor.

Once you select the display, you have to select the desired overlay.

Overlay selection

Select FullScreen to display the video in FullScreen mode or Overlay to display the video in the desired position and size. You are going to be asked for the values.

Video_Streaming_server

With this option the board is going to be the streaming server. Like the Video_Test, you can select between 3 different video sources: from_camera, from_file and video_test_pattern.

Stream Server

After you select the desired option, the client's side pipeline is going to be shown on your screen, execut it in the HOST computer and then press enter to continue. The stream is going to be reproduced in your computer.

Video_Streaming_client

With this option the board is going to be the streaming client.

Once you select this option you are going to be asked for the Display and Overlay options. After this the server pipeline is going to be shown on the screen.

Server Pipeline

Copy and execute it in the server computer. The stream is going to be reproduced in the selected display.

Snapshot

With this option you can take a snapshot using the selected camera.

After you select this option, the select camera sub-menu is going to be shown, select the desired camera to take the snapshot.

The file is going to be saved in /opt/scripts/media/snapshot.jpeg.

Tools

With this option you can control the current pipelines and monitor the CPU usage.

Tools


Usage Example

Finally, as an example we are going to run display two videos in Display0 and one camera loopback in Display1.

1. Select option 1 (Video_Test).

2. Select camera loopback.

3. Select the select_camera option.

4. Select Camera0

5. Select Display1

6. Select FullScreen

7. Select option 1 (Video_Test).

8. Select Video_Preview.

9. Select video_1080p.

10. Select Display0.

11. Select Overlay.

12. type '0' + ENTER + '0' + ENTER + 640 + ENTER + 480 + ENTER.

13. Select option 1 (Video_Test).

14. Select Video_Preview.

15. Select video_720p.

16. Select Display0.

17. Select Overlay.

18. type '640' + ENTER + '480' + ENTER + 320 + ENTER + 240 + ENTER.


Once the tree pipelines are running, you can use the Tools option to control or list the pipelines or to see the CPU usage.

RR iMX6 Demo Application with GUI

In this section, you are going to see the steps to enable and use the RidgeRun iMX6 demo application (GUI-Based). This demo is aimed to demonstrate some of the capabilities of the platform and the SDK.

For a complete description on how to install and use the Ridgerun demo application for iMX6 platforms please go to the next guide.

IMX6 Demo Application

Running graphics acceleration examples

The first step is enabling the graphics processing unit. To do so, in the SDK configuration process, follow this steps:

GPU

Once the installation process is completed, boot your board and go to:

 
cd /opt/viv_samples/

In that location you are going to find 5 folders with pre-compiled applications. As an example execute:

 
cd /vdk
./tutorial3

Known Issues

Articles related to this board

RidgeRun 2011Q2 SDK User Guide
RidgeRun Turrialba SDK User Guide
i.MX 6Dual/6Quad Applications Processors for Consumer Products
Navigation
Toolbox