2022年9月28日水曜日

TOPPERS/ASP - Arduino Mega2560版 その3

前回からの続きです。

このテーマを最初からご覧になる場合はこちらからどうぞ。


開発環境の構築(Eclipse編)

さて、デバッガを使うための「Microchip Studio」のインストールに続き、コーディングとビルドを行うための「Eclipse」をインストールします。

まずは、今回使う「AVR」用のツールチェーンの環境変数の設定を行います。

ツールチェーンは、「Microchip Studio」のインストールにより既に以下のディレクトリにセットアップされているはずです。


C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin


普通にGCCを含むGNUツールチェーンですね。


ディレクトリの名前で「Atmel」って何?と思われた方もいらっしゃるでしょう。

Atmel社は、かつてはAVRマイコンを始めとする半導体メーカーでした。

ホビー用途に使える手軽なマイコンとして、AVRマイコンは、PICマイコンと人気を二分するライバルでした。

だからかどうかは知りませんが、PICマイコンのメーカーであるMicrochip社が、あろうことかAtmel社を買収しちゃったんですね。

というわけで、ちょっと前まで「Microchip Studio」は「Atmel Studio」という名前であり、このディレクトリの名前はその名残りでしょう。

さて、話を戻して…。

環境変数の設定方法は、このページ(TOPPERS/ASPのビルドからデバッグまで~GNUツールチェーンの導入)の「環境変数の設定」の項目を御覧ください。

ただし、パスは…


C:\Program Files (x86)\GNU Tools ARM Embedded\7 2017-q4-major\bin


…となっているところを…


C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin


に置き換えてください。

こんな感じ…。


また、このページの「パスの確認」の項目で打ち込むコマンドも、以下のように変わります。


> avr-gcc --version


続きまして「Cygwin」のインストールを行います。

このページ(TOPPERS/ASPのビルドからデバッグまで~Cygwinの導入)を参考にしてください。


「Cygwin」がインストールできたら、ここまでの作業が上手くいっているかどうか確認しておきましょう。

次のページ(TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのビルド)を参照してください。

ただし、今回使用するソースコードはこのページの冒頭の「NUCLEO-F401RE STM32 Nucleo-64」開発ボード用のTOPPERS/ASPカーネル簡易パッケージではなく、「Arudino MEGA2560」用のものを使います。

ソースコードのダウンロードはこちらからどうぞ。

また、「Github」を使いたい方は以下のコマンドでソースコードのクローンを行います。


$ git clone https://github.com/RyutaroMorita/asp_arduino_mega2560_gcc.git


ダウンロードとGithub、いずれの場合も「asp_arduino_mega2560_gcc」というディレクトリの名前を「asp_1.9.2」などと改名すると、上記のページと同じ状況になります。

また、今回は「OBJ」ディレクトリを作成する必要はありません。

これは既に用意されていますので、そのまま「OBJ」ディレクトリに移動し「make~」コマンドを実行してください。


コマンドライン環境で正しくビルドができることを確認したら、いよいよ「Eclipse」のインストールを行います。

例のごとく、このページ(TOPPERS/ASPのビルドからデバッグまで~Eclipseの導入)を参考にしてください。


さて、以上でEclipseのセットアップは終了です。

これで「Microchip Studio」と「Eclipse」の2つのIDEを使用する準備が整いました。

次回は、それぞれのIDEでプロジェクトの作成を行います。


<続く>

2022年9月25日日曜日

TOPPERS/ASP - Arduino Mega2560版 その2

前回からの続きです。


開発環境の構築(Microchip Studio編)

Arduino Mega2560版のTOPPERS/ASPを使って開発を行っていく上では、以下の方針を採ります。


1.コーディングとビルドは「Eclipse」を使う。

2.デバッガを使う場合のみ「Microchip Studio」を使う。


…面倒くさいですね。

何で2つのIDEを使い分けなきゃならんのか?

それは、以下の理由からです。


1.「Microchip Studio」はMicrosoftの「Visual Studio」をベースにしているため動作が重くて使いにくい。

2.TOPPERS/ASPはビルドに独自のMakefileを使うため「Microchip Studio」のGUIによるソースコード管理の利点が少ない。


もちろん、これは個人的な好みです。

パソコンのスペックの問題はさておき、「Microchip Studio」だけで全てを賄う方法もあるに違いありません。

(私は上手くいかなかったのですが。)

しかしながら、ここでは上記の方針に則り説明していきます。


では、まずは以下のページで「Microchip Studio」のダウンロードをしましょう。


https://www.microchip.com/en-us/tools-resources/develop/microchip-studio


Offline Installer」と「Web Installer」という2つの種類のインストーラーがあるかもしれません。

ここでは「Offline Installer」を例とします。

ダウンロードが完了すると「as-installer-x.x.xxxx-full.exe」のようなファイルが落とせます。

これをダブルクリックしてみましょう。

以下のようにインストーラーが起動します。

ここでは「I agree to the license terms and conditions.」のチェックボックスをクリックして、「Next」ボタンをクリックして先に進みましょう。


次は、開発ターゲットのアーキテクチャを選択します。

今回のArduino Mega2560は「AVR」というアーキテクチャですので、ディスク容量に余裕がない方は最悪「AVR」だけチェックすれば良いでしょう。

「Next」ボタンをクリックして先に進みましょう。


サンプルプログラムをインストールするかどうかを選択します。

こちらもディスク容量に余裕がない方はチェックしなくて良いです。

「Next」ボタンをクリックして先に進みましょう。


以下、特に何もせずに「Next」ボタンをクリックして先に進みましょう。



ようやくインストールが開始されました。


…と思って安心したのも束の間、「MPLAB XC8」というソフトウェアのセットアップが始まります。

この「XC8」というのは「PIC」というMicrochip社の看板マイコンのためのコンパイラなのですが、前の画面で特に選択してませんよね?

なんででしょう?

まあ、害にはならないと思いますのでインストールしてあげましょう。

「Next」ボタンをクリックして先に進みましょう。


お約束のライセンス画面です。

I accept the agreement」のラジオボタンを選択して、「Next」ボタンをクリックして先に進みましょう。


以下、特に何もせずにひたすら「Next」ボタンをクリックして先に進みましょう。





ようやく「XC8」のインストールが開始されました。


「XC8」のインストールが終了すると、以下のように「Your Host ID is:」という記述の後にパスワードらしきものが表示されています。

「XC8」を使用する際にはアクティベーションが必要であり、その登録のために必要なIDなのだそうです。

今回のAVRだけではなく、将来的にPICも使いたいよ~という方は、メモしておいた方が良いでしょう。

メモしたら「Next」ボタンをクリックして先に進みましょう。


「XC8」のインストールはこれで終了のようです。

「Finish」ボタンをクリックして先に進みましょう。


「Microchip Studio」のインストーラー画面に戻ってしばらくすると、お待ちかね(?)の「Visual Studio」のインストールが始まります。

このフェーズは今までのように色々聞いてこないので楽ちんです。

…なまら時間が掛かりますが。

「Visual Studio」のインストールが終了すると、自動的に消えて再び「Microchip Studio」のインストーラー画面に戻ります。


この後のインストールの過程で、以下の画面が表示されることがあります(3回位)。

これは、各種デバッガのデバイスドライバのインストールの許可を求めています。

その中には、今回使用する「Atmel-ICE」のデバイスドライバもあるはずです。

「インストール」ボタンをクリックしましょう。


かなりの時間が掛かりますが、以下の画面が表示されると全てのインストール作業は終了となります。

「Close」ボタンをクリックします。


「Microchip Studio」が起動するはずです。

以下のような画面が見られれば「Microchip Studio」のインストールは成功です。

お疲れ様でした!


次回以降も開発環境の構築を行います!


<続く>

2022年9月18日日曜日

TOPPERS/ASP - Arduino Mega2560版 その1

TOPPERS/ASP - Arduino Mega2560版 概要

皆様おなじみの「Arduino」。


「Arduino IDE」という優れた開発環境を使って、手軽に組み込みソフトを作って動かせる安くて便利なボードとして、愛用されている方も多いのではないでしょうか。

私も長年、仕事で原理試作品をパパッと開発するために愛用しています。

でも、モノによってはどうしてもマルチタスクを使いたい案件もあり、Arduinoの本来の使い方では解決できないケースもあります。

そこで、「Arduino Mega 2560」に「μITRON4.0」準拠のRTOS(リアルタイムOS)であるTOPPERS/ASPを移植してみました。

普通Arduinoといえば、「Arduino UNO」という代表機種を指しますが、今回使うのはその上位版の「Arduino Mega 2560」です。

「Arduino UNO」に搭載されているCPUは、ATmega328P(ROM:32KB/RAM:2KB)というもの。

ROMはともかく、さすがにこのRAM容量ではOSが載りません。

一方の「Arduino Mega 2560」に搭載されているCPUは、ATmega2560(ROM:256KB/RAM:8KB)ですので、十分とは言えないまでも何とかなるかな~?と思いました。

さて、このATmega2560、なんと8ビットCPUです。

今どき8ビットってあ~た…。

しかしながら、レジスタの数が多くてアセンブラのニーモニックもRISCらしくキレイで、そのせいもあってか8ビットCPUとしては例外的にGCCコンパイラが提供されています。

クロックも16MHzで動作しますので、ちょっとしたIoT機器なら十分に開発できそうです。


必要なもの

まずは、今回のターゲットとなる「Arduino Mega 2560」です。

7,000円以上したら高いと思ってください。


次に、デバッガです。

Atmel-ICE」っていいます。

秋月電子さんで16,800円ですね。

高い!…と思われるかもしれませんが、これ一台あるとAtmel系は今回のAVRやSAM(ARM)シリーズのデバッグも出来ちゃうので、今回の「Arduino Mega 2560」に限らずArduinoシリーズを普段良くお使いの方は買っておいて損はないですよ。

まあ、安くはないわな…。


ダウンロード/GitHub

ソースコードの入手は、こちらからどうぞ。

なるべく定期的にメンテナンスするようにしていますので、動きがおかしいな?という場合は最新版に更新をお願いします。

それでもダメな場合はコメントください。


では、次回以降、開発環境の構築やビルド方法、使い方を書いていきます!


<続く>

2022年9月4日日曜日

MSX DEVCON 1 Tokyo その2

 「MSX DEVCON 1 Tokyo」へ行ってきました。

結論から言えば、守秘義務があるためここで当日の内容を発信することはできません。

ごめんなさい。


今回のDEVCONの内容は、確かに一般ユーザー向けの内容ではなかったのですが、元々ゲームマシンとしてのMSXではなく、他の分野への展開を期待していた私のような人間にとっては大いに腹落ちさせられました。

故に「DEVCON」だったのでしょうが。

もちろん、ゆくゆくは一般ユーザー向けの発表会やイベントの計画もあるそうですので大いに期待しましょう。


それにしても、勉強しなきゃいけないことが増えました。

おちおち仕事なんか、やってられないな。


DEVCONの会場は東京大学。これが大学の門かよ…。


こっちが正門。私みたいなバカがくぐると突然死するとかないよな?

と半ば本気でビビっていた。


安田講堂。かつてここを象徴とした一連の紛争は、

日本が一歩先へ進むための通過儀礼だったのだろう。


お土産をいただきました。西氏の著作でサイン入り。

こっちは神棚に置いて、Kindle版を買って読んでます。

MLAA License

 名称:「MLAAライセンス」(MLAA) タイプ: ・コピーレフト…× ・ライセンス文の掲示…〇(ソースコード頒布のみ) ・コピーライト(著作権)…〇(ソースコード頒布のみ) ・その他…〇(バイナリ頒布のみ) 原文: Copyright: 2010 Jorge Jimenez ...