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

2022年12月30日金曜日

TOPPERS/ASP - AVR32版 その2

前回からの続きです。


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

早速、開発環境を構築していきます。

まずは、Microchip社の純正の統合開発環境(IDE)である「Microchip Studio」のインストールからです。

詳しい手順については、同じMicrochip社のAVRを使用した「TOPPERS/ASP Arduino Mega2560版」の時に書いた記事が参考になります。

このページ(TOPPERS/ASP - Arduino Mega2560版 その2)をそのまま参考にして作業して下さい。

ただし、インストーラーで開発ターゲットのアーキテクチャを選択する部分には要注意!

以下のような画面が表示されたら、必ず「UC3」のチェックを忘れずに!

開発ターゲットのアーキテクチャの選択


今回の「TOPPERS/ASP AVR32版」においても、「Microchip Studio」と「Eclipse」の二つのIDEを使用する方針です。


開発環境の構築(Eclipse編)

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

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

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


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


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

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


環境変数の設定方法は、このページ(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\avr32\avr32-gnu-toolchain\bin


に置き換えてください。

こんな感じ…。

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

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


> avr-gcc --version

コマンドプロンプト


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

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


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

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

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

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


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

Cygwinターミナル


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


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

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

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

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

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


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

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


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

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

次回は、現状のソースコードに足らないものを色々コピーしたり、修正したりする作業を行っていきます。

これが結構、面倒なのですよ~。

でも、手順通りにやっていただければ大丈夫です!


<続く>

2022年12月22日木曜日

TOPPERS/ASP - AVR32版 その1

TOPPERS/ASP - AVR32版 概要

ちょっとしたデバイス作成に、業務に趣味にと大人気のMicrochip社の8bitマイコン「AVR」。

そのAVRマイコンに32bit版があったなんてご存知でしたか?

今回取り上げるのは、その「AVR32」です。

AVR32UC3A3


詳細は英語にはなりますが、このページを御覧ください。

かつては「AP7」と「UC3」の二種類のコアを販売していました。

「AP7」は、いわゆるアプリケーション・プロセッサーというべきもので、Linuxも動作するほどの高い性能を持っていました。

一方の「UC3」は、マイクロプロセッサー、いわゆるマイコンと呼ばれるカテゴリーに属します。

今回取り上げるのもこの「UC3」の方です。

ARMでいうところの「Cortex-A」コアが「AP7」に、「Cortex-M」コアが「UC3」に相当すると思えばイメージし易いですかね?

共にAtmel社の独自設計、8bitのAVRとは全く異なる設計思想の32bitRISCコアとなります。

このAtmel社が辿った運命、この記事でも触れましたが、PICマイコン擁するライバルのMicrochip社に買収されてしまいます。

Microchip社もPIC32(このカーネルもそのうち公開予定)などの32bitマイコンを販売しており、この統合によってこのAVR32は淘汰されてしまいました。

現在Microchip社では、新規設計非推奨の扱いとなっています。

どっかで似たような話を最近書いたような…?

結局、Microchip社のPIC32も思うように販売が伸ばせず、ARMコアの製品ラインを展開することとなります。

歴史の闇に沈んでいったAVR32。

あまり市場に受け入れられなかったのは事実ですが、実際に扱ってみると相当に優れた設計であることが分かりました。

このまま埋もれさせるのは惜しい…。

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

せめてもの供養…。

もしかしたら、RTOSがあれば使ってくれる人もいるかもしれない!…そんな思いです。

新規設計非推奨の扱いではありますが、それは仕事で使う上での問題。

市場在庫分を購入して、趣味で使う分には、まだまだ有力なマイコンであると言えます。

その証拠に、秋月電子通商さんでは、AVR32は3種類も!在庫が豊富な状態で販売されています。


●AVRマイコン AT32UC3B0512

●AVRマイコン AT32UC3B064

●AVRマイコン AT32UC3L064


値段を見ていただければ分かると思いますが、高い性能に見合わずとても安いです。

もはや投げ売りです!

特に「AT32UC3B0512」の場合は、同じような性能のSTM32だったら多分1,000円くらいしちゃうと思います。

…まあ、パッケージがQFPなのでハンダ付けは難しいですが。

昨今の半導体不足で入手困難なARM系マイコンの代打として、悲劇のマイコンAVR32の無念を晴らすため(そして僕らの強い味方、秋月電子通商さんの不良在庫処分のため!)、このマイコンで電子工作はいかがですか?


必要なもの

まずは、今回のターゲットとなる「AT32UC3A3-XPLD」です。

こちらでは、まだまだ入手可能です!

6,000円くらいです。

AT32UC3A3-XPLD


次に、デバッガです。

Atmel-ICE」っていいます。

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

高い!…と思われるかもしれませんが、これ一台あるとAtmel系は今回のAVR32やAVRの8bitのシリーズ、SAM(ARM)シリーズのデバッグも出来ちゃいます。

Microchip社のマイコンの中でもAtmel系のシリーズを普段お使いの方は買っておいて損はないですよ。

とはいえ、躊躇する値段ですよね…。

Atmel-ICE


ダウンロード/GitHub

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

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

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

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

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

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

すご~く面倒ですが、お付き合いしていただけると嬉しいです。

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


このカーネルも実装からかなり時間が経っているので色々忘れてます。

思い出しながら、不足しているソースコードのコピー、開発環境の構築やビルド方法を書いていきたいと思います!


<続く>

MLAA License

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