i.MX 8M Mini EVKBスタート・ガイド

最終更新日時: Mar 26, 2019サポート i.MX 8M Mini評価キット

1. パッケージの内容

1.1 i.MX 8M Mini EVKのパッケージの内容


次のセクションでは、i.MX 8M Mini LPDDR4 EVKBをブートする手順について説明します。

開発キットの内容:

  • スマート・デバイス用i.MX 8M Mini LPDDR4 EVKBボード
  • USB micro-Bケーブル
  • USB Type-Cケーブル – Type-CオスとType-Aオス
  • USB Type-C to Aアダプタ
  • USB Type C 45 W給電、5 V/3 A、9 V/3 A、15 V/3 A、20 V/2.25 Aをサポート
  • IMX-MIPI-HDMIドータ・カード
  • Mini-SASケーブル
  • Android BSP(eMMCに書き込み済み)
  • クイック・スタート・ガイド

パッケージ内容の説明ビデオを見て、i.MX 8M Mini EVKBでのアプリケーションの開発を始めましょう。詳細については、i.MX 8M Miniアプリケーション・プロセッサのドキュメントをご覧ください。

1.2 ボードの概要

8MMINILPD4-EVKB-TOP-LABELS

8MMINILPD4-EVKB-TOP-LABELS

8MMINILPD4-EVKB-BACK-LABELS

8MMINILPD4-EVKB-BACK-LABELS

i.MX 8M Mini EVKBキットには、ボードのビデオ機能を使用するために必要なIMX-MIPI-HDMIドータ・カードが付属しています。ドータ・カードをMini-SASケーブルに接続し、DSI MIPIというラベルの付いたコネクタにカチッという音がするまで押し込みます。

IMX8MMINIEVK-BOARD2

IMX8MMINIEVK-BOARD2

1.3 eMMCからのブート

i.MX 8M Mini EVKBでは、ビルド済みのNXP Androidバイナリ・デモ・イメージがeMMCに書き込まれています。内部のバイナリを変更することなく、eMMCからのブートにより、Android上で他のアプリケーションをビルドするための特定の機能を備えたデフォルトのシステムが提供されます。

NXPの組込みLinux®、組込みAndroid™、MCUXpresso SDKの詳細については、以降のセクションを参照してください。

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

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

ターミナル・アプリケーションの使用方法がわからない場合は、ホスト・マシンのオペレーティング・システムに応じて、次のいずれかのチュートリアルを試してください。MinicomチュートリアルTera TermチュートリアルPuTTYチュートリアル

1.5 HDMIケーブルの接続

イメージ・バイナリに付属のユーザー・インターフェースを表示するには、HDMIコネクタ (true) を使用してモニタを接続します。

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

ブート・シーケンスの詳細は、i.MX 8M Miniリファレンス・マニュアルに記載されています。つまり、i.MXボードのブート・モードは、ブート設定スイッチによって制御されます。

これらのスイッチは、ブート・メディア(ボードに応じて、SDカード、eMMC、またはNAND)、シリアル・ダウンロード・プロトコル・モード (SDP)、またはeFusesの設定値を選択します。

また、SDPはブート・メディアのフォールバックとしても機能します。つまり、SDカードからブートするようにスイッチが設定されていてSDカード・スロットが空の場合、またはSDカードのバイナリ・コンテンツがブート可能でない場合は、ブート・シーケンスはSDPブートに切り替わります。

i.MX 8M Mini Board

i.MX 8M Mini Board

次の表は、i.MX 8M Mini EVKボードのブート・スイッチの設定の一覧です。同じ情報は、i.MX 8M Miniリファレンス・マニュアルおよびスイッチ近くのボード上のシルクスクリーンにも記載されています。

スイッチ SW1101 [D1-D10] SW1102 [D1-D10]
eMMC/uSDHC3(デフォルト) 0110110001 0001010100
MicroSD/SDHC2 0110110010 0001101000
QSPI NORフラッシュ 0110xxxxxx 00000x0010
シリアル・ダウンロード・モード 1010xxxxxx xxxxxxxxx0

1.7 電源の接続

電源ケーブルを電源コネクタ (J302) に接続します。

スイッチ (SW101) を使用してボードの電源を入れます。

プロセッサがオンチップROMコードから実行を開始します。デフォルトのブート・スイッチ設定では、このコードにより、ブータブル・イメージが格納されているメディアを指定するヒューズが読み取られます。ブータブル・イメージが見つかると、U-Bootの実行が自動的に開始されます。

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

1.8 Androidのブートの完了

ブート・プロセス中に、HDMIディスプレイにAndroidのロゴが表示されます。HDMIの出力解像度は1080P固定であることに注意してください。変更する場合は、Androidのドキュメントをご確認ください。

ブート・プロセスが完了すると、Android UIが表示されます。マウスで操作を開始できます。

2. 組込みLinux®

2.1 概要

このセクションは、ボードにLinuxオペレーティング・システムをロードする場合にのみ適用されます。

i.MX Linuxボード・サポート・パッケージ (BSP) は、特定のi.MX開発プラットフォームで組込みLinuxイメージをブートするために使用されるバイナリ・ファイル、ソース・コード、およびサポート・ファイルの集まりです。

Linuxバイナリ・デモ・ファイルの現在のリリースは、i.MXのLinuxダウンロード・ページにあります。詳細については、Linuxユーザー・ガイドおよびLinuxリファレンス・マニュアルを参照してください。その他のドキュメントは、i.MX Linuxドキュメント・バンドル、またはi.MXソフトウェアおよび開発ツールのLinuxのセクションで入手できます。

i.MXボード上でLinux OSカーネルがブートできるようになる前に、Linuxカーネルがブート・デバイス(SDカード、eMMCなど)にロードされ、そのデバイスをブートするようにブート・スイッチが設定されます。

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

このスタート・ガイドでは、Linux BSPイメージをSDカードに転送するいくつかの方法のみを示します。経験豊富なLinux開発者は、他のオプションを検討することもできます。

2.2 NXP Linux BSPのビルド済みイメージのダウンロード

i.MX 8M Mini EVKB用の最新のビルド済みイメージは、Linuxのダウンロード・ページから入手できます。イメージ・ファイルは、ボードのブートに必要なすべてのアーティファクトを集めたものです。

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

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

詳細な手順については、以下のオプションを選択してください。

3. ビルドと実行

3.1 概要

このセクションでは、i.MX 8M Mini EVKBボードに組込みAndroidシステム・イメージをロードするブート・プロセスについて説明し、独自のシステム・イメージを作成するソフトウェア・コンポーネントのビルド方法も紹介します。Androidプラットフォームのビルドの詳細については、https://source.android.com/source/building.htmlを参照してください

現在のリリースには、デモ・イメージ、ソース・コード、ドキュメントが含まれています。これらは、i.MXアプリケーション・プロセッサ用のAndroid OSにも含まれています。

開発システム上のストレージ・デバイス(MMC/SDまたはNAND)は、U-Bootブートローダを使用してプログラムする必要があります。ブート・プロセスでは、スイッチの設定に基づいて、どのストレージ・デバイスにアクセスするかを決定します。ブートローダがロードされて実行が開始されると、U-Boot環境空間が読み取られ、ブート・プロセスの実行方法が決定されます。

イメージは、ビルド済みのリリース・パッケージから取得することも、ソース・コードから作成することもできます。入手方法に関係なく、すべてのAndroidイメージには以下のコンポーネントが含まれます。

  • U-Bootイメージ:u-boot.imx

  • ブート・イメージ:boot.img

  • Androidシステム・ルート・イメージ:system.img

  • リカバリ・ルート・イメージ:recovery.img

Android BSPの詳細については、Androidユーザー・ガイドを参照してください。

NXP Android BSPイメージのダウンロード

ビルド済みのNXP Androidデモ・イメージは、評価用の特定の機能を備えたデフォルトのシステムを提供します。システムを変更することなく、ユーザーはいくつかの基本的な操作を実行し、システムと対話しながらハードウェア・インターフェースをテストし、ユーザー空間でソフトウェア・アプリケーションを開発できます。

パッケージのビルド済みイメージは、ブート・デバイスごとに分類され、デバイス名のディレクトリに格納されます。最新のビルド済みイメージ・ファイルは、i.MXソフトウェアおよび開発ツールのAndroidのセクション、またはデモ・イメージのダウンロード・リンクにあります。

UUUを使用したNXP Android BSPイメージの書き込み

「パッケージの内容」セクションでの接続に加えて、適切なUSBケーブルを使用してJ301をホスト・マシンに接続します。

ボードの電源を切ります。「ブート・スイッチの設定」を参照し、SDP(シリアル・ダウンロード・プロトコル)モードでブートするようにボードを設定します。

ホスト・マシンで使用されているOSに応じて、Android BSPイメージをSDカードに転送する方法は異なります。詳細な手順については、以下のオプションを選択してください。

4. MCUXpresso SDK

4.1 概要

MCUXpressoソフトウェア開発キット (MCUXpresso SDK) は、i.MX 8M Mini M4コアで実行される包括的なソフトウェア・ソース・コードを提供します。現時点でi.MX 8M MiniでCortex®-M4を有効にしたくない場合は、このセクションをスキップできます。

MCUXpresso SDKは、Cortex®-M4をスタンドアロンまたはAコアとともに使用する組込みアプリケーションの開発用に設計されています。MCUXpresso SDKは、ペリフェラル・ドライバに加えて、基本的なペリフェラルの使用例からデモ・アプリケーションまでをカバーする豊富なサンプル・アプリケーションのセットを提供します。MCUXpresso SDKには、RTOSカーネルとデバイス・スタック、および迅速な開発をサポートするさまざまなミドルウェアも含まれています。

このガイドでは、4.14.78_1.0.0_gaリリースで提供されるimx8mm_m4_TCM_hello_world.binデモを実行する方法について説明します。MCUXpresso SDKの詳細と、カスタム・デモの作成および展開方法については、MCUXpresso SDKのサイトをご覧ください。

4.2 U-Bootを使用したアプリケーションの実行

このセクションでは、SDカードとi.MXプロセッサ用のビルド済みU-Bootイメージを使用してアプリケーションを実行する方法について説明します。

  1. [Embedded Linux®(組込みLinux)]タブの手順に従い、i.MX 8M Miniプロセッサ用のLinux BSPパッケージからのビルド済みU-Boot + Linuxイメージを格納したSDカードを用意します。すでにSDカードにLinuxイメージをロードしている場合は、この手順をスキップできます。
  2. SDカードをホスト・コンピュータ(LinuxまたはWindows)に挿入し、アプリケーション・イメージ(imx8mm_m4_TCM_hello_world.binなど)をSDカードのFATパーティションにコピーします。
  3. SDカードをPCから安全に取り外します。
  4. SDカードをターゲット・ボードに挿入します。デフォルトのブートSDスロットを使用していることを確認し、「ブート・スイッチの設定」を再確認してください。検証ボードのデフォルト設定ではJ1701からブートします。EVKボードには、ブート用のSDスロットが1つしかありません。
  5. ボードのDEBUG UARTコネクタをUSBケーブルでPCに接続します。Windows OSはUSBドライバを自動的にインストールし、Ubuntu OSはシリアル・デバイスも検出します。

    シリアル通信アプリケーションの詳細については、「パッケージの内容」の「USBデバッグ・ケーブルの接続」セクションを参照してください。

  6. i.MX 8M Mini EVKBボードの2番目に列挙されたシリアル・ポートの2番目のターミナルを開きます。これはCortex®-M4のシリアル・コンソールです。速度を115200ビット/秒、8データ・ビット、パリティなしに設定します。
  7. ボードの電源を入れ、U-Bootのカウントダウンがゼロになる前に、任意のキーを押してブート・プロセスを停止します。最初のターミナルのU-Bootプロンプトで、次のコマンドを入力します。

    => fatload mmc 0:1 0x7e0000 imx8mm_m4_TCM_hello_world.bin
    
        => bootaux 0x7e0000
  8. これらのコマンドは、SDカードの最初のパーティションにあるイメージ・ファイルをCortex®-M4のメモリにコピーし、Cortex®-M4のリセットを解除します。

カメラとインターフェース

カメラとインターフェース

以下の詳細については、「i.MX 8カメラのユース・ケース」を参照してください。

  • i.MX 8 MIPI CSIのユース・ケース
  • 高度なGStreamerカメラのユース・ケース
  • i.MX 8M Mini EVKBでサポートされる使用可能なカメラとドータ・カード
  • 互換性のあるデバイス・ツリー (DTS) ファイル
  • i.MX 8M Mini EVKBで各種のカメラ・オプションを有効にする方法

コネクティビティ

コネクティビティ

i.MXボード上でLinuxが動作している場合、i.MX SoCが提供する特別な機能を評価できます。このチュートリアルでは、i.MX 8M Mini EVKBを使用してLinuxでインターネットに接続する手順を説明します。

  1. ボードのRJ-45コネクタにイーサネット・ケーブルを接続します。
  2. ボードをブートし、Linuxプロンプトが表示されるまで待ちます。
  3. Linuxプロンプトで、次のコマンドを入力します。
    # ifconfig eth0
  4. 機能を確認するために、任意のサイトに対してpingを実行します。
    # ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=1 ttl=119 time=4.81 ms 64 bytes
    from 8.8.8.8: icmp_seq=2 ttl=119 time=4.87 ms 64 bytes
    from 8.8.8.8: icmp_seq=3 ttl=119 time=4.94 ms 64 bytes
    from 8.8.8.8: icmp_seq=4 ttl=119 time=4.61 ms

ディスプレイ

ディスプレイ

以下の詳細については、i.MX 8M Mini EVKディスプレイ・セレクション・ガイドをご覧ください。

  • i.MX 8M Mini EVKBのmini-SASコネクタの機能
  • サポートされているドータ・カード
  • デバイス・ツリー (DTS) ファイルまたはブート・イメージを変更する方法
  • ボード上の各種表示オプションの有効化

マルチメディア

i.MXボード上でLinuxが動作している場合、i.MX SoCが提供する特別な機能を評価できます。

シンプルなオーディオの例

i.MX 8M Mini EVKBボードのオーディオ・ジャックにイヤホンを接続します。

イヤホンにマイク機能(4つの接点を持つTRRS)が付いている場合は、マイク・ジャックを最後まで押し込まないでください。1つの接点リングを外側に残します。

# gst-launch-1.0 audiotestsrc ! alsasink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ... New clock: GstAudioSinkClock

イヤホンで音が聞こえるはずです。

音を確認したら、キーボードの [Ctrl+C] を押してコマンド・ラインを終了します。

この例は非常にシンプルです。audiotestsrcalsasinkの間のリンクを示しています。

ビデオ・オーディオのデコーダ

この例は、ビデオ・ファイルからオーディオだけをデコードする方法を説明します。SDカードのrootfsパーティションの/home/root/にビデオ・ファイルをコピーし、SDカードからボードをブートして、次のコマンドを実行します。

注:Big Buck Bunnyのサイトから、例で使用されているファイルを無料で入手できます。

# gplay-1.0 SampleVideo_1280x720_2mb.mp4
FSL_GPLAY2_01.00_LINUX build on Mar 12 2018 11:48:19
Set VideoSink kmssink
Set TextSink fakesink ====== AIUR: 4.3.4 build on Mar 12 2018 11:47:35. ======
Core: AVI_PARSER_03.05.29 build on Aug 31 2017 09:15:57
file: /usr/lib/imx-mm/parser/lib_avi_parser_arm_elinux.so.3.1
Track 00 [video]: Disabled
Codec: 4, SubCodec: 1
-----------------------
------------------------ Track 01 [audio_0] Enabled
Duration: 0:09:56.424000000
Language: und
Mime: audio/mpeg, mpegversion=(int)1, channels=(int)2, rate=(int)48000, bitrate=(int)0
codec_data=(buffer)014d401fffe10017674d401fda014016ec0440000003004000000c83c60ca801000468ef3c80
------------------------
====== BEEP: 4.3.4 build on Mar 12 2018 11:47:45. ======
Core: MP3 decoder Wrapper build on Jan 11 2018 10:20:25
file: /usr/lib/imx-mm/audio-codec/wrap/lib_mp3d_wrap_arm_elinux.so.3
CODEC: BLN_MAD-MMCODECS_MP3D_ARM_02.13.01_ARMV8 build on Jan 11 2018 10:05:45. [Stop (No Repeated)][Vol=1.0][00:00:00/00:09:56]=========== fsl_player_play()=========== FSL_GPLAY2_01.00_LINUX build on Mar 12 2018 11:48:19
[h]display the operation Help
[p]Play
[s]Stop
[e]Seek
[a]Pause when playing, play when paused
[v]Volume
[m]Switch to mute or not
[>]Play next file
[ [r]Switch to repeated mode or not
[u]Select the video track
[d]Select the audio track
[b]Select the subtitle track
[f]Set full screen
[z]resize the width and height
[t]Rotate
[c]Setting play rate
[i]Display the metadata
[x]eXit
State changed: buffering
State changed: playing
[Playing (No Repeated)][Vol =1.0][00:00:13/00:00:13]EOS Found
getNextItem No next item!
No more media file, exit gplay!
State changed: stopped
Exit display thread
FSL_PLAYER_UI_MSG_EXIT
fsl_player_deinit

GStreamer

i.MX 8M Mini EVKBでGStreamerバージョン1.0を使用する方法の詳細については、i.MX 8 GStreamerユーザー・ガイドをご覧ください。

コミュニティの投稿には以下も含まれています。

  • デコードの例
  • エンコードの例
  • カメラの例
  • ビデオ合成
  • ビデオのスケーリングと回転

消費電力

消費電力

i.MX 8M Mini消費電力管理アプリケーション・ノートは、開発者がパワーマネジメント・システムを設計するのに役立ちます。

このアプリケーション・ノートでは、以下の内容も説明しています。

  • i.MX 8M Miniアプリケーション・プロセッサの電流ドレイン測定値
  • 電源ドメイン
  • ユース・ケースの構成とガイドライン
  • さまざまなユース・ケースで予想されるプロセッサ消費電力
  • 消費電力の削減

パワーマネジメント

パワーマネジメント

i.MXボード上でLinuxが動作している場合、i.MX SoCが提供する特別な機能を評価できます。この例では、低消費電力モードへのサスペンドと、通常の動作に戻す方法を示します。

  1. 次のコマンドを入力して、ボードのウェイクアップ・ソースとしてシリアルTTYを有効にします。
    # echo enabled > /sys/class/tty/ttymxc0/power/wakeup
  2. 次のコマンドを入力して、Suspend-To-RAMモードに入ります。
  3. # echo mem > /sys/power/state
    PM: suspend entry (deep)
    PM: Syncing filesystems ... done.
    Freezing user space processes ... (elapsed 0.001 seconds) done.
    OOM killer disabled.
    Freezing remaining freezable tasks ... (elapsed 0.000 seconds) done.
    Suspending console(s) (use no_console_suspend to debug)
  4. SW901スイッチを押して、ボードをウェイクアップします。ターミナルには次のメッセージが表示されます。
  5. HIFsuspendwow TODO
    PM: suspend devices took 0.112 seconds
    Disabling non-boot CPUs ...
    CPU1: shutdown
    psci: CPU1 killed.
    CPU2: shutdown
    psci: CPU2 killed.
    CPU3: shutdown
    psci: Retrying again to check for CPU kill
    psci: CPU3 killed.
    Enabling non-boot CPUs ...
    Detected VIPT I-cache on CPU1
    GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000
    CPU1: Booted secondary processor [410fd034]
    cache: parent cpu1 should not be sleeping
    CPU1 is up
    Detected VIPT I-cache on CPU2
    GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000
    CPU2: Booted secondary processor [410fd034]
    cache: parent cpu2 should not be sleeping
    CPU2 is up
    Detected VIPT I-cache on CPU3
    GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000
    CPU3: Booted secondary processor [410fd034]
    cache: parent cpu3 should not be sleeping
    CPU3 is up
    PM: resume devices took 0.028 seconds
    OOM killer enabled.
    Restarting tasks ... done.
    PM: suspend exit

セキュリティ

i.MXボード上でLinuxが動作している場合、i.MX SoCが提供する特別な機能を評価できます。この例では、NXPが提供する暗号化オフロード・エンジンとしてCAAMを使用する利点を示します。

CAAMとCryptoDev

多くのi.MX NXPプロセッサと同様に、i.MX 8M Mini EVKBボードには、暗号化と復号化のプロセスをハードウェアで高速化するために、CryptoDevを介して使用できる暗号化アクセラレーションおよび保証モジュール (CAAM) が含まれています。大量のデータを扱う場合や、パフォーマンスが重要なアプリケーションでは、このモジュールを使用することをお勧めします。

速度パフォーマンスの確認

  • OpenSSLは、セキュリティ・プロトコルのSSL (Secure Sockets Layer) とTLS (Transport Layer Security) を定義するオープン・ソース・プロジェクトです。盗聴を防ぐために安全な情報送信を必要とするアプリケーションで使用できるソフトウェア・ライブラリが含まれています。
  • OpenSSLには、目的の暗号化アルゴリズムでの暗号化パフォーマンスをテストするspeedコマンドが含まれています。この例で使用されるアルゴリズムは、Cipher Block Chaining (CBC) 動作モードと128ビット・ブロックを備えたAdvanced Encryption Standard (AES) 暗号化アルゴリズムを実装するaes-128-cbcです。

OpenSSLの速度テストは、次のコマンドを使用して確認できます。

# openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 43389139 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 64 size blocks: 28788614 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 11766741 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 1024 size blocks: 3674139 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 8192 size blocks: 495157 aes-128-cbc's in 3.00s
OpenSSL 1.0.2p 14 Aug 2018
built on: reproducible build, date unspecified
options:bn(64,64) rc4(ptr,char) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(ptr)
compiler: arm-poky-linux-gnueabi-gcc -march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 -DL_ENDIAN -DTERMIO -O2 -pipe -g -feliminate-unused-debug-types -Wall -Wa,--noexecstack -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS
The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cbc 232182.68k 614157.10k 1007453.41k 1258300.45k 1352108.71k

CryptoDevでサポートされる暗号化アルゴリズムのリストを次のコマンドで表示できます。

# openssl engine cryptodev -c
(cryptodev) BSD cryptodev engine
[RSA, DSA, DH, DES-CBC, DES-EDE3-CBC, AES-128-CBC, AES-192-CBC, AES-256-CBC, BF-CBC, hmacWithMD5, hmacWithSHA1, RIPEMD160, MD5, SHA1]

有用なアプリケーション・ノート

CAAMセキュリティ・キーを使用したi.MX暗号化ストレージ

このアプリケーション・ノートでは、i.MXの暗号化アクセラレータおよび保証モジュール (CAAM) が提供するセキュリティ・キー機能を利用して、DM-Cryptによる透過的ストレージ暗号化をブロック・レベルで実行する手順について説明します。

i.MX 8Mおよびi.MX 8M Miniでの拡張OpenSSL

このアプリケーション・ノートでは、暗号化アクセラレータおよび保証モジュール (CAAM) による高速化OP-TEE OSのサポートをOpenSSLに追加する方法について説明します。結果として、OP-TEEを介して安全な方法で暗号アルゴリズムを高速化できる拡張されたOpenSSLが得られます。

Minicomチュートリアル

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

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

 $ ls /dev/ttyUSB* 

数字の小さい方がArm® Cortex®-A53コアの番号、大きい方がArm® Cortex®-M4コアの番号です。

Minicom

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

  • Ubuntuパッケージ・マネージャを使用してMinicomをインストールします。
     $ sudo apt-get install minicom 
  • 前に確認したポート番号を使用して、コンソール・ウィンドウでMinicomを起動します。
     $ sudo minicom /dev/ttyUSB* -s 
  • Minicomを図3のように設定しますGS-MCIMX7SABRE-MINICOM

    図3. Minicomの設定

  • 次のステップは、HDMIケーブルの接続です。

Tera Termチュートリアル

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

i.MX8MQuadのFTDI USBシリアル・チップは、2つのシリアル・ポートを列挙します。これらのポートをCOM9COM10とします。小さい番号のポート (COM9) はArm® Cortex®-A53からのシリアル・コンソール通信用で、大きい番号のポート (COM10) はArm® Cortex®-M4コア用です。Serial-to-USBドライバは、仮想COMポート・ドライバから入手できます

注:i.MXボードの仮想COMポートのポート番号を確認するには、Windowsのデバイス・マネージャを開き、[ポート (COMとLPT)]でUSBシリアル・ポートを探します

Tera Term

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

  • Tera Termをダウンロードします。ダウンロードしたら、インストーラを実行し、このウェブページに戻って手順を続行します。
  • TeraTermを起動します。初めて起動する際には、次のダイアログが表示されます。シリアル・オプションを選択します。ボードが接続されている場合は、COMポートが自動的にリスト内に表示されます。Tera-Term-Connection
  • 事前に確認したCOMポート番号を使用して、シリアル・ポートをボーレート1152008データ・ビット、パリティなし、1ストップ・ビットに設定します。この設定は[Setup(セットアップ)]→[Serial Port(シリアル・ポート)]から行うことができます。
  • 接続が確立されているか検証します。確立されている場合、Tera Termのタイトル・バーに以下のように表示されます。Tera-Term-Console
  • 次のステップは、HDMIケーブルの接続です。

PuTTYチュートリアル

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

i.MX8MQuadのFTDI USBシリアル・チップは、2つのシリアル・ポートを列挙します。これらのポートをCOM9COM10とします。小さい番号のポート (COM9) はArm® Cortex®-A53からのシリアル・コンソール通信用で、大きい番号のポート (COM10) はArm® Cortex®-M4用です。Serial-to-USBドライバは、http://www.ftdichip.com/Drivers/VCP.htmから入手できます。

:i.MXボードの仮想COMポートのポート番号を確認するには、Windowsのデバイス・マネージャを開き、[ポート (COMとLPT)]でUSBシリアル・ポートを探します

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

  • PuTTYをダウンロードします。ダウンロードしたら、インストーラを実行し、このウェブページに戻って手順を続行します。
  • 選択したダウンロードのタイプに応じて、ダウンロードした実行ファイルをダブルクリックするか、[Start(スタート)]メニューから選択して、PuTTYを起動します。
  • 起動後に表示されるウィンドウで設定を行います。[Serial(シリアル)]ラジオ・ボタンを選択し、前に確認したCOMポート番号を入力します。ボーレートもあわせて指定します。今回は「115200」を入力します。

  • PUTTY-Configuration
  • [Open(開く)]をクリックして、シリアル接続を確立します。ボードが接続されていて、正しいCOMポートが入力されていれば、ターミナル・ウィンドウが開きます。設定が正しくない場合は、アラートが表示されます。
  • 次のステップは、HDMIケーブルの接続です。

サポート

トレーニング

i.MX 8M Miniの使い方についてさらに詳しく知りたい方のために、オンラインの簡単な技術セッションから実践的な詳細トレーニングまで、さまざまなトレーニングを用意しています。

シリコンおよびボード関連トレーニング

フォーラム

NXPのコミュニティ・サイトで他のエンジニアとつながり、i.MX 8M Miniアプリケーション・プロセッサを使用した設計に関する専門的なアドバイスを受けることができます。