nuvoton NK-RTU980 マイコンボード用のLinuxをコンパイルする環境構築
これは?
nuvoton社製 NK-RTU-980 ボード用のLinuxをコンパイルする環境の構築メモです。
nuvoton社が公開している手順とVMPlayer用Ubuntuイメージをダウンロードして、ボード上で動作するLinuxを作るところまで目指します。
nuvoton Directに基板とCPUの仕様が掲載されています。
■VMPlayer用Ubuntuイメージのダウンロード
nuvoton社のホームページから、Products → Microprocessors → ARM9 MPUs → NUC970 Industrial Control Series とたどります。
操作手順などは、Resources → Documentのファイル一覧から、NUC980/NUC970 Linux Environment on VMware User Manualをダウンロードして、内容をじっくり確認します。
実際のUbuntuイメージファイルは、Softwareを選択して、ファイルの一覧から、NUC980_970 Linux Environment on VMware を探してダウンロード後、VMPlayerにインポートしてください。
キーボードはUS配列になっていますので、必要に応じて変更してください。
■とりあえず、コンパイルする
VMPlayerにインポートしたUbuntuイメージを起動して、ログインします。
Terminalを起動してu-bootとLlinuxをコンパイルします。
今回使用するボードは「Chili」といいますので、それぞれのdefconfigを設定します。
●u-Bootのコンパイル
NUC970_Buildroot-master/output/build/uboot-masterフォルダに移動します。
make nuc980_chili_defconfigと入力して、ボード用の設定をします。
makeを実行して、コンパイルが終了するまで待ちます。
●Linuxのコンパイル
NUC970_Buildroot-masterフォルダに移動します。
make nuvoton_nuc980_chili_defconfigと入力して、ボード用の設定をします。
makeを実行して、コンパイルが終了するまで待ちます。
●書き込み用ファイルの生成
sudo ./install_nuc980_bsp.shを起動して書き込みイメージを作ります。
■基板に書き込む
実際のボードに関する手順は、User ManualとBSP(Board Support Packageの略だそうです)をダウンロードしてください。
nuvoton社のホームページから、Products → Microprocessors → ARM9 MPUs → NUC980 Industrial control IoT series とたどり、ファイルの一覧からNuMaker-RTU-NUC980 User Manualをダウンロードしてください。
●BSPのダウンロード
User Manualの4.1 BSP Download に書いてあるURLへ移動します。
User Manualでは、「NUC980_Linux 4.4_BSP_v1.02.001」となっていますが、2022年7月時点では1.03のため、このバージョンをダウンロードします。
●ドライバーのインストール
User Manualの4.2 Driver Installation に従いWinUSB4NuVCOM.exeをインストールします。
基板上のDIPスイッチを両方ともONにしてPCに接続します。
デバイスマネージャに認識されていればインストール完了です。
●書き込みツールの準備
WinUSB4NuVCOM.exeと同じフォルダにあるNuWriter.zip解凍して、NuWriter.exeを実行します。
Select target chip等の設定内容は、User Manualの通りに設定します。
Choose typeをSPIに設定し、SPIの項目をUser Manualの通りに設定します。
baudrate=115200
bootdelay=1
stderr=serial
stdin=serial
stdout=serial
bootcmd=sf probe 0 30000000; sf read 0x7FC0 0x200000 0x800000; bootm 0x7FC0
全ファイルの書き込み後
■起動確認
書き込み後、PCからUSBを抜いて、DIPスイッチを両方ともOFFに設定します。
USBをSPI書き換え用の隣にあるUSBコネクタに接続します。
通信ソフトで起動ログが表示されることを確認して完了です。
Discussion