ラベル TOPPERS/ASP(PIC32MX版) の投稿を表示しています。 すべての投稿を表示
ラベル TOPPERS/ASP(PIC32MX版) の投稿を表示しています。 すべての投稿を表示

2023年8月15日火曜日

TOPPERS/ASP - PIC32MX版 その5

前回からの続きです。

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


MPLAB Harmonyとは?

MPLAB Harmony」とは、ドライバ、プロトコル、スタック、コーディングユーティリティ、ビルドシステムなどを開発者に提供するソースコードのライブラリです。

いわゆる純正のライブラリパッケージであり、これを使用するとCPUに内蔵されているペリフェラル(周辺機器)を簡単に利用することができるというものです。

今回の「TOPPERS/ASP PIC32MX版」のカーネル内でも、割り込み、タイマーやシリアル通信ドライバなどは、この「MPLAB Harmony」のドライバを使用しています。

ところが、この「MPLAB Harmony」のソースコードのライセンスの条項が不明瞭なために再配布できません。

そのため「TOPPERS/ASP PIC32MX版」のソースコードが不完全なものとなり、そのままではビルドが通らず、通すためには手動で不足分のソースコードをコピーしていただくという手間を強いることになってしまいました。

申し訳ありません…。

では、その「MPLAB Harmony」のソースコードを何処から入手すれば良いのか?

そのためには、インストールした「MPLAB X IDE」上で雛形となるプロジェクトを作って、そこで生成された「MPLAB Harmony」のソースコードを「TOPPERS/ASP PIC32MX版」のソースツリーにコピーするという方法を採ります。

ちなみに、この「MPLAB Harmony」は、すでにインストール済の「MPLAB X IDE」には付随しておらず、別途ダウンロードとインストールが必要になります。

今回はやたらとダウンロード/インストールするものが多いですね。

こらえてつかぁさい…。


MPLAB Harmonyのインストール

「MPLAB Harmony」は、以下のページでダウンロードします。


https://www.microchip.com/en-us/tools-resources/configure/mplab-harmony/version-2

このページの下の方に行ってもらって…。

Harmonyダウンロードページ - 1


「MPLAB Harmony Integrated Software Framework v2.06 Windows」という表記の右側の「Download」という表示をクリックします。

Harmonyダウンロードページ - 2


ダウンロードが完了すると「harmony_v2_06_windows_installer.exe」というファイルが生成されますので、これをダブルクリック!

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

ここでは「Next>」ボタンをクリックです。

Harmonyインストーラ - 1


同意せざるを得んでしょう…。

ラジオボタンを「I accept the agreement」に選択してから「Next>」ボタンをクリックしましょう。

Harmonyインストーラ - 2


しばらくは「Next>」ボタンを連打です。

Harmonyインストーラ - 3


Harmonyインストーラ - 4


Harmonyインストーラ - 5


ようやくインストール作業が開始されたようです。

これも、そこそこ時間がかかります。

終わるまでTVでも観ていてください。

Harmonyインストーラ - 6


終了すると以下のような表示となります。

Finish」ボタンをクリックしてインストーラを終了させましょう。

Harmonyインストーラ - 7


これで「MPLAB Harmony」のインストールは終了です。

しかし、これを使うにはまだまだ作業が必要です!


MPLAB HarmonyのIDEへの登録

すでにインストール済みの「MPLAB X IDE」は、先程インストールしたばかりの「MPLAB Harmony」の存在を知りません。

(大体、この時点で「MPLAB X IDE」は一回も起動させていませんしねぇ。)

ですので「MPLAB X IDE」に「MPLAB Harmony」の存在を知らせて、それを使えるようにする作業が必要です。

そこで、まずは「MPLAB X IDE」を起動します。

普通にインストールした場合、PCのデスクトップに「MPLAB X IDE」のショートカットがあるはずですので、それをダブルクリックします。

すると、以下のようなスプラッシュスクリーンが表示されます。

「MPLAB X IDE」スプラッシュスクリーン


しばらくすると、まっさらな状態のIDEが立ち上がります。

キレイでシッカリ作られていそうなIDEですね!

「MPLAB X IDE」 - 1


次に「MPLAB X IDE」上部の「Tools」メニューから「Plugins」をクリックします。

「MPLAB X IDE」 - 2


以下のようなダイアログが現れます。

このダイアログの「Download」タグをクリックしましょう。

「Plugins」ダイアログ - 1


以下のように表示が切り替わりましたか?

次は、ダイアログの左上の「Add Plugins...」ボタンをクリックです。

「Plugins」ダイアログ - 2


新たに開いたダイアログで「MPLAB Harmony」のプラグイン・ファイル(.nbm)を選択します。

つまり、このプラグインをインストールすることで「MPLAB X IDE」が「MPLAB Harmony」を認識し、協調して働くことができるようになるという寸法です。

では、そのプラグイン・ファイルが何処にあるかっていうと、以下のパスです。


C:\microchip\harmony\v2_06\utilities\mhc


「MPLAB Harmony」は、ここにインストールされていたのですね。

そこで、以下のダイアログで上記のパスまで移動し「com-microchip-mplab-modules-mhc.nbm」という長ったらしい名前のファイルを選択し、右下の「開く」ボタンをクリック!

「Add Plugin」ダイアログ


以下のような表示になったでしょうか?

それでは満を持してダイアログ左下の「Install」ボタンをクリックです!

「Plugins」ダイアログ - 3


すると、以下のように「Plugin Installer」なるものが立ち上がります。

Next>」ボタンをクリックしましょう。

「Plugin Installer」 - 1


ああ、いつものアレだ…。

同意のチェックボタン、「Install」ボタンの順にクリックです。

「Plugin Installer」 - 2


プラグインのインストールが終わると、以下の表示となります。

Finish」ボタンをクリックしてください。

「Plugin Installer」 - 3


その後「MPLAB X IDE」は自動的に終了しますが、ビックリしないでください。

しばらく待っていると再起動します。

これで無事「MPLAB Harmony」のIDEへの登録は完了です!


このマイコンは、開発を始めるまでの作業が多いですね!

この辺り、もうちょっとスマートになると良いのですが…。

次回からは「TOPPERS/ASP PIC32MX版」をビルドするのに必要なソースコードを回収する作業を始めましょう。


<続く>

2023年8月1日火曜日

TOPPERS/ASP - PIC32MX版 その4

前回からの続きです。

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


開発環境の構築(Eclipse編)

さて、デバッガを使うための純正IDEである「MPLAB X IDE」と純正コンパイラの「XC32」のインストールに続き、コーディングとビルドを行うための「Eclipse」をインストールします。

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

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


C:\Program Files\Microchip\xc32\v4.30\bin

(XC32のバージョンが「4.30」の場合)


XC…などと言っても、普通にGCCを含むGNUツールチェーンのように見えます。

XC32ツールチェーンのディレクトリ


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

ただし、パスは…


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


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


C:\Program Files\Microchip\xc32\v4.30\bin


に置き換えてください。

こんな感じ…。

「環境変数名の編集」ダイアログ


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


> xc32-gcc --version

コマンドプロンプト


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

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


次に、ソースコードをゲットしちゃいましょう。

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

TOPPERS/ASP PIC32MX版」というのを選んでください。

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


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

Cygwinターミナル

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


さて、コンパイラーをインストールして、ソースコードもダウンロードしました。

早速ビルドを~!って思う気持ちはわかりますが、やめておきましょう。

どうせ、必ずビルドは失敗します。

なぜならば、ソースコードに色々加えなければならないからです。

その手順も追って説明いたしますので、ここはグッと我慢。


それよりも先に「Eclipse」のインストールを行います。

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


さて、以上で開発環境のセットアップは終了です。

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

次回は、Microchip社が提供する、PIC32用のソフトウェア開発フレームワーク「Harmony」のインストールを行います。

その「Harmony」とは何ぞや?というところからも説明したいと思います。


<続く>

2023年7月25日火曜日

TOPPERS/ASP - PIC32MX版 その3

前回からの続きです。

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


開発環境の構築(XC32コンパイラ編)

お次はPIC32MX用のコンパイラのインストールを行いましょう。

XC32」っていうGCCベースのコンパイラです。

以下のページでダウンロードします。


https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers

このページのほんのちょっと下へ行ってもらって…。

XC32コンパイラ・ダウンロードページ - 1


3つ並んでいる内の一番右「Download an XC32 Compiler」というバナーをクリックして下さい。

XC32コンパイラ・ダウンロードページ - 2


以下のようなページに飛ばされますので、ここでは「MPLAB VC32 C-Compiler(Winodws)」をクリックです。

ダウンロードが始まります。

XC32コンパイラ・ダウンロードページ - 3


ダウンロードが完了すると「xc32-vx.xx-full-install-windows-x64-installer.exe」というファイルが生成されますので、これをダブルクリック!

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

ここでは「Next>」ボタンをクリックです。

XC32コンパイラ・インストーラ - 1


お次はお約束のライセンス承諾。

I accept the agreement」のラジオボタン、「Next>」ボタンを順にクリックしましょう。

XC32コンパイラ・インストーラ - 2


しばらくは「Next>」ボタンを連打です。

XC32コンパイラ・インストーラ - 3


XC32コンパイラ・インストーラ - 4


XC32コンパイラ・インストーラ - 5


XC32コンパイラ・インストーラ - 6


ようやくインストール作業が開始されたようです。

これがまた終わるまでにどえりゃ~時間がかかります。

コーヒー片手に、しばらくネットサーフィンでもしていてください。

XC32コンパイラ・インストーラ - 7


インストールが終わると以下のような表示が…。

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

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

趣味レベルではなく、仕事などで本格的にPIC32を使いたいよ~という方は、メモしておいた方が良いでしょう。

アクティベーションしなくても、普通の用途ならコンパイラは問題なく使えます。

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

XC32コンパイラ・インストーラ - 8


コンパイラのインストールはこれで完了です。

Finish」ボタンをクリックしてインストーラを終了させましょう。

XC32コンパイラ・インストーラ - 9


今回はここまでにしましょう。

次回はEclipseの導入を行いましょう。


<続く>

2023年7月18日火曜日

TOPPERS/ASP - PIC32MX版 その2

前回からの続きです。


開発環境の構築(MPLAB X IDE編)

MPLAB X IDE」とは、Microchip社の純正のIDEです。

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


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

2.デバッガを使う場合のみ「MPLAB X IDE」を使う。


…面倒くさいですね。

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


すいません、完全に個人的な趣味です!


コーディングは「Eclipse」の方が慣れているし、「MPLAB X IDE」はビルドやプロジェクト管理のやり方がイマイチ分かり難かったので、つい…。

もちろんコーディングを含めて「MPLAB X IDE」だけで全てを賄う方法もあるに違いありません。

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

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


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


https://www.microchip.com/en-us/products/microcontrollers-and-microprocessors/32-bit-mcus

「MPLAB X IDE」ダウンロード・ページ - 1


上記のページのちょっと下の方に行ってもらって、「MPLAB X IDE」のロゴと「Learn More」というバナーが配置されている箇所がありますよね。

ここで「Learn More」バナーをクリックします。

「MPLAB X IDE」ダウンロード・ページ - 2


新しいページに誘導されます。

ここで「Download MPLAB X IDE」のバナーをクリックです。

「MPLAB X IDE」ダウンロード・ページ - 3


すると、以下のような場所に誘導されます。

ここで最新版の「MPLAB X IDE」をダウンロードしたくなりますが、それはダメです。

なぜならば、今回のターゲット「PIC32MX1/2/5 Starter Kit」は、新しめのバージョンではサポートが打ち切られ、最新版では「PIC32MX1/2/5 Starter Kit」用のプロジェクトの出力ができないからです。

それほど古い評価ボードではないと思うのですが、なんででしょうか?

大人の事情!?

ウ~ン、ちょっと気持ち悪いですが、とりあえず今はガマンして古いバージョンを探してみましょう。

なので、以下の通り「Go to Downloads Archive」バナーをクリックしましょう。

「MPLAB X IDE」ダウンロード・ページ - 4


以下のような場所に誘導されます。

ちょっと下の方に行ってもらって、良さそうなバージョンを探しましょう。

「MPLAB X IDE」ダウンロード・ページ - 5


以下のようなリストに辿り着いたら「Next >」というバナーをクリックしていきましょう。

ここでは動作確認ができている「MPLAB X v5.40」を探します。

(v6.0まで行かなければ、v5.45やv5.50でも大丈夫とは思います。)

「MPLAB X IDE」ダウンロード・ページ - 6


あった!これだね。

MPLAB X v5.40」という表記の部分をクリックして、ダウンロードを開始します。

「MPLAB X IDE」ダウンロード・ページ - 7


ダウンロードが完了すると「MPLABX-v5.40-windows-installer.exe」というファイルが落とせます。

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

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

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

「MPLAB X IDE」インストーラー - 1


ほいほい、ライセンスね。

分かりましたよ~ってことで、同意のラジオボタンをクリックし、「Next >」ボタンをクリックです。

「MPLAB X IDE」インストーラー - 2


その後は、しばらく「Next >」ボタン連打!

「MPLAB X IDE」インストーラー - 3

「MPLAB X IDE」インストーラー - 4

「MPLAB X IDE」インストーラー - 5


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

「MPLAB X IDE」インストーラー - 6


かなり壮大な時間がかかりますが、インストール終了です。

Finish」ボタンをクリックです。

「MPLAB X IDE」インストーラー - 7


勝手にブラウザが開いて、他のソフトウェアをダウンロードするように促されますが、何もしない閉じちゃって大丈夫です。


今日はここまで。

次回はコンパイラのダウンロード、インストールを行いましょう。


<続く>

2023年7月14日金曜日

TOPPERS/ASP - PIC32MX版 その1

TOPPERS/ASP - PIC32MX版 概要

このブログ、気が付けば三ヶ月も更新を止めてしまいました。

本業が多忙過ぎたのもありますが、決してネタ切れというわけではありません。

まだまだ、公開したいネタはあります。

万が一、更新を待っていてくれた方がいましたら大変申し訳ありませんでした。


さてさて、今回取り上げるのは、Microchip社のマイコン「PIC32MX」です。

PIC32MX1/2/5 Starter Kit


PIC」といえば、電子工作を趣味としている方々の強い味方。

5V動作のDIPパッケージ(ゲジゲジの脚が太い形状)で手軽に扱えるマイコンとして、AVRマイコンと並び、あまりにも有名な存在ですね。

通常「PIC」といえば、このようなローエンドの8ビットマイコンを指すことが多いのですが、実は、16ビットや32ビットなどのバリエーションもあります。

一般的に、

PIC10,12,16,18系が8ビット、

PIC24,dsPIC系が16ビット、

PIC32系が32ビット

かなりの大所帯なシリーズ展開となっております。

しかしながら、ここで厄介な問題が…。

それは、各ビットのシリーズ間で丸っきりCPUのアーキテクチャが異なることです。

つまり、8ビットのPICのアーキテクチャと32ビットのPICのそれとは全く違うということです。

8および16ビットのPICのアーキテクチャは、それぞれ異なるMicrochip社独自のものです。

32ビットのPICのアーキテクチャは「MIPS」と呼ばれるものを採用しています。

この「MIPS」なるものを説明すると多くのページが必要となってしまいますので、興味のある方はWikiをご参照ください。

簡単に言えば、RISCという設計思想の正しさを証明するという学術的な理由から開発された、大学の研究室由来のアカデミックなアーキテクチャです。

こんな大学の教科書みたいな表紙のイメージ通り、アカデミックです!

MIPSアーキテクチャに関する書籍


この評価の結果、旧来のCISCに対するRISCの優位性が証明され、後のARMやPowerPCの設計に大きな影響を与えたわけですが、これについての蘊蓄はこの辺にして。

この「MIPS」、昔は結構流行っていました。

私が今でも愛用する、このモバイルギアIIにもNEC製のMIPSアーキテクチャのマイコンが積まれています。

しかし、今となってはやや古いアーキテクチャであることは否めず、RTOSなどの移植の例も少ない寂しい現状…。

そこで、現在市場に流通している唯一のMIPSアーキテクチャのマイコンである「PIC32MX」に「μITRON4.0」準拠のRTOS(リアルタイムOS)であるTOPPERS/ASPを移植してみました。

直接の移植の動機は、なんと言っても秋月電子通商さんで販売されている以下の製品の存在ですね。


●PICマイコン PIC32MX270F256B-50I/SP

●PICマイコン PIC32MX250F128B-I/SP


MIPSアーキテクチャで動作周波数50MHz級の本格的なマイコンがDIPパッケージで売られているという事実。

DIPパッケージというところが肝心です。

私のようなボンクラソフトウェア技術者だと、ハンダ付けが下手ですので、QFPパッケージ(脚が四方に出ていて、めっちゃ細い形状)での実装は難しいのです。

なので、気軽に治具や簡単な計測器を作成する際に、これほど助かることはありません。

PIC32は8ビット系のシリーズとは異なり、5Vではなく3.3V駆動となってしまいますが、それでも十分にありがたい存在です。


必要なもの

今回のターゲットとなる「PIC32MX1/2/5 Starter Kit」です。

秋月電子通商さんで売ってます。

この記事の執筆時点の価格で、8,600円です。

デバッガー機能を内蔵していますので、これポッキリで開発が進められます。

これが高いか安いかの議論はさておき…。

PIC32MX1/2/5 Starter Kit


他の型番への移植も可能ですが、TOPPERS/ASPを搭載して動作させるならROM:128KB/RAM:8KB以上の容量を持つ型番を選びましょう。

このブログでは「PIC32MX1/2/5 Starter Kit」を使用した場合の例を説明していきたいと思います。


ダウンロード/GitHub

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

とは言っても、このソースコードをダウンロード、もしくは「git clone」しても、絶対にビルドが通りません。

このソースコードは未完成です。

なぜなら、Microchip社のドライバを後から付け加える必要があるんです。

そのMicrochip社のドライバのライセンスの条項が理解に難しく、公開、および再配布しない方が無難と判断したためです。

ですので、今後この記事では、それらのソースコードの入手方法やコピーする場所などを事細かに書いていくつもりです。

ちょっとだけ面倒ですが、お付き合いしていただけると嬉しいです。

ビルドは、まだやっちゃダメですよ~。

(あと、動かしながら記事書いてる過程でバグなんかが見つかるかもしれないので、ダウンロードは後の方が良いかも…。)


さて、次回から開発環境の構築をやっていきましょう。

そんなに間を空けずに更新…したいです。


<続く>

MLAA License

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