1はじめに
NanoPi NEO PLUS2電子は非常になめらかなオープンソースハードウェアを発売友好的である、オープンソースハードウェアのCPUは64ビットのクワッドコアのARMのCortex-A53プロセッサH5 Allwinner会社に基づいて、および6核Mail450 GPU、オープンソースのハードウェアを内蔵しています統合1ギガバイトDDR3メモリ、高速標準8ギガバイトのeMMCフラッシュメモリ、無線LANイーサネットインターフェイスオンボードBluetoothモジュール、及びMICO SDカードから実行を開始するシステムのためのサポート。
オープンソースハードウェアの詳細については、以下のリンクを参照してください可能性があります。
http://www.arm9.net/nanopi-neo-plus2.asp
そして、一部のボード・レイアウト図およびインターフェースの概略図を楽しみます:
次のピン・インターフェース・マップは、次のとおりです。
よりNanoPi NEO PLUS2オープンソースハードウェアの情報は、公式Wikiページビューに移動することができます。
2、Linuxのシステムプログラミング
まず、高速TFカードとカードリーダーを調製、ならびに開発ボード電源アダプタへの電力供給は、5V / 2A出力を必要とし、その後、公式ファームウェアは内部TFカードにプログラムされるか、二つがあります次のような方法があります:
(1)Windowsでのプログラミングツールを使用します
Windowsプログラミングツールでは、Win32のディスクイメージャー・ソフトウェア・プログラミングを使用することができ、最初の公式友好や、ファームウェアとして、それを解凍し、優れたファームウェアを提供する準備ができて:
nanopi-neo-plus2_sd_friendlycore-xenial_4.14_arm64_20190918.img.zip
上記の文書は、ファームウェアはLinuxの-4.14カーネル、解凍後のファームウェア、オープンソフトウェアプログラミングに基づいて、システムファームウェアを構築するためにUbuntuのコアに基づいています。
良いTFカード上のソフトウェアでドライブ文字を選択し、ファームウェアのプログラミングを選択し、Writeボタンプログラミングをクリックします。
次のように成功したプログラミングした後です。
(2)LinuxシステムのコマンドDD
まず、Linuxターミナルの下の画像を抽出します。
$の解凍 nanopi-ネオplus2_sd_friendlycore-xenial_4.14_arm64_20190918.img。ジップ
デバイスがマウントされているかを確認するためにdfコマンドを使用して、LinuxシステムへのTFカード:
$ DF -h
したがって、TFカード挿入デバイス名は/ dev / sdc1など、唯一つのパーティションには、画像を書き込む防ぐために、読み取りまたは書き込み、それをアンインストールする機器をマウントする必要が他のです。
$ umountのは/ dev / sdc1から
そして、ミラーを書き込むためにddコマンドを使用します。
$ sudoの DD BS = 4M の場合 = nanopi-ネオplus2_sd_friendlycore-xenial_4.14_arm64_20190918.img \
=は/ dev / sdcのの
どのブロックサイズのブロック、BS略称上記のライトコマンドのBS、デバイスのパラメータが書き込まれた後パラメータは、ミラーの背後のパスである場合。
プログラミングは、ブートパーティション、およびルートファイルシステムパーティションを作成、パーティション完了すると、以下のように:
最後に、TFカードがシステムに開発ボードのパワー・ログイン、シリアルポートターミナルソフトウェアを開いて、接続するためにMICO SDカードインタフェース、USB - シリアルツール開発ボードデバッグシリアルポートとPCのUSBインタフェースのNanoPi NEO PLUS2に挿入されています。
次のように記号が示されています:
システムへのログインが成功した後、これは小さなおもちゃの開発することができます。
3、開発環境を構築します
(1)インストールクロスコンパイラツールチェーン
公式のアドレスの最初のクロスコンパイラツールチェーンをダウンロードし、コンパイラを抽出します。
$ ます。mkdir〜/ FriendlyARM /ツールチェーン- のp $のMVの gccの -linaro- 6.3。1 - 2017.02 -x86_64_aarch64-のlinux-gnuの。tarは .xz〜/ FriendlyARM /ツールチェーン/ $ CD〜/ FriendlyARM / ツールチェイン の$ タール -xf gccの -linaro- 6.3。1 - 2017.02 -x86_64_aarch64-のlinux-gnuの。タール .xz
ユーザーの環境変数へのクロスコンパイラツールチェーンのパス:
$ VIM〜/ .bashrcに
ファイルに次の行を追加します。
すぐに効果を取るために、環境変数をできるように、次のコマンドを使用します。
$元〜/ .bashrcに
最後に、インストールが成功したかどうか確認し、クロスコンパイラツールチェーンのバージョンを参照してください。
$ - - linuxのAarch64 gnu- のgcc -vを
次の出力は、インストールは成功です。
(2)U-ブートをコンパイルします
上記では、それはクロスコンパイラツールチェーンをインストールした後、単にU-ブートをコンパイルする方法について説明します。
依存して、いくつかのソフトウェアをインストールします。
$ sudoの apt-getのインストールのSWIGのpython-devののpython3-devのデバイスツリーコンパイラを
U-bootソースダウンロードのGitの使用とそれに対応するブランチに切り替えます:
$ gitのクローン[email protected]:Cqlismy / U-boot.git -b sunxi-v2017.x --depth 1
私は、U-bootソースコードをコンパイルし始めました。
$のCDのU-ブート/ $ 作る nanopi_h5_defconfig CROSS_COMPILE = aarch64-linuxの-gnu- $ 作る CROSS_COMPILE = aarch64-linuxの-gnu-
次のようにコンパイル後の出力結果は、次のとおりです。
次のようにU-bootソースでは、TFカードを更新するためにDDのu-bootコマンドを使用して、ソース・ファイル内のu-boot.itbルートディレクトリを生成するために必要なファイルディレクトリSPL sunxi-spl.binを生成します。
LinuxシステムへのTFカードの後、次のコマンドを実行します。
$のCD U- ブート の$ DD の場合 =は/ dev / sdXにBS =の= SPL / sunxi-spl.bin 1024模索= 8 $ DD の場合 =は/ dev / sdXにBS =の= U-boot.itb 1024模索= 40
TFカード上のブートパーティション用の/ dev / sdXにのために。
(3)カーネルをコンパイルします。
まず、Linuxカーネルのソースをダウンロードし、対応するブランチに切り替わり:
$ gitのクローン[email protected]:Cqlismy / linux.git -b sunxi- 4.14 .Y --depth 1
次に、カーネルソースをコンパイルを開始:
$のCDのLinux / $のタッチ.scmversionの $のメイク sunxi_arm64_defconfig ARCH =アームCROSS_COMPILE = aarch64-linuxの-gnu- $ 作る ARCH = arm64 CROSS_COMPILE = aarch64-linuxの-gnu-
次のようにコンパイルが成功した後、次のとおりです。
画像は、アーチ/ arm64 / bootディレクトリのソースコード内の必要な画像ファイルを生成するアーチ/ arm64 /ブーツ/ DTS / allwinnerディレクトリ内DTBファイルを生成します。
ブートパーティションのTFカードは/メディア/ SD /ブーツに取り付けられ、イメージファイルやデバイスツリーを更新するには、次のコマンドを使用することができますと仮定します。
$には、CDのlinux $ CPアーチ/ arm64 /ブーツ/画像/メディア/ SD / ブート の$ CPアーチ/ arm64 /ブーツ/ DTS / allwinner / sun50i-H5-nanopi * .dtb /メディア/ SD /ブーツ
あなたは、ドライバモジュールをコンパイルして更新する場合は、次のコマンドを使用することができます。
$ CDでlinux の$ makeが ARCH = arm64 CROSS_COMPILE = aarch64-linuxの-gnu-モジュール
TFカードrootfsのパーティションは、rootfsのモジュールを駆動更新するために、以下のコマンドを使用して、/メディア/ SD / rootfsのに装着時:
$ 作る modules_install INSTALL_MOD_PATH = /メディア/ SD / rootfsのARCH = arm64 \
CROSS_COMPILE = aarch64-linuxの-gnu-
4、サブセクション
本論文では、簡単にNanoPi NEO PLUS2このオープンソースハードウェアだけでなく、開発環境の一部を構築するために、小さなおもちゃの開発の前に簡単な紹介を紹介します。