i.MX 8QuadXPlus Multisensory Enablement Kit (MEK) は、Cortex A-35 + Cortex-M4コアをベースとしたNXPの開発プラットフォームです。グラフィックス、ビデオ、画像処理、オーディオ、音声機能をサポートする高度な統合機能を備えたi.MX 8Xプロセッサファミリは、安全性認証可能で効率的なパフォーマンス要件に最適です。
このチュートリアルでは、MCUXpresso SDKパッケージを使用してCortex-M4を有効化し、ネットワークからバイナリをロードする方法を示します。
注:imx-mkimageユーティリティを使用して、SCFWからCortex-M4イメージをロードすることも可能です。しかし、今度はMCUXpressoに焦点を当てましょう。
マシンのセットアップ
$ sudo apt-get install cmake
$ export ARMGCC_DIR=
注:ARMGCC_DIR変数は、コンパイルに使用するターミナルでエクスポートする必要があります。
ホストマシンにTFTPサーバーをセットアップするには:
最初のステップは、TFTPの前提条件パッケージをすべてインストールすることです。
$ sudo apt-get install xinetd tftpd tftp
任意の場所に、root所有者とすべてのユーザーに対する「rwx」権限を持つTFTPフォルダを作成してください。
$ sudo mkdir /tftpboot
$ sudo chmod –R 777 /tftpboot
$ sudo chown –R root /tftpboot
次の内容でTFTPの設定ファイルを作成してください。(server_argsパラメータは、上記で作成したフォルダと一致する必要があります)
$ cat /etc/xinetd.d/tftp
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
xinetdサービスを再起動してください。
$ sudo /etc/init.d/xinetd restart
TFTPフォルダに任意のファイルを配置し、U-Bootを介してロードできます。また、ビルディングディレクトリからシンボリックリンクを作成することで、zImageファイルやdtbファイルを毎回コピー&ペーストする手間を省くことができます。
NFSに必要なすべてのパッケージをインストールしてください。
$ sudo apt-get install nfs-kernel-server
rootfsを配置するフォルダーを作成してください。
$ mkdir /tftpboot/rfs
/etc/exportsファイルの末尾に次の行を追加してください。
/tftpboot/rfs *(rw,no_root_squash,no_subtree_check)
NFSサービスを再起動してください。
$ sudo service nfs-kernel-server restart
rootfsを配置するか、NFSフォルダへのシンボリックリンクを作成してください。
SDKのダウンロード
次の手順に従ってMCUXpressoをダウンロードしてください。
イメージを構築する
SDKパッケージで利用できるすべてのデモとコード例は、<
$ cd ~/SDK_2.3.0_MEK-MIMX8QX/boards/mekmimx8qx/demo_apps/hello_world/armgcc
$ export ARMGCC_DIR=
$ ./build_release.sh
注:必要であれば、chmod +x build_release.shを実行して、スクリプトの実行権限を付与してください。
注:この手順では、TCMで動作するM4イメージをビルドする方法を説明します。DDRからイメージを実行するには、build_ddr_release.shスクリプトを使用して、ddr_releaseフォルダの下にバイナリをビルドしてください。
イメージをフラッシュする
=> dhcp
=> setenv serverip
=> tftp 0x88000000 hello_world.bin
=> dcache フラッシュ
=> bootaux 0x88000000
次に、M4コアがイメージを/dev/ttyUSB1コンソールにロードします。