TOPPERS/ASP - Arduino UNO R4版 概要
皆様おなじみの「Arduino」。
お財布に優しく、比較的入手がしやすいマイコンボードとして大人気です。
さて、この「Arduino」はローエンドのものからハイエンドのものまで多くのバリエーションがあります。
以前、コチラの記事でご紹介した「Arduino Mega2560」は比較的ハイエンドの型番でした。
しかし、一般的に「Arduino」といえば「Arduino UNO」を指すことが多いです。
最もスタンダードな型番と言えるでしょう。
更にこの「Arduino UNO」にも新旧いくつかのバリエーションが存在します。
そして、2023年に入ってから、長らく販売されていた「Arduino UNO R3」に代わり、その次世代モデル「Arduino UNO R4」が発表されました。
では、この「R3」と「R4」では、どのような違いがあるのでしょうか?
以下の表にまとめてみました。
Arduino UNO | R3 | R4 |
---|---|---|
CPU | Microchip(AVR) ATmega328P | Renesas RA4M1 Arm cortex-M4 |
ビット数 | 8bit | 32bit |
動作クロック | 16MHz | 48MHz |
ROM | 32kB | 256kB |
RAM | 2kB | 32kB |
このように、全ての面で「R4」が「R3」を大幅に上回るスペックへアップグレードされ、もはや別物と言っても過言ではありません。
もっとも大きな違いは、CPUのアーキテクチャが変更されたことです。
Microchip社の「AVR」独自アーキテクチャから、遂に「ARM」アーキテクチャへの進化を果たしました。
これによって、従来の8ビットから32ビットのCPUに強化されたため、数値上の動作クロックは3倍でも、それ以上の処理速度の向上が期待できます。
それでいて、お値段はそのまま!
これは、かなり魅力的なマイコンボードと言えそうです。
RAMも32kBへ大幅に増量され、RTOSを十分搭載可能な容量となりました。
そこで今回は、この「Arduino UNO R4」に「μITRON4.0」準拠のRTOS(リアルタイムOS)であるTOPPERS/ASPを移植してみました。
移植といっても、今回はいつもみたいにディスパッチャなどをアセンブラでガリガリ書いたりはしていません。
今回扱うマイコンはARMアーキテクチャですから、公式のARM版を「Renesas RA4M1」マイコン用にモディファイしただけです。
だから、とても品質が良いでしょう!
私が書いたのと比べて…。
TOPPERS/ASP - Arduino UNO R4版の注意事項
このカーネルを使った時点で、ArduinoはArduinoでなくなります。
当然、便利なArduinoIDEや、それに付随する豊富なライブラリは使用できなくなります。
そのような向きには、TOPPERS/ASPカーネルで動作しながらArduinoのライブラリを使えるような「TOPPERS/R2CA」(凄い!)という実装も存在します。
この場合はターゲットが「Arduino UNO R4」ではなく、同じくARMコアの「Arduino M0」になりますが、極めて有意義な実装です。
一方、このブログでご紹介する「TOPPERS/ASP Arduino UNO R4版」は、Arduinoの枠にとらわれず、単純に「Arduino UNO R4」を安価なマイコンボードとして使用したい方を対象としています。
ハードウェアだけ便利に使わせてもらおう!…という目的ですね。
必要なもの
まずは、今回のターゲットとなる「Arduino UNO R4」です。
お値段、3,000円ちょっと!
次に、デバッガです。
今回は「E2 emulator Lite」というRenesas製のデバッガを使用しました。
というのも「Arduino UNO R4」には、Renesas製のARMマイコンが搭載されているので、一番スマートかなぁ…と思って。
同じく秋月電子商会さんで買うと、10,000円でお釣りが出ちゃうくらいですね。
これでなくても、ローエンドのARMマイコンで標準的なデバッグインターフェースである「SWD」に対応しているものなら、もっと安価なものでも使用できるかもしれません。
このブログでは「E2 emulator Lite」を使用した例を説明します。
ダウンロード/GitHub
ソースコードの入手は、こちらからどうぞ。
とは言っても、このソースコードをダウンロード、もしくは「git clone」しても、絶対にビルドが通りません。
このソースコードは未完成です。
なぜなら、Renesas社のドライバを後から付け加える必要があるんです。
そのRenesas社のドライバのライセンスの条項が理解に難しく、公開、および再配布しない方が無難と判断したためです。
ですので、今後この記事では、それらのソースコードの入手方法やコピーする場所などを事細かに書いていくつもりです。
ちょっとだけ面倒です。
ごめんなさい…。
ビルドは、まだしないでくださいね~。
(あと、動かしながら記事書いてる過程でバグなんかが見つかるかもしれないので、ダウンロードは後の方が良いかも…。)
さて、次回から開発環境の構築をやっていきましょう。