鳥なき里のマイコン屋(104) Nuvoton、NUC120 Lチカへの遠い道

JosephHalfmoon
Joseph Halfmoon

ある会社のMCU、マイコンを「知る」には触ってみるのが一番でありましょう。以前から気になっていた台湾のNuvoton Technology社のマイコン評価ボード、ようやく 1台手にいれました。これで分かるのか?しかし、微妙に不安がよぎるのが、購入できたボードがかなり「古い」製品であること。ううむ、何かトラぶる予感がありありといたします。

まずは、気になっていたNuvoton社について過去投稿させていただいた件へのリンクを貼り付けさせていただきます。

鳥なき里のマイコン屋(7) 益々快調Armのお供に8051説

鳥なき里のマイコン屋(73) 突然のNuvoton Technology

気になってはいたものの、評価ボードを手にいれることなく日々過ごしておりましたが、今回、秋月電子通商殿にピンヘッダとか、BOB基板とか日々の消耗品を注文するついでにNuvoton社の評価ボードを発注してしまいました。

NuTiny-SDK-NUC120

というボードであります。コアはArm Cortex M0。ArmコアのMCUとしては、現状もっともBasicでClassicなコアであります。アイキャッチ画像に、パッケージ写真を、以下に実際の基板の写真を掲げます。

NUC120基板そのものは、開発ターゲット側のMCU基板と、デバッグ用基板が一体化されていて、場合によっては真ん中からパキっと分離できるようになっているタイプの基板です。最近の廉価版でありながらデバッグもサポートしている評価ボードでは「よくある」便利な構成であります。上の写真だと、左がターゲット、右がデバッグです。

ターゲットMCUの端子を取り出せるようにはなっていますが、ピンヘッダ等は付属していないので、自分でハンダづけする必要があります。また、小サイズの基板で特に穴も開いていないので、ショートしないように裏面にゴム足でも貼り付けた方が良いかもしれません。

ボードそのものは問題ないのですが、開発用ツールの方に不安がちょっとありました。最近のNuvoton社のボードであれば

  • ArmコアのボードはArm Mbed対応
  • 51コアのボードはPlatformIO対応

みたいです。どちらもお世話になっておりますが、MbedやPlatformIOであればほとんど何もせずに使えるようになること必定。しかし、このボード古いです。手元の英文ドキュメントの日付

Aug. 20, 2010

であります。当然、Mbedなど対応していないようです。しかし、

開発用ソフトウエアを搭載したDVD-ROM付き

です。ま、これからインストールすれば、ソフトのバージョンは古いかもしれないけれど、大丈夫か?起動するとこんな感じです。

NuTiny SDK CD2系統のツールチェーンあり、Arm純正Keilと、IAR Systems社のEWARMの2つです。CDの日付は2011年、Windows10などまだ影も形もない時代、手元のWindowsマシンは皆Windows10なので、不安が増します。

このCDを見る限り、「推し」はArm純正Keilに見えます。「推し」にしたがって

Keil μVision 4

をCDからインストールいたしました。結論からいうと、1台目PC動作せず。1台目にはいろいろ入りすぎていてトラブッるのかと疑ってインストールしてみたほとんど何も入っていない2台目PCも動作せず。ともかくWindowsのログ見るとμVision4内部で落ちているのですが、原因は不明。

μVision 4を諦め、最新版のμVision 5をArm社のサイトからダウンロード

することにいたしました。900Mバイトほどのファイルです。しかし、ダウンロード速度が遅いです。途中ネットワークエラーでダウンロード失敗すること2回。埒が明かないので、Chromeに「高速ロード」を入れさせていただきました。高速ロードありがとうです。素晴らしいソフトです。ダウンロード成功。

μVision 5をインストールいたしました。今回は、ソフトが落ちることもなくIDEが立ち上がってまいりました。生成できるオブジェクトサイズなどの制限ありのフリー版ですが、ライセンス登録は必要であります。オンライン登録のページでArm社のKeilのNuvoton版のページに記載されているPSN#というものを入力いたしました。しかし、なんということでしょう、ライセンス発行が拒絶されてしまうのです。ええ、ちゃんと純正サイトに記載されているPSN#がおかしい、と。「サポートに連絡せよ」との表示あり、拙い英語で連絡いたしました。しかし、ここで立ち止まるわけにもいかない。。。

いったんμVision 5アンインストール

Nuvoton社の開発ツールのページを参照すると、KeilとIAR以外に、GNUのツールチェーン+Eclipse IDE版もありました。こちらをサポートするようになったのは、割と最近になってからなのかな。ま、どちらも使ったことはあり、こちらで再トライ。GNU+Eclipseならビルドサイズの制限もなく、デバッガと接続するためのNu-linkというIFプログラムやら、ターゲットデバイス固有のライブラリファイルやらも皆含まれておりインストールは楽ちんであります。またもや、高速ロード大活躍。

GNU+Eclipse、問題なくインストール完了しました。Eclipseも立ち上がってまいります。早速、サンプルプロジェクトを開きました。ビルドもOK!ノーエラー。

しかし、ボードつなげるとNu-linkでデバッガが起動できない!

なっんてこったい。なにかデバッガを起動しようと動き出した形跡はあるのですが、タイムアウトで接続できないようです。なぜ、何が悪い。

こうなれば、とことんやってやる!ということで今一度DVD-ROMへ

DVD内のIAR社の相当古い環境を2台目PCにインストールしてみることにいたしました。DVDの表示によると、IAR社の環境は、お試し30日限定のように見えました。致し方ないです。

DVDからのインストールに成功、IAR社環境に引き続き、DVD-ROMからNu-linkやサポートファイルなどもインストール。しかし、EWARMの起動はできたのですが、Nulinkとの接続に失敗し、デバッグできない、とのお言葉。しかし今回は何が原因であるのか分かっているので、設定ファイルを調べ、Nulinkのパスが「昔風」であって最近のWindows10風でないことを発見、修正しました。

これでちゃんと起動ができました。そして、IAR社に接続して無償版のライセンスGETにも成功。ライセンス・ファイルを読むと、機能制限あるもののどうも30日限定ではないように見えます。本当なんでしょうか。まあ、一月後に分かるね。本当なら、老い先短い私なら、多分死ぬまで使える期間です。そして、サンプルプロジェクトをビルド。

あちゃー大量のエラー。41個もあります。サンプルプロジェクトでエラーがでてしまうと、IAR社の環境初めてだし、NuvotonのSDKも初めてだし、よくわかんない!とブー垂れました。でもよく読んでみるとごく限られたタイプのエラーで、ロケーションも実はそう多くない。それにIARのIDEのエラーメッセージは、めちゃくちゃ分かり易く感じました。使いやすいです。古いバージョンですがよくできている。

IAR_IDE本当なら何かインストールファイルのファイルバージョンの不整合などある筈なのでネチネチと追及すべきかと思ったのですが、面倒なのでNuvotonのパッケージ内のファイル2つを勝手に編集して手直ししてしまいました。すると、再ビルド成功。

よし、ボードを接続。しかし、Nu-linkでデバッガ起動できません。しかし、このEWARM環境では、「なぜ起動できないか」理由を表示してくれていました。ビルド環境のソフトとデバッガのハードに載っているファームウエアのバージョンの相違のためのようです。見れば、ボタンを押せば環境に整合性のとれたファームウエアに書き換えてくれるサービスまであり。ただし、古い版に書き換えてくれるような気もしましたが、いてまえ、と書き込み。

再接続いたしました。おお、ビルドしたオブジェクトが書き込まれていきます。

Lチカできました。

NUC120_LED_DEMO

後で、Keilのサポートの人から当方のメールに返事がきていることに気付きました。結構素早く返信してくれていたのでした。ありがとうございます。けれど、当方は、熱狂していろいろやっていて気付かなかったです。すみません。

その時間帯、2時間ほどKeilのライセンスサーバー落ちてました

ということでした。およよ。

まあ、ライセンスサーバーが落ちておらずKeilインストールできていたら、IARにはいかなかったです。ひょんなことでIARを先にインストールしてしまいました。入れたのは結構古い版ですが、なかなか良いところがあることに気付きました。ということで今回は、先にIAR社環境で「評価」をば続けまする。ま、もしも30日でライセンスが切れたらKeilやってみます。

しかし、Lチカまで遠い道のりだった。。。

鳥なき里のマイコン屋(104) GD32VF103、バッテリバックアップ に戻る

ぐだぐだ低レベルプログラミング(27) IARのIDEでArmのアセンブラを へ進む

鳥なき里のマイコン屋(105) Nuvoton、NUC120 Systickを使う に進む