お客様の素早い設計とより早い製品化を実現する、技術情報と専門知識をご紹介します。
1
パッケージの内容2
組込みLinux3
ビルドと実行4
MCUXpresso SDK次のセクションでは、i.MX 8M Mini LPDDR4 EVKBをブートする手順について説明します。
開発キットの内容:
パッケージ内容の説明ビデオを見て、i.MX 8M Mini EVKBでのアプリケーションの開発を始めましょう。詳細については、i.MX 8M Miniアプリケーション・プロセッサのドキュメントをご覧ください。
Something went wrong! Please try again.
i.MX 8M Mini EVKBキットには、ボードのビデオ機能を使用するために必要なIMX-MIPI-HDMIドータ・カードが付属しています。ドータ・カードをMini-SASケーブルに接続し、DSI MIPIというラベルの付いたコネクタにカチッという音がするまで押し込みます。
Something went wrong! Please try again.
i.MX 8M Mini EVKBでは、ビルド済みのNXP Androidバイナリ・デモ・イメージがeMMCに書き込まれています。内部のバイナリを変更することなく、eMMCからのブートにより、Android上で他のアプリケーションをビルドするための特定の機能を備えたデフォルトのシステムが提供されます。
NXPの組込みLinux®、組込みAndroid™、MCUXpresso SDKの詳細については、以降のセクションを参照してください。
Something went wrong! Please try again.
付属のUSBケーブルのmicro-B側をデバッグUARTポートJ901
に接続します。ケーブルのもう一方の端をホスト・コンピュータに接続します。
ターミナル・アプリケーションの使用方法がわからない場合は、ホスト・マシンのオペレーティング・システムに応じて、次のいずれかのチュートリアルを試してください。Minicomチュートリアル、Tera Termチュートリアル、PuTTYチュートリアル。
Something went wrong! Please try again.
イメージ・バイナリに付属のユーザー・インターフェースを表示するには、HDMIコネクタ (true
) を使用してモニタを接続します。
Something went wrong! Please try again.
ブート・シーケンスの詳細は、i.MX 8M Miniリファレンス・マニュアルに記載されています。つまり、i.MXボードのブート・モードは、ブート設定スイッチによって制御されます。
これらのスイッチは、ブート・メディア(ボードに応じて、SDカード、eMMC、またはNAND)、シリアル・ダウンロード・プロトコル・モード (SDP)、またはeFusesの設定値を選択します。
また、SDPはブート・メディアのフォールバックとしても機能します。つまり、SDカードからブートするようにスイッチが設定されていてSDカード・スロットが空の場合、またはSDカードのバイナリ・コンテンツがブート可能でない場合は、ブート・シーケンスはSDPブートに切り替わります。
次の表は、i.MX 8M Mini EVKボードのブート・スイッチの設定の一覧です。同じ情報は、i.MX 8M Miniリファレンス・マニュアルおよびスイッチ近くのボード上のシルクスクリーンにも記載されています。
表1. i.MX 8M Mini LPDDR4 EVKBで利用可能なブート・モード
スイッチ | SW1101 [D1-D10] |
SW1102 [D1-D10] |
---|---|---|
eMMC/uSDHC3(デフォルト) | 0110110001 | 0001010100 |
MicroSD/SDHC2 | 0110110010 | 0001101000 |
QSPI NORフラッシュ | 0110xxxxxx | 00000x0010 |
シリアル・ダウンロード・モード | 1010xxxxxx | xxxxxxxxx0 |
注:eMMCからブートするようにブート・スイッチが設定されていることを確認してください。
注:1 = オン、0 = オフ、X = Don’t Care
Something went wrong! Please try again.
電源ケーブルを電源コネクタ (J302
) に接続します。
スイッチ (SW101
) を使用してボードの電源を入れます。
プロセッサがオンチップROMコードから実行を開始します。デフォルトのブート・スイッチ設定では、このコードにより、ブータブル・イメージが格納されているメディアを指定するヒューズが読み取られます。ブータブル・イメージが見つかると、U-Bootの実行が自動的に開始されます。
Cortex®-A53の小さい番号のシリアル・コンソールに情報が表示されます。U-Bootプロセスを停止しない場合は、引き続きLinuxカーネルのブートが実行されます。
Something went wrong! Please try again.
ブート・プロセス中に、HDMIディスプレイにAndroidのロゴが表示されます。HDMIの出力解像度は1080P固定であることに注意してください。変更する場合は、Androidのドキュメントをご確認ください。
ブート・プロセスが完了すると、Android UIが表示されます。マウスで操作を開始できます。
Linuxホスト・マシンのコマンド・プロンプトで、次のコマンドを実行してポート番号を確認します。
$ ls /dev/ttyUSB*
数字の小さい方がArm® Cortex®-A53コアの番号、大きい方がArm® Cortex®-M4コアの番号です。
次のコマンドを使用して、シリアル通信プログラム(例:minicom
)をインストールし、実行します。
$ sudo apt-get install minicom
$ sudo minicom /dev/ttyUSB* -s
図3. Minicomの設定
i.MX 8M MiniのFTDI USBシリアル・チップは、2つのシリアル・ポートを列挙します。これらのポートをCOM9
、COM10
とします。小さい番号のポート (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シリアル・ポートを探しますclass="metadata"
オープン・ソースのターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
COM
ポート番号を使用して、シリアル・ポートをボーレート115200
、8
データ・ビット、パリティなし、1
ストップ・ビットに設定します。class="metadata"この設定は[Setup(セットアップ)]→[Serial Port(シリアル・ポート)]から行うことができます。class="metadata" i.MX 8M MiniのFTDI USBシリアル・チップは、2つのシリアル・ポートを列挙します。そのうち1つのポートをCOM9
とします。これは、Arm® Cortex®-A53コアからのシリアル・コンソール通信を表します。Serial-to-USBドライバは、http://www.ftdichip.com/Drivers/VCP.htmから入手できます。
注:i.MXボードの仮想COMポートのポート番号を確認するには、Windowsのデバイス・マネージャを開き、[ポート (COMとLPT)]でUSBシリアル・ポートを探しますclass="metadata"
PuTTYは、広く利用されているターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
COM
ポート番号を入力します。ボーレートもあわせて指定します。今回は「115200
」を入力します。COM
ポートが入力されていれば、ターミナル・ウィンドウが開きます。設定が正しくない場合は、アラートが表示されます。ブート・シーケンスの詳細は、i.MX 8M Miniリファレンス・マニュアルに記載されています。つまり、i.MXボードのブート・モードは、ブート設定スイッチによって制御されます。
これらのスイッチは、ブート・メディア(ボードに応じて、SDカード、eMMC、またはNAND)、シリアル・ダウンロード・プロトコル・モード (SDP)、またはeFusesの設定値を選択します。
また、SDPはブート・メディアのフォールバックとしても機能します。つまり、SDカードからブートするようにスイッチが設定されていてSDカード・スロットが空の場合、またはSDカードのバイナリ・コンテンツがブート可能でない場合は、ブート・シーケンスはSDPブートに切り替わります。
図4. ブート・スイッチの設定
次の表は、i.MX 8M Mini EVKボードのブート・スイッチの設定の一覧です。同じ情報は、i.MX 8M Miniリファレンス・マニュアルおよびスイッチ近くのボード上のシルクスクリーンにも記載されています。
表1. i.MX 8M Mini LPDDR4 EVKBで利用可能なブート・モード
スイッチ | SW1101 [D1-D10] |
SW1102 [D1-D10] |
---|---|---|
eMMC/uSDHC3(デフォルト) | 0110110001 | 0001010100 |
MicroSD/SDHC2 | 0110110010 | 0001101000 |
QSPI NORフラッシュ | 0110xxxxxx | 00000x0010 |
シリアル・ダウンロード・モード | 1010xxxxxx | xxxxxxxxx0 |
注:eMMCからブートするようにブート・スイッチが設定されていることを確認してください。
注:1 = オン、0 = オフ、X = Don’t Care
Something went wrong! Please try again.
このセクションは、ボードに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開発者は、他のオプションを検討することもできます。
Something went wrong! Please try again.
i.MX 8M Mini EVKB用の最新のビルド済みイメージは、Linuxのダウンロード・ページから入手できます。イメージ・ファイルは、ボードのブートに必要なすべてのアーティファクトを集めたものです。
ビルド済みのNXP Linuxバイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。
より柔軟性が必要な場合は、SDカードに個々のコンポーネント(ブート・ローダ、カーネル、dtbファイル、rootfsファイル)を1つずつロードするか、.sdcardをロードして個々の部分を特定のコンポーネントで上書きします。
詳細な手順については、以下のオプションを選択してください。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUに関する詳細なチュートリアルは、https://github.com/NXPmicro/mfgtools/wikiにあります。
uuuファイルに実行権限を追加し、ファイルを実行します。uuuはUSBデバイスが接続されるまで待機します。
$ chmod a+x uuu
$ sudo ./uuu L5.4.70_2.3.0_images_MX8MMEVK.zip
ボードの電源を入れると、uuu
はボードへのイメージのコピーを開始します。
完了したら、ボードの電源を切ります。「ブート・スイッチの設定」を参照して、SDカードからブートするようにボードを設定します。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUに関する詳細なチュートリアルは、https://github.com/NXPmicro/mfgtools/wikiにあります。
> uuu.exe L5.4.70_2.3.0_images_MX8MMEVK.zip
ボードの電源を入れると、uuu
はボードへのイメージのコピーを開始します。
完了したら、ボードの電源を切ります。「ブート・スイッチの設定」を参照して、SDカードからブートするようにボードを設定します。
Something went wrong! Please try again.
このセクションでは、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デモ・イメージは、評価用の特定の機能を備えたデフォルトのシステムを提供します。システムを変更することなく、ユーザーはいくつかの基本的な操作を実行し、システムと対話しながらハードウェア・インターフェースをテストし、ユーザー空間でソフトウェア・アプリケーションを開発できます。
パッケージのビルド済みイメージは、ブート・デバイスごとに分類され、デバイス名のディレクトリに格納されます。最新のビルド済みイメージ・ファイルは、i.MXソフトウェアおよび開発ツールのAndroidのセクション、またはデモ・イメージのダウンロード・リンクにあります。
「パッケージの内容」セクションでの接続に加えて、適切なUSBケーブルを使用してJ301
をホスト・マシンに接続します。
ボードの電源を切ります。「ブート・スイッチの設定」を参照し、SDP(シリアル・ダウンロード・プロトコル)モードでブートするようにボードを設定します。
ホスト・マシンで使用されているOSに応じて、Android BSPイメージをSDカードに転送する方法は異なります。詳細な手順については、以下のオプションを選択してください。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUに関する詳細なチュートリアルは、https://github.com/NXPmicro/mfgtools/wikiにあります。
uuuファイルに実行権限を追加し、ファイルを実行します。uuuはUSBデバイスが接続されるまで待機します。
$ chmod a+x uuu
$ sudo ./uuu L5.4.70_2.3.0_images_MX8MMEVK.zip
ボードの電源を入れると、uuu
はボードへのイメージのコピーを開始します。
完了したら、ボードの電源を切ります。「ブート・スイッチの設定」を参照して、SDカードからブートするようにボードを設定します。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUに関する詳細なチュートリアルは、https://github.com/NXPmicro/mfgtools/wikiにあります。
> uuu.exe L5.4.70_2.3.0_images_MX8MMEVK.zip
ボードの電源を入れると、uuu
はボードへのイメージのコピーを開始します。
完了したら、ボードの電源を切ります。「ブート・スイッチの設定」を参照して、SDカードからブートするようにボードを設定します。
Something went wrong! Please try again.
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のサイトをご覧ください。
Something went wrong! Please try again.
このセクションでは、SDカードとi.MXプロセッサ用のビルド済みU-Bootイメージを使用してアプリケーションを実行する方法について説明します。
imx8mm_m4_TCM_hello_world.bin
など)をSDカードのFATパーティションにコピーします。 J1701
からブートします。EVKボードには、ブート用のSDスロットが1つしかありません。ボードのDEBUG UARTコネクタをUSBケーブルでPCに接続します。Windows OSはUSBドライバを自動的にインストールし、Ubuntu OSはシリアル・デバイスも検出します。
シリアル通信アプリケーションの詳細については、「パッケージの内容」の「USBデバッグ・ケーブルの接続」セクションを参照してください。
ボードの電源を入れ、U-Bootのカウントダウンがゼロになる前に、任意のキーを押してブート・プロセスを停止します。最初のターミナルのU-Bootプロンプトで、次のコマンドを入力します。
=> fatload mmc 0:1 0x7e0000 imx8mm_m4_TCM_hello_world.bin
=> bootaux 0x7e0000
これらのコマンドは、SDカードの最初のパーティションにあるイメージ・ファイルをCortex®-M4のメモリにコピーし、Cortex®-M4のリセットを解除します。
Something went wrong! Please try again.
以下の詳細については、「i.MX 8カメラのユース・ケース」を参照してください。
i.MXボード上でLinuxが動作している場合、i.MX SoCが提供する特別な機能を評価できます。このチュートリアルでは、i.MX 8M Mini EVKBを使用してLinuxでインターネットに接続する手順を説明します。
RJ-45
コネクタにイーサネット・ケーブルを接続します。# 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
以下の詳細については、i.MX 8M Mini EVKディスプレイ・セレクション・ガイドをご覧ください。
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] を押してコマンド・ラインを終了します。
この例は非常にシンプルです。audiotestsrc
とalsasink
の間のリンクを示しています。
この例は、ビデオ・ファイルからオーディオだけをデコードする方法を説明します。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
i.MX 8M Mini EVKBでGStreamerバージョン1.0を使用する方法の詳細については、i.MX 8 GStreamerユーザー・ガイドをご覧ください。
コミュニティの投稿には以下も含まれています。
i.MX 8M Mini消費電力管理アプリケーション・ノートは、開発者がパワーマネジメント・システムを設計するのに役立ちます。
このアプリケーション・ノートでは、以下の内容も説明しています。
i.MXボード上でLinuxが動作している場合、i.MX SoCが提供する特別な機能を評価できます。この例では、低消費電力モードへのサスペンドと、通常の動作に戻す方法を示します。
# echo enabled > /sys/class/tty/ttymxc0/power/wakeup
# 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ボード上でLinuxが動作している場合、i.MX SoCが提供する特別な機能を評価できます。この例では、NXPが提供する暗号化オフロード・エンジンとしてCAAMを使用する利点を示します。
多くのi.MX NXPプロセッサと同様に、i.MX 8M Mini EVKBボードには、暗号化と復号化のプロセスをハードウェアで高速化するために、CryptoDevを介して使用できる暗号化アクセラレーションおよび保証モジュール (CAAM) が含まれています。大量のデータを扱う場合や、パフォーマンスが重要なアプリケーションでは、このモジュールを使用することをお勧めします。
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が得られます。
Linuxホスト・マシンのコマンド・プロンプトで、次のコマンドを実行してポート番号を確認します。
$ ls /dev/ttyUSB*
数字の小さい方がArm® Cortex®-A53コアの番号、大きい方がArm® Cortex®-M4コアの番号です。
次のコマンドを使用して、シリアル通信プログラム(例:minicom
)をインストールし、実行します。
$ sudo apt-get install minicom
$ sudo minicom /dev/ttyUSB* -s
図3. Minicomの設定
i.MX8MQuadのFTDI USBシリアル・チップは、2つのシリアル・ポートを列挙します。これらのポートをCOM9
、COM10
とします。小さい番号のポート (COM9
) はArm® Cortex®-A53からのシリアル・コンソール通信用で、大きい番号のポート (COM10
) はArm® Cortex®-M4コア用です。Serial-to-USBドライバは、仮想COMポート・ドライバから入手できます
注:i.MXボードの仮想COMポートのポート番号を確認するには、Windowsのデバイス・マネージャを開き、[ポート (COMとLPT)]でUSBシリアル・ポートを探します
オープン・ソースのターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
COM
ポート番号を使用して、シリアル・ポートをボーレート115200
、8
データ・ビット、パリティなし、1
ストップ・ビットに設定します。この設定は[Setup(セットアップ)]→[Serial Port(シリアル・ポート)]から行うことができます。
i.MX8MQuadのFTDI USBシリアル・チップは、2つのシリアル・ポートを列挙します。これらのポートをCOM9
、COM10
とします。小さい番号のポート (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開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
COM
ポート番号を入力します。ボーレートもあわせて指定します。今回は「115200
」を入力します。COM
ポートが入力されていれば、ターミナル・ウィンドウが開きます。設定が正しくない場合は、アラートが表示されます。i.MX 8M Miniの使い方についてさらに詳しく知りたい方のために、オンラインの簡単な技術セッションから実践的な詳細トレーニングまで、さまざまなトレーニングを用意しています。
NXPのコミュニティ・サイトで他のエンジニアとつながり、i.MX 8M Miniアプリケーション・プロセッサを使用した設計に関する専門的なアドバイスを受けることができます。