IMX6SLEVKスタート・ガイド

最終更新日時: 2019-03-25 13:17:00サポート i.MX 6SL Evalutaion Kit

このドキュメントの内容

  • 1

    パッケージの内容
  • 2

    BSPの概要
  • 3

    活用

1. パッケージの内容

このページでは、NXP Linux® OS BSPおよびi.MX6SL EVKについて説明します。

評価キットの内容:

  • MCIMX6SLEVK
  • USB micro B - USB Type Aオス、V2.0ケーブル
  • 100/240 V入力、5 V、2.4 A出力、ACアダプタ電源
  • クイック・スタート・ガイド
  • SDカード2枚:Android™プログラム済み

1.1 ボードの概要

GS-RDIMX6SABREBRD-IMG1 GS-RDIMX6SABREBRD-IMG2

1.2 SDカード (SD3) の挿入

キットには、NXP Linux®のビルド済みBSPイメージを格納したSDカードが付属しています。システムを変更することなく、このイメージからのブートにより、Linux®上で他のアプリケーションをビルドするための特定の機能を備えたデフォルトのシステムが提供されます。

NXP Linux® BSPイメージの詳細については、次の「BSPの概要」のセクションを続けてお読みください。

1.3 USBデバッグ・ケーブルの接続

付属のUSBケーブルのmicro B側をデバッグUARTポートJ509に接続します。ケーブルのもう一方の端をホスト・コンピュータに接続します。

ターミナル・ウィンドウの構成:ボーレート115200 、8データ・ビット、1ストップ・ビット、パリティなし

シリアル通信コンソールの設定 - Linux®

Linux®ホスト・マシンで、次のコマンドを実行してポート番号を確認します。

$ ls /dev/ttyUSB*

次のコマンドを使用して、シリアル通信プログラムをインストールします。

$ sudo apt-get install minicom

シリアル通信コンソールの設定 - Windows

Windowsでは、i.MXボードの仮想COMポートのポート番号を決定するには、デバイス・マネージャを開き、「Ports(ポート)」グループを確認します。

必要に応じて、serial-to-USBドライバはFTDI Chip Driversから入手できます。

ターミナル・アプリケーションの使用方法がわからない場合は、Tera TermチュートリアルまたはPuTTYチュートリアルのいずれかのチュートリアルをお試しください

1.4 HDMIの接続(オプション)

HDMIケーブルをHDMIコネクタJ8に接続します。HDMIケーブルのもう一方の端をHDMI対応モニタに接続します。

1.5 ユーザー・インターフェース・デバイスの接続(オプション)

モニタに表示されるOS GUIを操作するためのキーボードとマウスを取り付けます。複数のデバイスを使用する場合は、micro-USBハブをmicro-USBジャックJ505に接続し、キーボードとマウスをハブに接続します。

1.6 イーサネット・ケーブルの接続(オプション)

イーサネット・ケーブルをイーサネット・ジャックJ7に接続します。

1.7 電源の接続

5 V電源ケーブルを5 V DC電源ジャックP1に接続します。

電源が投入されると、プロセッサがオンチップROMからのコードの実行を開始します。デフォルトのブート・スイッチ設定では、このコードがヒューズを読み取り、ブータブル・イメージを検索するメディアを見つけます。その後、SDカードが見つかると、自動的にU-Bootの実行が開始されます。

シリアル・コンソールに情報が表示されます。U-Bootプロセスを停止しない場合は、Linux®カーネルのブートが実行されます。

1.8 Linux®のブートの完了

Linux®のブートが完了すると、ユーザー名をrootとして、パスワードなしでログインできます。

U-Bootに割り込むには、U-Bootの環境変数「bootdelay」の値が減少する前およびタイムアウトする前(デフォルトは3秒)に、任意のキーを押します。U-bootプロセスを停止した場合は、次のコマンドを実行してLinux®のブートを再実行できます:U-Boot >boot

2. BSPの概要

開発方法を選択する:

i.MX Linux®ボード・サポート・パッケージ

  • 長期サポートのカーネル・リリース
  • U-Boot

または

i.MX Android®ボード・サポート・パッケージ

  • Android互換性テスト・スイート (CTS) 互換のリリース
  • 拡張マルチメディア機能

2.1 概要

i.MXボード上でLinux® OSカーネルがブートできるようになる前に、Linux®イメージがブート・デバイスにコピーされ、そのデバイスをブートするようにブート・スイッチが設定される必要があります。

ボードを起動してLinux®を実行するには、以下の4つの要素が必要です。

  • ブート・ローダ (U-Boot)
  • Linux®カーネル・イメージ (zImage)
  • 使用されているボードのデバイス・ツリー・ファイル (.dtb)
  • 特定のLinux®イメージのルート・ファイル・システム (rootfs)

2.2 Linux® BSPイメージの準備

ビルド済みイメージ

このリリースには、i.MX 6Quad Sabre-SDボード用に特別に構築されたビルド済みのSDカード・イメージが含まれています。SDカード・イメージは、通常はという名前が付けられているファイルで、パーティションと、上記の4つすべてのコンポーネントのほかボードの起動に必要なすべてのファイルを含む、特別に構築されたディスク・イメージです。

ビルド済みのNXP Linux®バイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。

セルフビルドのイメージ

ユーザーは、ソース・コードとドキュメントを使用することで、独自のデバイス用にビルドされたLinux®イメージをカスタマイズする(システム・コンポーネントの追加や削除など)こともできます。

Yocto Projectは推奨されるフレームワークで、Linux®カーネルのブートに使用されるイメージをビルドするためのNXPプロフェッショナル・サポートも備えていますが、他の方法を使用することもできます。

詳細については、こちらのNXP Yocto Projectユーザー・ガイドを参照してください。

2.3 Linux® BSPイメージのダウンロード

各種のボードやブート・デバイス用のLinux® BSPイメージをダウンロードし、望ましい結果を得るには、さまざまな方法があります。

スタート・ガイドには、BSPイメージをSDカードに転送するためのごく一部の方法のみを記載しています。Linux®での経験が豊富な開発者は、他のオプションを活用できます。

.sdcardイメージ(ビルド済みまたはセルフビルドのBSPイメージ)は、直接フラッシュ書き込みできるSDカード・イメージです。これは、必要なものすべてを1つのコマンドでカードにロードするための最も簡単な方法です。

より柔軟性が必要な場合は、SDカードに個々のコンポーネント(ブートローダ、カーネル、dtbファイル、rootfsファイル)を1つずつロードしたり、.sdcardイメージをロードして個々の部分を特定のコンポーネントで上書きすることができます。

SDカード・イメージを完全にコピーする

ブートローダとカーネル・イメージを転送してパーティション・テーブルを初期化し、ルート・ファイル・システムをコピーするには、SD/MMCカード・リーダーが必要です。

Linux®ホスト:

Linux®ホストで動作しているLinux®カーネルが、SD/MMCカード・リーダーにデバイス・ノードを割り当てます。

SD/MMCカードに割り当てられたデバイス・ノードを特定するには、ホスト・コンピュータで次のコマンドを実行します:$ cat /proc/partitions

次のコマンドを実行して、SDカード・イメージをSD/MMCカードにコピーします。以下のsdxを、SDカードで使用されているものと一致するように変更します。

$ sudo dd if= of=/dev/sd bs=1M && sync ここでfilename.sdcard>は、ボード固有の正しいSDカード・イメージです

パーティションを手動で設定するには、i.MX Linux®ユーザー・ガイドの4.3.3をお読みください。

SDカードのイメージを完全には使用しない場合に個々のコンポーネントを個別にロードするには、i.MX Linux®ユーザー・ガイドの4.3.4~4.3.6を参照してください。

U-Bootを使用する

MfgToolという名称の製造ツールは、Windows OSホストで動作するツールであり、i.MXボード上の異なるデバイスにイメージをダウンロードするために使用されます。ビルド済みのLinux® BSPイメージにtar.gzファイルが付属しています。

製造ツール・チュートリアル - Linux

  1. USBケーブルでコンピュータをボードのUSB OTGポートに接続します
  2. i.MX 6Quad/QuadPlus SABRE-SDボードでは、シリアル・ダウンロード・モード専用のブートDIPスイッチは用意されていません。1つの方法として、ブート・モードをSDスロットSD3からのブートに設定し、SDカードを挿入せずにボードの電源を入れます。「HID Compliant device」というメッセージが表示された後、ボードはシリアル・ダウンロード・モードに入ります。次に、SDカードをSDスロットSD3に挿入します。 i.MX Linux®ユーザー・ガイドの「4.5.11 製造ツール向けシリアル・ダウンロード・モード」を参照してください
  3. ボードの電源をオンにします
  4. ターゲット・デバイスに応じた適切な*.vbsファイルを選択します。製造ツールは、デバイスに基づいて必要なファイルを自動的に取得します。製造ツールのデフォルト・プロファイルでは、ファイル・システムがbzip2アルゴリズムを使用してパックおよび圧縮されていると仮定しています。他の形式をサポートするようにプロファイルを変更することもできます
  5. イメージのダウンロードが完了したら、ボードを起動するためのブート・スイッチを設定します。このスタート・ガイドのセクション2の次のステップ、またはドキュメントの「i.MXボードの起動方法」のセクションを参照してください

詳細については、i.MX Linux®ユーザー・ガイドの「4.2 製造ツール」を参照してください。

デバッグUARTポートからのUSBケーブルをコンピュータに接続して、コンソール出力用のシリアル通信プログラムを開くことができます。

GS-RDIMX7DSABREBRD-IMG20

製造ツールを使用する

U-Bootブートローダは、イーサネット経由でRAMにイメージをダウンロードし、SDカードに書き込むことができます。この操作のためには、ネットワーク通信を設定する必要があります。

ブート用ではないMMC/SDカードにU-Bootをダウンロードする方法については、セクション4.4.1を参照してください

イメージは、U-Bootを使用してその他のブート・メディア(メモリ・ストレージ・デバイス)にダウンロードできます。その他のメモリ・デバイス使用するには、4.4.1の該当セクションを参照してください

2.4 ブート・スイッチの設定

i.MXボードのブート・モードは、ボード上のブート設定用DIPスイッチによって制御されます。

S1_2
BOOT_MODE1
S1_1
BOOT_MODE0
ヒューズからのブート 0 0
シリアル・ダウンローダD 0 1
内部ブート 1 0
予約済み 1 1
SW3_8
BT_CFG1_0
SW3_7
BT_CFG1_1
SW3_6
BT_CFG1_2
SW3_5
BT_CFG1_3
SW3_4
BT_CFG1_4
SW3_3
BT_CFG1_5
SW3_2
BT_CFG1_6
SW3_1
BT_CFG1_7
SD1 * ** * * * 0 1 0
SD2D * ** * * * 0 1 0
SD3 * ** * * * 0 1 0
SD4 * ** * * * 0 1 0
EMMC X X * * * 1 1 0
SPI NOR X X X X 1 1 0 0
SW4_8
BT_CFG2_0
SW4_7
BT_CFG2_1
SW4_6
BT_CFG2_2
SW4_5
BT_CFG2_3
SW4_4
BT_CFG2_4
SW4_3
BT_CFG2_5
SW4_2
BT_CFG2_6
SW4_1
BT_CFG2_7
SD1 * X X 0 0 1 * *
SD2D * X X 1 0 1 * *
SD3 * X X 0 1 1 * *
SD4 * X X 1 1 1 * *
EMMC * * * 1 0 0 1 1
SPI NOR X X X X X X X X
SW5_8
BT_CFG4_0
SW5_7
BT_CFG4_1
SW5_6
BT_CFG4_2
SW5_5
BT_CFG4_3
SW5_4
BT_CFG4_4
SW5_3
BT_CFG4_5
SW5_2
BT_CFG4_6
SW5_1
BT_CFG4_7
SD1 X X X X X X X X
SD2D X X X X X X X X
SD3 X X X X X X X X
SD4 X X X X X X X X
EMMC X X X X X X X X
SPI NOR 0 0 0 1 0 0 X X

X:指定なし

D:デフォルト設定

*:スイッチは、アプリケーションのニーズに応じてハイまたはローに設定する必要があります。ブート設定オプションについては、リファレンス・マニュアルをご確認ください。

**:1 = SDa_RST_B (SD3_RST) を介して電源投入時に再起動。0 = 再起動なし

他のデバイス(SD3およびSATA)からブートするようにブート・スイッチを設定するには、i.MX Linux®ユーザー・ガイドの4.5を参照してください

3. 活用

3.1 Linux®の主要機能のデモ

i.MXプラットフォーム上でLinux®が動作している場合、i.MX SoCが提供する以下の特別な機能を評価できます。

パワー・マネジメント

i.MXボードには、次の3つの主なパワー・マネジメント手法が備わっています。

  • 中断および再開コマンド
  • CPU周波数スケーリング
  • バス周波数スケーリング

Linux®セットアップ後のユーザー空間でのアプリケーション開発の詳細については、i.MX6 Linux®リファレンス・マニュアルを参照してください。

マルチメディア

Linux®セットアップ後のユーザー空間でのアプリケーション開発の詳細については、i.MX6 Linux®リファレンス・マニュアルを参照してください。

グラフィックス

  • 詳細については、i.MX Linux®ユーザー・ガイドの第8章をご覧ください
  • グラフィックAPIおよびドライバのサポートの詳細については、 i.MX6グラフィックス・ユーザー・ガイドを参照してください
    • このドキュメントの目的は、グラフィックAPIおよびドライバのサポートに関する情報を提供することです。各章では、特定のAPIまたはドライバの統合、および特定のハードウェア・アクセラレーションのカスタマイズについて説明しています。このドキュメントの対象読者は、グラフィック・アプリケーションやビデオ・ドライバを作成する開発者です
    • i.MX G2D API
    • i.MX 6 EGLおよびOGL拡張サポート
  • ビデオ・プロセッシング・ユニットの詳細については、 i.MX VPUプログラミング・インターフェースLinux®リファレンス・マニュアルを参照してください

セキュリティ

  • 詳細については、i.MX Linux®ユーザー・ガイドの第9章をご覧ください
  • セキュアなシステム・アップグレードの詳細については、i.MX Linux®ハイ・アシュアランス・ブートのユーザー・ガイドをお読みください

コネクティビティ

  • Bluetoothのサポートは、BlueZ4またはBlueZ5対応のUSBドングルを使用すると最適に機能します。
  • BroadcomのWi-FiおよびBluetoothワイヤレス・テクノロジをサポートするには、i.MXソフトウェアと開発ツールからBroadcomファームウェア・パッケージをダウンロードする必要があります。Broadcomのデバイス・ドライバはカーネルに組み込まれていますが、正常に機能させるには、ファームウェア・パッケージのダウンロードと統合が必要です。
  • 詳細については、i.MX Linux®ユーザー・ガイドの第10章をご覧ください

3.2 アプリケーション開発

Linux®セットアップ後のユーザー空間でのアプリケーション開発の詳細については、i.MX6 Linux®リファレンス・マニュアルを参照してください。

3.3 Yocto Project

NXP Yocto Projectユーザー・ガイドでは、Linux®ホスト・マシンの設定方法、およびYoctoプロジェクトの実行と設定、イメージの生成、およびルート・ファイルの生成の各方法について説明しています

詳細については、NXP Yocto Projectユーザー・ガイドを参照してください

3.4 Androidの拡張機能

Wi-Fi Display Sink API

i.MX Android Wi-Fi Display Sink APIにより、デバイスをWi-Fiディスプレイ・シンクとして機能させ、Wi-Fiディスプレイ・ソースからのオーディオおよびビデオ・コンテンツをリアルタイムでレンダリングすることができます。

i.MX Android Wi-Fi Display Sink APIを使用すると、Androidアプリケーションで以下を実行できるようになります。

  • 他のWi-Fiディスプレイ・ソース・デバイスをスキャンする
  • 自身のピア名とMACアドレスを取得する
  • 他のWi-Fiディスプレイ・デバイスに表示されるデバイス名を設定する
  • Wi-Fiディスプレイ・ソース・デバイスからRTSPストリーミングをレンダリングするようにディスプレイ・サーフェスを設定する
  • Wi-Fi DisplayのSourceとSink間のRTSPストリーミングを開始または停止する
  • P2PレイヤからWi-Fiディスプレイ接続を切断する
  • 入力イベントをWi-Fi ディスプレイ・ソース・デバイスに送信する(これはUIBCとして知られています)

Android拡張Wi-Fi Display Sinkリリース・パッケージに基づいたHDCP2.X(高帯域幅デジタル・コンテンツ保護)機能は、以下を可能にすることでソースとディスプレイ間のセキュアな接続を確立するように設計されています。

  • Androidイメージのハイ・アシュアランス・ブート (HAB)
  • HDCP2.Xキー用のキーblobの生成およびプロビジョニング

拡張コーデック

リリース・ノートに記載されている機能は、NXPによって実装されたメディア・フレームワークOMXPlayerでサポートされています。これらは、android_L5.1.1_2.0.0-ga_omxplayer_source.tar.gzソフトウェア・パッケージを適用した後にのみ利用できます。

OMXPlayerパッケージには、ライセンス制限のないコーデックのみが含まれています。

i.MX Android拡張コーデック・リリース・ノートにあるビデオ/オーディオ・デコーダ/エンコーダをご確認ください

OMXPlayerパッケージをインストールするには、次の手順を実施します。

  1. OMXPlayerパッケージをAndroidのルート・ディレクトリにコピーします
  2. Androidのルート・ディレクトリに移動し、OMXPlayerパッケージを解凍します

この手順により、device/fsl-codecexternal/fsl_imx_omxlean_obj_before_building.sh、およびswitch_build_to.shが生成されます。

$ source build/envsetup.sh
$ lunch  # e.g., sabresd_6dq-user
$./switch_build_to.sh full
$./clean_obj_before_building.sh
$make

3.5 関連リソース

Androidのブート用LCD/HDMI SDカード

デフォルトのブート・モードでは、MCIMX28LCD(別売)にUIが表示されるようにシステムが設定されています。デフォルト設定を変更してMCIMXHDMICARDドータ・カード(別売)を有効にするには、任意のキーを押してu-bootの実行を停止します。プロンプトが表示されたら、u-bootを次のように設定できます。

LCDを起動するには、次のコマンドを1行で入力します。

setenv bootargs console=ttymxc0,115200 init=/initandroidboot.console=ttymxc0panel=lcdsaveenvreset

HDMIを起動するには、次のコマンドを1行で入力します。

setenv bootargs console=ttymxc0,115200 init=/initandroidboot.console=ttymxc0panel=hdmisaveenvreset

Androidのブート用EPDC SDカード

デフォルト設定を使用する必要があり、変更は不要です。

Tera Termチュートリアル

Tera Termチュートリアル

Tera Termは、広く利用されているオープン・ソースのターミナル・エミュレーション・アプリケーションです。このプログラムを使用して、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示できます。

  1. SourceForgeからTera Termをダウンロードします。ダウンロードしたら、インストーラを実行し、このウェブページに戻って手順を続行します
  2. ダウンロード

  3. Tera Termを起動します。初めて起動する際には、次のダイアログが表示されます。シリアル・オプションを選択します。ボードが接続されている場合は、COMポートが自動的にリスト内に表示されます
  4. Tera-Term-Connection
  5. 事前に確認したCOMポート番号を使用して、シリアル・ポートをボーレート115200、8データ・ビット、パリティなし、1ストップ・ビットに設定します。この設定は[Setup(セットアップ)]>[Serial Port(シリアル・ポート)]から行うことができます
  6. 接続が確立されているか検証します。確立されている場合、Tera Termのタイトル・バーに次のように表示されます
  7. Tera-Term-Console
  8. 以上で設定は完了です

PuTTYチュートリアル

PuTTYチュートリアル

PuTTYは、広く利用されているターミナル・エミュレーション・アプリケーションです。このプログラムを使用して、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示できます。

  1. 下のボタンをクリックしてPuTTYをダウンロードします。ダウンロードしたら、インストーラを実行し、このウェブページに戻って手順を続行します
  2. ダウンロード

  3. 選択したダウンロードのタイプに応じて、ダウンロードした*.exeファイルをダブルクリックするか、[Start(スタート)]メニューから選択して、PuTTYを起動します
  4. 表示されたウィンドウで設定を行い、[Serial(シリアル)]ラジオ・ボタンを選択して、事前に確認したCOMポート番号を入力します。ボーレートもあわせて指定します。今回は115200を入力します
  5. PUTTY-Configuration
  6. [Open(開く)]をクリックして、シリアル接続を確立します。ボードが接続されていて、正しいCOMポートが入力されていれば、ターミナル・ウィンドウが開きます。設定が正しくない場合は、アラートが表示されます
  7. 以上で設定は完了です