お客様の素早い設計とより早い製品化を実現する、技術情報と専門知識をご紹介します。
1
パッケージの内容2
ソフトウェアの入手3
ビルドと実行4
MCUXpresso SDK次のセクションでは、i.MX 8M Nano EVKをブートする手順について説明します。
開発キットの内容:
i.MX 8M Nano EVKキットには、ボードのグラフィック・ディスプレイ機能を使用するために必要なIMX-MIPI-HDMIドータ・カードが付属しています。
Something went wrong! Please try again.
ブート・スイッチは、eMMCからブートするように設定されている必要があります。ブートには、SW1101[1~4]のみが使用されます。次の表を参照してください
デバイスSW1101
SW1102
eMMC/uSDHC3
0100XXXXXX
XXXXXXXXXX
注:1
= オン 0
= オフ X
= Don’t Care
同じ情報は、i.MX 8M Nanoリファレンス・マニュアルおよびスイッチ近くのボード上のシルクスクリーンにも記載されています。
Something went wrong! Please try again.
i.MX 8M Nano EVKでは、ビルド済みのNXP Androidバイナリ・デモ・イメージがeMMCに書き込まれています。内部のバイナリを変更することなく、eMMCからのブートにより、Android上で他のアプリケーションをビルドするための特定の機能を備えたデフォルトのシステムが提供されます。
Something went wrong! Please try again.
付属のUSBケーブルのmicro-B側をデバッグUARTポートJ901に接続します。ケーブルのもう一方の端をホスト・コンピュータに接続します。
ターミナル・アプリケーションの使用方法がわからない場合は、ホスト・マシンのオペレーティング・システムに応じて、次のいずれかのチュートリアルを試してください。Minicomチュートリアル、Tera Termチュートリアル、PuTTYチュートリアル。
Something went wrong! Please try again.
HDMIの評価には、MIPI-DSI to HDMIアクセサリ・カードとMini-SASケーブルが必要です。
Mini-SASケーブルをEVKのJ801(MIPI DSIコネクタ)に接続します。Mini-SASケーブルのもう一方の端をMIPI to HDMIアクセサリ・カードのJ5に接続します。注:Mini-SASケーブルを接続したときにカチッという音がすることを確認してください。下の図を参照してください。
Something went wrong! Please try again.
ブート・シーケンスの詳細は、i.MX 8M Nanoリファレンス・マニュアルに記載されています。つまり、i.MXボードのブート・モードは、ブート設定スイッチによって制御されます。
これらのスイッチは、ブート・メディア(ボードに応じて、SDカード、eMMC、またはNAND)、シリアル・ダウンロード・プロトコル・モード (SDP)、またはeFusesの設定値を選択します。
また、SDPはブート・メディアのフォールバックとしても機能します。つまり、SDカードからブートするようにスイッチが設定されていてSDカード・スロットが空の場合、またはSDカードのバイナリ・コンテンツがブート可能でない場合は、ブート・シーケンスはSDPブートに切り替わります。
次の表は、i.MX 8M Nano EVKボードのブート・スイッチの設定の一覧です。同じ情報は、i.MX 8M Nanoリファレンス・マニュアルおよびスイッチ近くのボード上のシルクスクリーンにも記載されています。
表1. i.MX 8M Nano EVKで利用可能なブート・モード
ブート・メディア | SW1101 [D1-D10] |
SW1102 [D1-D10] |
---|---|---|
eMMC/SDHC3 | 0100xxxxxx | xxxxxxxxxx |
MicroSD/SDHC2 | 1100xxxxxx | xxxxxxxxxx |
NANDフラッシュ | 0010xxxxxx | xxxxxxxxxx |
SDP | 1000xxxxxx | xxxxxxxxxx |
注:SDカードからブートするようにブート・スイッチが設定されていることを確認してください。
Something went wrong! Please try again.
電源ケーブルを電源コネクタ (J302) に接続します。
スイッチ (SW101) を使用してボードの電源を入れます。
プロセッサがオンチップROMコードから実行を開始します。デフォルトのブート・スイッチ設定では、このコードにより、ブータブル・イメージが格納されているメディアを指定するヒューズが読み取られます。ブータブル・イメージが見つかると、U-Bootの実行が自動的に開始されます。
Cortex®-A53のシリアル・コンソールに情報が表示されます。U-Bootプロセスを停止しない場合は、引き続きカーネルのブートが実行されます。
Something went wrong! Please try again.
ブート・プロセス中に、HDMIディスプレイの左上隅に4羽のペンギンが現れます。次にAndroidのロゴが表示され、ブート・プロセスが完了すると、Androidデスクトップが表示されます。マウスで操作を開始できます。パッケージに付属のUSB Type-C to Aアダプタを使用して、マウスをJ301(USB Type-Cポート1)に接続します。
Something went wrong! Please try again.
このセクションは、ボードにLinuxオペレーティング・システムをロードする場合にのみ適用されます。
i.MX Linuxボード・サポート・パッケージ (BSP) は、特定のi.MX開発プラットフォームで組込みLinuxイメージをブートするために使用されるバイナリ・ファイル、ソース・コード、およびサポート・ファイルの集まりです。
Linuxバイナリ・デモ・ファイルの現在のリリースは、i.MXのLinuxダウンロード・ページにあります。その他のドキュメントは、i.MXソフトウェアおよび開発ツールのLinuxセクションにあるi.MX Linuxドキュメント・バンドルで入手できます。
i.MXボード上でLinux OSカーネルがブートできるようになる前に、Linuxカーネルがブート・デバイス(SDカード、eMMCなど)にロードされ、そのデバイスをブートするようにブート・スイッチが設定されます。
各種のボードやブート・デバイス用のLinux BSPイメージをダウンロードするには、さまざまな方法があります。
このスタート・ガイドでは、Linux BSPイメージをSDカードに転送するいくつかの方法のみを示します。経験豊富なLinux開発者は、他のオプションを検討することもできます。
Something went wrong! Please try again.
i.MX 8M Nano EVK用の最新のビルド済みイメージは、Linuxのダウンロード・ページでLinuxの最新バージョンの項目から入手できます。
ビルド済みのNXP Linuxバイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。
ビルド済みのNXP Linuxバイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。
より柔軟性が必要な場合は、SDカードに個々のコンポーネント(ブート・ローダ、カーネル、dtbファイル、rootfsファイル)を1つずつロードするか、.sdcard
イメージをロードして個々の部分を特定のコンポーネントで上書きします。
Something went wrong! Please try again.
i.MX 8M Nano EVK用の最新のビルド済みイメージは、Linuxのダウンロード・ページでLinuxの最新バージョンの項目から入手できます。
ビルド済みのNXP Linuxバイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。
ビルド済みのNXP Linuxバイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。
より柔軟性が必要な場合は、SDカードに個々のコンポーネント(ブート・ローダ、カーネル、dtbファイル、rootfsファイル)を1つずつロードするか、.sdcard
イメージをロードして個々の部分を特定のコンポーネントで上書きします。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUに関する詳細なチュートリアルは、https://github.com/NXPmicro/mfgtools/wikiにあります。
libusb1
(apt-getまたは他のパッケージ・マネージャ経由)デフォルトでは、イメージがSDカード・フラッシュに書き込まれます。他のデバイスにイメージを書き込む方法については、UUU GitHubのページを参照してください。
ターミナル・アプリケーションを開き、uuu
とi.MX 8M Nano EVK用の最新のLinuxディストリビューションが格納されている場所にディレクトリを変更します。uuu
ファイルに実行権限を追加し、ファイルを実行します。uuu
はUSBデバイスが接続されるまで待機します
$ chmod a+x uuu
$ sudo ./uuu kernel_version_images_SOC.zip
ボードの電源を入れると、uuu
はボードへのイメージのコピーを開始します。
完了したら、ボードの電源を切ります。「ブート・スイッチの設定」を参照して、SDカードからブートするようにボードを設定します。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUに関する詳細なチュートリアルは、UUU GitHubのページにあります。
デフォルトでは、イメージがSDカード・フラッシュに書き込まれます。他のデバイスにイメージを書き込む方法については、UUU GitHubのページを参照してください。
コマンド・プロンプト・アプリケーションを開き、uuu.exe
ファイルとi.MX 8M Nano EVK用のLinuxリリースが格納されているディレクトリに移動します。
uuu.exe kernel_version_imagesSOC.zip
ボードの電源を入れると、uuu
はボードへのイメージのコピーを開始します。
完了したら、ボードの電源を切ります。「ブート・スイッチの設定」を参照して、SDカードからブートするようにボードを設定します。
Something went wrong! Please try again.
このセクションでは、i.MX 8M Nano EVKボードに組込みAndroidシステム・イメージをロードするブート・プロセスについて説明し、独自のシステム・イメージを作成するソフトウェア・コンポーネントのビルド方法も紹介します。Androidプラットフォームのビルドの詳細については、Androidのビルドを参照してください
現在のリリースには、デモ・イメージ、ソース・コード、ドキュメントが含まれています。これらは、i.MXアプリケーション・プロセッサ用のAndroid OSにも含まれています。
Something went wrong! Please try again.
開発システム上のストレージ・デバイス(MMC/SDまたはNAND)は、U-Bootブート・ローダを使用してプログラムする必要があります。ブート・プロセスでは、スイッチの設定に基づいて、どのストレージ・デバイスにアクセスするかを決定します。ブート・ローダがロードされて実行が開始されると、U-Boot環境空間が読み取られ、ブート・プロセスの実行方法が決定されます。
イメージは、ビルド済みのリリース・パッケージから取得することも、ソース・コードから作成することもできます。入手方法に関係なく、すべてのAndroidイメージには以下のコンポーネントが含まれます。
u-boot.imx
boot.img
system.img
recovery.img
Android BSPの詳細については、Androidユーザー・ガイドを参照してください。
Something went wrong! Please try again.
ビルド済みのNXP Androidデモ・イメージは、評価用の特定の機能を備えたデフォルトのシステムを提供します。システムを変更することなく、ユーザーはいくつかの基本的な操作を実行し、システムと対話しながらハードウェア・インターフェースをテストし、ユーザー空間でソフトウェア・アプリケーションを開発できます。
パッケージのビルド済みイメージは、ブート・デバイスごとに分類され、デバイス名のディレクトリに格納されます。最新のビルド済みイメージ・ファイルは、i.MXソフトウェアおよび開発ツールのAndroidのセクションまたはデモ・イメージのダウンロード・リンクにあります。
Something went wrong! Please try again.
「パッケージの内容」セクションでの接続に加えて、適切なUSBケーブルを使用してJ301
をホスト・マシンに接続します。
ボードの電源を切ります。
「ブート・スイッチの設定」を参照し、SDP(シリアル・ダウンロード・プロトコル)モードでブートするようにボードを設定します。
ホスト・マシンで使用されているOSに応じて、Android BSPイメージをSDカードに転送する方法は異なります。
Something went wrong! Please try again.
MCUXpressoソフトウェア開発キット (MCUXpresso SDK) は、i.MX 8M Nano M7コアで実行される包括的なソフトウェア・ソース・コードを提供します。現時点でi.MX 8M NanoでCortex®-M7を有効にしたくない場合は、このセクションをスキップできます。
MCUXpresso SDKは、Cortex®-M7をスタンドアロンまたはAコアとともに使用する組込みアプリケーションの開発用に設計されています。MCUXpresso SDKは、ペリフェラル・ドライバに加えて、基本的なペリフェラルの使用例からデモ・アプリケーションまでをカバーする豊富なサンプル・アプリケーションのセットを提供します。MCUXpresso SDKには、RTOSカーネルとデバイス・スタック、および迅速な開発をサポートするさまざまなミドルウェアも含まれています。
このガイドでは、REL_2.9.0
リリースで提供されているhello_world.bin
デモの実行方法について説明します。MCUXpresso SDKの詳細と、カスタム・デモの作成および展開方法については、MCUXpresso SDKのサイトをご覧ください。
Something went wrong! Please try again.
このセクションでは、SDカードとi.MXプロセッサ用のビルド済みU-Bootイメージを使用してアプリケーションを実行する方法について説明します。
ボードのDEBUG UARTコネクタをUSBケーブルでPCに接続します。Windows OSはUSBドライバを自動的にインストールし、Ubuntu OSはシリアル・デバイスも検出します。
シリアル通信アプリケーションの詳細については、「パッケージの内容」の「USBデバッグ・ケーブルの接続」セクションを参照してください。
ボードの電源を入れ、U-Bootのカウントダウンがゼロになる前に、任意のキーを押してブート・プロセスを停止します。最初のターミナルのU-Bootプロンプトで、次のコマンドを入力します。
=> fatload mmc 0:1 0x48000000 hello_world.bin
=> cp.b 0x48000000 0x7e0000 0x20000
=> bootaux 0x7e0000
これらのコマンドは、SDカードの最初のパーティションにあるイメージ・ファイルをCortex-M7のTCMにコピーし、Cortex-M7のリセットを解除します。
Something went wrong! Please try again.
ドキュメントとビデオ | 説明 |
---|---|
AN12714 CAAMセキュリティ・キーを使用したi.MX暗号化ストレージ | i.MXの暗号化アクセラレータおよび保証モジュール (CAAM) が提供するセキュリティ・キー機能を利用して、DM-Cryptによる透過的ストレージ暗号化をブロック・レベルで実行する手順について説明します。 |
AN12632 i.MX 8Mおよびi.MX 8MMでの拡張OpenSSL | このアプリケーション・ノートでは、暗号化アクセラレータおよび保証モジュール (CAAM) による高速化OP-TEE OSのサポートをOpenSSLに追加する方法について説明します。結果として、OP-TEEを介して安全な方法で暗号アルゴリズムを高速化できる拡張されたOpenSSLが得られます。 |
Trusted Execution Environment:i.MXプロセッサにおけるOP-TEEのスタート・ガイド | TEEの概要、サンプルの使用例、およびOP-TEEによるi.MXハードウェアのセキュリティ機能の活用方法について説明します。 |
AN12838 CAAMセキュリティ・キーを使用した公開鍵暗号の強化 | i.MXアプリケーション・プロセッサで提供されているBlack Key機能に基づいた公開鍵暗号化スキームについて説明します。 |
エッジをセキュアに:製造の保護:非セキュアな環境における機密データのプロビジョニング | このウェビナーでは、製造の保護機能の概要、およびこの機能を使用して機密データをセキュアに転送およびインストールする方法について説明します。 |
i.MX8M Nanoでセキュア・ブートを有効にする手順 | PKIツリーとSRKテーブルの生成、およびブートローダ・イメージの署名とセキュアにブートする方法を含むステップ・バイ・ステップ・プロセス。 |
i.MX 8M Nano EVKボードには、暗号化と復号化のプロセスをハードウェアで高速化するために、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 193627.86k 513839.78k 837089.96k 1048974.64k 1130986.42k
ソリューション:ドキュメント「AN12838 CAAMセキュリティ・キーを使用した公開鍵暗号の強化」のセクション5.2.1および5.2.2で、使用方法の詳細について説明しています。
i.MXボード上でLinuxが動作している場合、i.MX SoCが提供する特別な機能を評価できます。このチュートリアルでは、i.MX 8M Nano EVKを使用してLinuxでインターネットに接続する手順を説明します。
# ifconfig eth0
# 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
ドキュメントとビデオ | 説明 |
---|---|
クラウド・コネクティビティ | Amazon Web Services、Microsoft Azure、Google Cloud IoTなどのクラウド・サービスの統合サポート。 |
パワー・マネジメントには、デバイス固有の技術と、電源管理および低消費電力性能の最適化に関する情報が含まれます。
ドキュメントとビデオ | 説明 |
---|---|
AN12778 i.MX 8M Nanoの消費電力の測定 | NXP EVKプラットフォームで実施されるi.MX 8M Nanoアプリケーション・プロセッサの電流ドレイン測定について、いくつかの使用例を用いて説明しています。 |
AN12225 i.MX8MでA53を使用してM4を動作させる際にSoCの電力を削減する方法 | AMPアプリケーションでは、VDD_SOC電流がユーザーの想定を超えることがあります。このドキュメントでは、根本原因と解決策について説明しています。 |
i.MX 8MM上のM4の低消費電力に関するデモ | i.MX 8M EVKの消費電力をテストできるようになります。 |
i.MXボード上でLinuxが動作している場合、i.MX SoCが提供する特別な機能を評価できます。この例では、低消費電力モードへのサスペンドと、通常の動作に戻す方法を示します。
次のコマンドを入力して、ボードのウェイクアップ・ソースとしてシリアルTTYを有効にします。
パス:
# echo enabled > /sys/class/tty/ttymxc0/power/wakeup
次のコマンドを入力して、Suspend-To-RAMモードに入ります。
# 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)
SW901
スイッチを押して、ボードをウェイクアップします。ターミナルには次のメッセージが表示されます。
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 8プロセッサ向けDSP Concepts製品 | i.MX 8Mファミリ向けDSP Conceptsオーディオ・プラットフォーム製品について紹介しています。 |
i.MXオーディオ・ハードウェア・ユーザー・ガイド このマニュアルには、システムのセットアップと構成の説明が含まれており、ハードウェアの観点から見たi.MXオーディオ・ボード・システムの使用に関する詳細な情報を提供しています。
i.MX 8M Nano EVKボードのオーディオ・ジャックにイヤホンを接続します。
イヤホンにマイク機能(4つの接点を持つTRRS)が付いている場合は、マイク・ジャックを最後まで押し込まないでください。1つの接点リングを外側に残します。
#aplay -1
**** List of PLAYBACK Hardware Devices ****
card 0: imxspdif [imx-spdif], device 0: S/PDIF PCM snd-soc-dummy-dai-0 [S/PDIF PCM snd-soc-dummy-dai-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: wm8524audio [wm8524-audio], device 0: HiFi wm8524-hifi-0
[]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: wm8524audio [wm8524-audio], device 1: HiFi-ASRC-FE (*)
[]
Subdevices: 1/1
Subdevice #0: subdevice #0
# gst-launch-1.0 audiotestsrc ! alsasink device=plughw:2
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GetAudioSinkClock
イヤホンで音が聞こえるはずです。
音を確認したら、キーボードの [Ctrl+C] を押してコマンド・ラインを終了します。
このシンプルなオーディオの例は、audiotestsrc
とalsasink
の間のリンクを示しています。
i.MX 8M Nano EVKボードのオーディオ・ジャックにイヤホンを接続します。
この例は、ビデオ・ファイルからオーディオだけをデコードする方法を説明します。SDカードのrootsパーティションの/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
この例は、ビデオ・ファイルからオーディオだけをデコードする方法を説明します。SDカードのrootsパーティションの/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
ドキュメントとビデオ | 説明 |
---|---|
i.MXグラフィックス・ユーザー・ガイド | グラフィック・アプリケーションやビデオ・ドライバを作成する開発者向けに、グラフィックAPIおよびドライバのサポートに関する情報を提供します。 |
i.MX 8 GStreamerユーザー・ガイド | i.MX 8M Nano EVKでのGStreamer version 1.0の使用方法について、詳細に説明しています。これには、デコード、エンコード、カメラ、ビデオ合成、ビデオのスケーリングと回転などの例が含まれます。 |
「NXPのi.MX 8M Nanoアプリケーション・プロセッサで明日のIoTデバイスに向けた比類なきグラフィックスを実現」のウェビナー | i.MX 8M Nanoの概要と、Crank SoftwareのStoryboardと従来のUI開発ツールとの違いについて説明しています。 |
i.MX 8M MiniおよびNanoのMIPI-DPHYクロックの設定 | 必要なタイミング・パラメータの計算方法。 |
NXP MCUと組込みウィザードを使用したリアルタイム・インダストリアルHMIシステムへのグラフィックスの実装 | NXPはTARA Systemsと連携し、イネーブリング・ソフトウェア・テクノロジとして組込み型のウィザードを提供しています。 |
ドキュメントとビデオ | 説明 |
---|---|
i.MX 8カメラのユース・ケース | i.MX 8 MIPI CSIのユース・ケース、Advanced GStreamerカメラのユース・ケース、i.MX 8M Nano EVKBでサポートされている利用可能なカメラとドータ・カード、互換性のあるデバイス・ツリー (DTS) ファイル、およびさまざまなカメラ・オプションを有効化する方法について詳細に説明しています。 |
i.MX 8 GStreamerユーザー・ガイド | NXP BSP L5.4.24_1.1.0でサポートされるすべてのi.MX 8ファミリSoCに搭載された、GStreamerバージョン 1.0ベースのアクセラレーテッド・ソリューションのユーザー・ガイド。 |
機械学習 (ML) は一般的に、人間が生み出した抽象概念の分類、認識、予測が求められる用途に幅広く対応します。画像認識、ジェスチャー認識、異常検出、音声のテキスト変換、テキストの音声変換、ASR、情景認識など、多くの例が挙げられます。ここでは、特に画像やビデオのストリームに適用されるNXP MLツールに焦点を当てます。オーディオのセクションで、ここに含まれるサンプルを参照している場合があります。
ドキュメントとビデオ | 説明 |
---|---|
eIQ® MLソフトウェア開発環境 | NXPのMCU、i.MX RTクロスオーバーMCU、i.MXファミリSoCで、MLアルゴリズムを使用できるようになります。eIQソフトウェアには、推論エンジン、ニューラル・ネットワーク・コンパイラ、最適化されたライブラリが含まれています。 |
i.MX機械学習ユーザー・ガイド | NXPのi.MX向けeIQ UMツールキットは、NXPのマイクロコントローラとアプリケーション・プロセッサを対象とした機械学習向けのライブラリと開発ツールのセットです。 |
eIQファクト・シート | NXPのi.MXおよびMCU向けの機械学習ソフトウェア - ライブラリ、サンプル・アプリケーション、推論エンジン。 |
AN13001 Glowのメモリの分析 | Glowコンパイラによって生成されたGlowメモリ情報を理解し、特定のモデルに必要なメモリを計算する方法を紹介します。このコンパイラは、モデルの実行に必要な最小メモリ・サイズを測定するために使用できます。 |
AN12766 Tensor Flow LiteのK-Meansクラスタリングを使用した、eIQによる異常検出 | 異常検出を使用した機械状態監視アプリケーションを実現する手順を紹介します。 |
i.MXアプリケーション・プロセッサ向けeIQソフトウェアのスタート・ガイド | ボードの開梱から実装、モデリング、エッジでの推論まで、NXP eIQ MLソフトウェア開発環境の使用に関する一連のステップ・バイ・ステップ・チュートリアル。 |
ドキュメントとビデオ | 説明 |
---|---|
AN12900 CAAMおよびMenderを使用したLinuxまたはSWアップデート向けのセキュアなOver-the-Airプロトタイプ | 特にi.MX 8M/MMを対象とした、Linuxイメージ向けセキュアOTAのプロトタイプの実装について説明します。 |
AN12921 i.MXへのGoogle Cast認証アスペクトの実装 | このアプリケーション・ノートでは、Google Voice Assistant (GVA) およびCast for Audio (C4A) に安全面で必要とされるセキュリティ・プロパティ、およびNXPのGVA/C4Aリファレンス・プラットフォームへのそれらの実装について詳しく説明しています。 |
Ubuntu搭載i.MX8MMのDocker | このドキュメントでは、ホストPCでubuntu rootfsを作成し、任意のARM 64プラットフォームにDockerをインストールする方法について説明しています。 |
Linuxホスト・マシンのコマンド・プロンプトで、次のコマンドを実行してポート番号を確認します。
$ ls /dev/ttyUSB*
数字の小さい方がArm® Cortex®-A53コアの番号、大きい方がArm® Cortex®-M7コアの番号です。
次のコマンドを使用して、シリアル通信プログラム(例:minicom
)をインストールし、実行します。
$ sudo apt-get install minicom
$ sudo minicom /dev/ttyUSB* -s
i.MX 8M MiniのFTDI USBシリアル・チップは、2つのシリアル・ポートを列挙します。これらのポートをCOM9
、COM10
とします。小さい番号のポート (COM9
) はArm® Cortex®-A53からのシリアル・コンソール通信用で、大きい番号のポート (COM10
) はArm® Cortex®-M7コア用です。Serial-to-USBドライバは、FTDIチップ・ドライバから入手できます
注:i.MXボードの仮想COMポートのポート番号を確認するには、Windowsのデバイス・マネージャを開き、[ポート (COMとLPT)]でUSBシリアル・ポートを探します。
オープン・ソースのターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
COM
ポート番号を使用して、シリアル・ポートをボーレート115200
、8
データ・ビット、パリティなし、1
ストップ・ビットに設定します。この設定は[Setup(セットアップ)]>[Serial Port(シリアル・ポート)]から行うことができます。 i.MX 8M MiniのFTDI USBシリアル・チップは、2つのシリアル・ポートを列挙します。そのうち1つのポートをCOM9
とします。これは、Arm® Cortex®-A53コアからのシリアル・コンソール通信を表します。Serial-to-USBドライバは、FTDIチップ・ドライバから入手できます
注:i.MXボードの仮想COMポートのポート番号を確認するには、Windowsのデバイス・マネージャを開き、[ポート (COMとLPT)]でUSBシリアル・ポートを探します。
PuTTYは、広く利用されているターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
COM
ポート番号を入力します。ボーレートもあわせて指定します。今回は「115200
」を入力します。COM
ポートが入力されていれば、ターミナル・ウィンドウが開きます。設定が正しくない場合は、アラートが表示されます。次の段階に進むために、以下で適切な課題を見つけましょう。不明な点がある場合は、NXPサポートにお問い合わせください。
トレーニング | 説明 |
---|---|
i.MX 8M Nano紹介ウェビナー | i.MX 8M Nanoファミリの差別化された機能、ターゲット・アプリケーション、エコシステムについて詳しく紹介しています。 |
I.MX 8Mトレーニング | この製品に関するNXPのオンデマンド・トレーニング、ハウツー・ビデオ、およびウェビナーの全リスト。 |
NXPのいずれかのコミュニティ・サイトで、他のエンジニアとつながり、i.MX 8M Nanoを使用した設計に関する専門的なアドバイスを受けることができます。