2023年3月13日月曜日

MSX DEVCON 3 その2

3月12日(日)の「MSX DEVCON3」行ってまいりました。

場所は、秋葉原UDX 6Fのカンファレンスルーム。

秋葉原UDX


秋葉原に来る頻度も多いし、UDXも(特に地下駐車場)よく利用していますが、ここまで足を踏み入れたのは初めてだな…。

案内表示板


会場を入ると、前回の東京大学での「MSX DEVCON 1 Tokyo」の時とは打って変わって、アカデミックな雰囲気。

東京大学でやるほうがアカデミックな感じが漂いそうなものですが…。

今日の内容は、私ごときがついていけるものだろうか?と、心の中で冷や汗。

参加者は、ゲーム好きというよりも、ベテランの技術者や企業の役員風の方が多かったですね。


私は15:30からの第2部での参加となりました。

時間となり、今回の次世代MSXのフロントマンである、西 和彦さんが登壇へ。

大変朗らかな方ですが流石に「天才」と呼ばれる方、醸し出すオーラは半端じゃない!

さて、気になる内容ですが、次世代MSXのラインナップの中でも最も小規模な、IoTエッジとしての「MSX0」の詳細情報が中心でした。

現在、クラウドファンディングで募集をかけている「MSX0 Stack」の具体的な使い方まで。

MSX0 Stack


あとは、他のカテゴリである「MSX3」、「MSX Turbo」の今後の予定など。

さらに、ゲーマーの方は注目!

プロジェクトEGG」の代表取締役、鈴木直人さんの講演など、盛り沢山な内容でした。


今回も守秘義務があると思いますので、詳細を述べるのは差し控えたいと思いますが、個人的に一番気になったのは「MSX0 Stack」に使用されているマイコン「ESP32」のことです。


ESP32とは?

このマイコンに関する詳細は、こちらをご覧いただくとして、簡単に言ってしまうとWiFiとBluetoothのモジュールが両方乗っていて、マルチコアで性能が高く、そのうえ激安という「化け物」のようなマイコンです。

電子工作好きの間では超有名な存在。

アメリカのTensilica社がライセンスする「Xtensa LX6」CPUコアを用い、台湾のTSMCで製造されている、中国のEspressif Systems社の製品となります。

Espressif ESP-WROOM-32 Wi-Fi & Bluetooth Module


「MSX0 Stack」は、この「Xtensa LX6」CPUコアの上でZ80エミュレータを動かし、MSXのシステムを動作させる仕組みです。

問題は、ココです!

アメリカ、というより西側のライセンスによる中国製のマイコン…。

これが懸念事項です。

御存知の通り、アメリカおよび西側諸国と、中国との国際関係に懸念が多い情勢です。

仮に、アメリカの知的財産保護政策により、Tensilica社によるライセンスが停止された場合、中国のEspressif Systems社のこの「ESP32」マイコンはいつディスコンになるのか分からない存在です。

そんな馬鹿な!?…と思われる方、中国でのARMアーキテクチャの現状を是非御覧ください。

あくまで「MSX0」をホビー用途として使用するだけなら問題は大きくありませんが、私のように、いつか「MSX0」規格をビジネスとして使用することを目論んでいる人間にとっては、この点は無視できない課題となります。

私も、この話題の「ESP32」マイコンに例のごとくRTOSを移植して遊ぼうと思ったことがありましたが、この懸念から、このマイコンの未来は暗いかもしれない…と思い、途中でやめてしまったという経緯があります。

(それ以上に、技術的な問題が大きかったわけですが、それに関しては機会があれば書かせていただきたく思います。)

ましてや、自社のマスプロダクト品に採用することなど到底考えられません。

安くて、すっごく魅力的なマイコンなのにぃ~!

ヒトでもモノでも、国籍による差別はいけませんが、ビジネスともなると倫理一辺倒では通用しない世の中…。


とはいえ、「MSX0」に限らず次世代MSXの全てのラインナップは、ハードウェアとソフトウェアを完全に切り離して考えるコンセプトが徹底されています。

仮にESP32がなくなってしまっても、ARMとか、別のアーキテクチャ上で動く「MSX0」を作れば良いし、ARM上で動くZ80エミュレータなんてありふれてますよね?

無ければ作れば良いのです!

その精神が大切だし、それが楽しいのです。

西さんも仰っていました。

過程が楽しいんだ!」と…。


さて、「MSX0」に使用されるマイコンに関して、ややネガティブな内容を書いてしまいましたが、どうかこれが杞憂に終わりますように。

世界平和を切に願うものです。

2023年3月8日水曜日

MSX DEVCON 3 その1

来る3月12日に「MSX DEVCON 3」が開催されます。

前回の「MSX DEVCON 1 Tokyo」に引き続き、参加して来ようと思います!

「MSX0 Stack」クラウドファンディング


プロジェクトの中心人物、西 和彦さんの提唱する「次世代MSX」は、単純に「MSX3」という名称で一括りにされている傾向があります。

その方がセンセーショナルだからと思いますが、これは大きく分けて以下の3つのコンセプトで構成されており、その総称と言えます。


●MSX0 - IoTエッジ

●MSX3 - パーソナルコンピュータ

●MSX Turbo - スーパーコンピュータ


上から順に現在の状況をあくまで私なりに整理したいと思います。


MSX0 - IoTエッジ

これに関しては、既にこの企画に沿った製品の第一号である「MSX0 Stack」のクラウドファンディングが開始されています。

冒頭の画像の通り、概ね順調に推移しているようで何よりです。

「MSX0 Stack」は、IoTエッジである「MSX0」規格ではありますが、これ単体でもMSX/MSX2/MSX2+用のソフトウェアが動作するようです。

(「MSXturboR」は言及されてません。多分無理かと。)

「MSX0 Stack」だけではなく他の「MSX0」規格の製品のリリースも数多く計画されているようです。

非常に良くまとまった記事がありますので、ご参考に。

もし、あなたが古くからのMSXユーザーであり、手持ちのソフトウェアを使いたい、また遊びたいという目的をお持ちなら、この「MSX0」規格の製品を購入すれば十分に事は足りるでしょう。

そうではなく、IoTエッジとして活用したい場合は、センサーとの接続や、そこからデータを回収する仕組み、更にそれを上層に上げる仕組みを習得する必要があるでしょう。

おそらく、そのためのプログラミング言語としては「BASIC」が筆頭でしょうが、他の言語は?対応するセンサーの種類は?具体的なAPIの仕様は?などの情報は、直近のDEVCONも含め、徐々に明らかになっていくことでしょう。


MSX3 - パーソナルコンピュータ

「MSXturboR」に続く待望の次世代MSXです。

上記の「MSX0」の進捗の影響で計画が遅れているということですが、現在のところ、かつての「1chipMSX」と似たような形態での製品が今年Q3に発表される予定となっているようです。

もし、あなたがゲーマーならば、一番注目すべきカテゴリでしょう。

このMSX3を単なるゲームマシンと見た場合、気になるのはそのスペックと参入するサードパーティの数などといったところになるでしょうか。

かつてMSXは、ゲームマシンとして任天堂のファミリーコンピューターなどと争う一面もありました。

現代であれば、任天堂のSwitchや、SONYのPlayStation5と争うことになるのでしょうか?

ゲームマシン以外の用途として見た場合は、次世代MSXというシステムの中核として、下位の「MSX0」の開発プラットフォームとしての役割や、そこから上がってくるデータの中継点、すなわちゲートウェイとしての役割を担うことになるのでしょうか?

とにかく「MSX3」という名称があまりにもセンセーショナルですので、最も注目を集めるカテゴリであるが故に期待される要素も多く、未だその真の姿は混沌としているように思います。


MSX Turbo - スーパーコンピュータ

個人的には、最も興味があり、最も重要なカテゴリであると思います。

初代のMSXのコンセプトは何だったでしょうか?

当時、高嶺の花だったパーソナルコンピュータを大量生産のマスプロダクト品として落とし込み、個人の購入が十分に可能な値段で広くユーザーに提供するというものだったはずです。

今では、コンピュータは一家に一台どころか、一人に一台、スマートフォンなどを含めれば一台以上が当たり前の時代となりました。

その時代の道筋を最初に作ったのは、西さん、その人であると言っても過言ではないと思います。

しかし、パソコンは気軽に買える時代となりましたが、かの「富嶽」のようなスーパーコンピュータはどうか?

とてもではありませんが、よほどの富豪でもないかぎり個人の所有は困難です。

しかし、数十年前のパソコンもそうだったんです。

すなわち、西さんは、そのスーパーコンピュータを個人の購入が十分に可能な値段で広くユーザーに提供してしまおう!と考えているのです。

MSXで得た自らの成功体験を時代を経て、更に大きなスケールで再現しようというのです。

この「MSX Turbo」、形として姿を表すのは来年以降となりそうです。

これの登場により、他のカテゴリのMSXの全てがこのスーパーコンピュータに接続され、有機的に連動し稼働することにより「次世代MSX」システムは完成を見るのでしょう。

もはやスーパーコンピュータは研究者だけの所有物ではありません。

誰もが自由に所有し、使えるものとなるのです。

そう、かつてのパーソナルコンピュータがそうだったように…。

これは楽しみで仕方ありません!よね?


以上のように、まだまだ謎が多い「次世代MSX」

「DEVCON 3」でどれだけのことが明らかになるのか?

当日はしっかり学んできたいと思います。



しかし、なぜ、この時期にリモートではなく対面でのDEVCONとなったのでしょう?

コロナ禍が落ち着いたということもあるのでしょうが、想定外の計画の遅延から「次世代MSX」の関心度が下がることを西さんが懸念したのでしょうか?

…でもねぇ、西さん。

僕たちは、もう何十年も待っていたんですよ。

今更、数ヶ月や半年程度の遅れなんて、誰も気にしちゃいませんゼ。

2023年3月2日木曜日

TOPPERS/ASP - ML62Q1000版 その5

前回からの続きです。

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


デバッガとターゲットの配線

デバッガの「EASE1000 V2」とターゲットの「SK-BS01-D62Q1577TB」の間で、こんな感じの配線をします。

デバッガとターゲットの配線 - 1


まずは「SK-BS01-D62Q1577TB」にピンヘッダを取り付けます。

ピンヘッダの取り付け


ここで、まず注意事項!

「SK-BS01-D62Q1577TB」のピンヘッダ用のランド(穴)が小さいので、よく使うサイズのものは使えません。

例えば、秋月電子さんで言うところの「細ピンヘッダ」を用意する必要があります。

以下、普通のものと、この「細ピンヘッダ」の比較の写真です。

上の青いのが噂の「細ピンヘッダ」です。

「細ピンヘッダ」は一列のものしか売ってなかったので、2本ずつ使ってハンダ付けしました。

細ピンヘッダ


デバッガの「EASE1000 V2」とターゲットの「SK-BS01-D62Q1577TB」との接続は、普通に基板左側の14ピンヘッダに専用のコネクタを接続して終わりっと…。

デバッガとターゲットの配線 - 2


プログラムの転送とデバッグ

これからTOPPERS/ASPのサンプルプログラムを動かす際には、動作確認のためにどうしてもシリアルポートが必要です。

そこで、以下のような市販のUSB/シリアル通信変換ケーブルを用意します。

市販のUSB/シリアル通信変換ケーブル


シリアル通信をするために必要なポートは、RXDとTXDとGNDの三本ですね。

ターゲット基板上の先程取り付けた細ピンヘッダから取りましょう。

P02(SU0_RXD0)ピンはコネクタCN1の19ピン、P03(SU0_TXD0)ピンはコネクタCN1の20ピンから取ります。

GNDは適当に…。

回路図を貼り付けたほうが良いのですが、ドライバと同様に守秘義務があって掲載できないかもしれません。

ご不便をお掛けします。

RXDTXD「J11」のシルク印刷の真上くらいです。

評価ボードからこうやってGNDRXDTXDと、それぞれの線を出してやって…

ターゲット側の配線


USB/シリアル通信変換ケーブル側の配線は、上からTXDRXDGNDの順番でこんな感じ。

これでシリアルポートが使えるようになりました。

USB/シリアル通信変換ケーブル側の配線


続いて、このUSB/シリアル通信変換ケーブルをパソコンに繋いでみましょう。

パソコン上でデバイスマネージャーを開きます。

ポート(COMとLPT)のサブカテゴリーとして「USB Serial Port」というポートが追加されているはずです。

(私のパソコンでは、「COM15」として認識されていますね。)

このポート番号、覚えておいて下さい。

デバイスマネージャー


ここで、デバッガとパソコンをUSBケーブルで繋げましょう。

ターゲットへの電源は、デバッガのコネクタから供給されます。

これは親切設計!

ご覧の通り、通電します。

デバッガとパソコンの接続


次に「TeraTerm」をご用意ください。

インストールしていない方は、このページ(TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ)の「TeraTermの導入」の項目を参考にしてください。

もちろん、シリアル通信のターミナルであれば、他のものもお使いいただけます。

今回のTOPPERS/ASPのサンプルプログラムは、シリアル通信のメッセージを出力しますので、先程「USB Serial Port」として認識されたシリアルポート番号でターミナルを立ち上げておきましょう。

設定は、こんな感じです。

ボーレートは「9600」です。

(私のパソコンは、USB/シリアル通信変換ケーブルをCOM15として認識していました。)

TeraTerm - シリアルポートの設定


さて、「LEXIDE-U16」に戻りましょう。

まだサンプルプログラムをビルドしていない場合は、画面右側の「Build Target」タブの中、「OBJ」ディレクトリ直下の「all」をダブルクリックして、ビルドを完了させましょう。

「LEXIDE-U16」 - 1


次にデバッガを起動します。

画面右側の「Build Target」タブの中、「OBJ」ディレクトリ直下の「_debug」をダブルクリックです!

「LEXIDE-U16」 - 2


しばらくすると「ターゲット設定」というダイアログが表示されます。

「ターゲット設定」ダイアログ - 1


これを以下のように設定し、ダイアログ下部の「OK」ボタンをクリックします。


カテゴリ:ML62Q1000

グループ:ML62Q1500

LSI:ML621577

ターゲットICE:On Chip Emulator

「ターゲット設定」ダイアログ - 2


以下のようなポップアップが表示されますので、ここでも「OK」ボタンをクリックしてください。

ポップアップ


以下のような画面が表示されましたか?

これが「DTU8」というデバッガ・アプリケーションです。

DTU8 - 1


では、このアプリケーションを使って、ビルドしたサンプルプログラムをターゲットに転送しましょう!

DTU8の画面上部に並んでいるボタンの中から「プログラムファイルの読み込み」ボタンをクリックします。

フォルダーみたいなアイコンが3つ並んでいるうちの真ん中のヤツです。

DTU8 - 2


すると「プログラムファイルの読み込み」ダイアログが現れます。

これを使って、ビルドしたプログラムファイル「asp.abs」を選択して「OK」ボタンをクリックします。

この記事通りに作業いただいた場合、「asp.abs」は、以下のディレクトリに生成されています。


C:\cygwin64\home\<ユーザー名>\asp_1.9.2\OBJ

「プログラムファイルの読み込み」ダイアログ


しばらくアプリケーションがプログラムファイルをロードする間にワチャワチャしますが、それが終わると、DTU8は以下のような表示になると思います。

これは、ターゲットへ転送したプログラムが、現在スタートアップ・アドレスで停止していることを意味します。

DTU8 - 3


ここからプログラムを続行してみましょう。

DTU8の画面上部に並んでいるボタンの中から「プログラム実行」ボタンをクリックします。

DTU8 - 4


はい、ここで長らく放置していた「TeraTerm」を見てみましょう。

以下のように、サンプルプログラムが動作していることが確認できます。

TeraTermの表示


プログラムを停止する場合は、DTU8の画面上部に並んでいるボタンの中から「強制ブレーク」ボタンをクリックします。

停止させてみましょう。

DTU8 - 5


ブレークポイントを仕掛けましょう。

DTU8の「ファイル」メニューから、「ソースファイルの選択」をクリックします。

DTU8 - 6


「表示ファイルの切り替え」ダイアログが表示されます。

このダイアログの左側の「ユニット」リストの中から「sample1.c」を選択し「OK」ボタンをクリックしてください。

「表示ファイルの切り替え」ダイアログ - 1


これにより、「表示ファイルの切り替え」ダイアログの後ろのDTU8に「sample1.c」のソースファイルが表示されたはずです。

先程プログラムを停止した際に、タイミング良く「sample1.c」の中でブレークが掛かった場合は、元々表示されていたソースファイル表示と今回の作業で「sample1.c」が二枚表示となってしまいますが、まあまあ、ここはご勘弁を。

さて、「表示ファイルの切り替え」ダイアログには退場いただきましょう。

キャンセル」ボタンをクリックです。

「表示ファイルの切り替え」ダイアログ - 2


新たに表示された「sample1.c」、このソースコードの丁度中盤くらい、メインタスクの始めに仕掛けましょうか。

ブレークポイントは、ソースコード表示の左端付近の■(四角形)をクリックすることにより赤いマークが表示され、セットすることができます。

(解除したい場合もをクリックします。赤いマークが消えます。)

DTU8 - 7


これで本当にブレークポイントがかかるのか、試してみましょう。

今度は、DTU8の画面上部に並んでいるボタンの中から「リセット後に実行」ボタンをクリックします。

DTU8 - 8


程なくして、以下のように正しくブレークポイントを仕掛けた位置でプログラムが停止するはずです。

ここからは、「F10」キーでステップオーバー、「F11」キーでステップインなど、おなじみの操作が使用できます。

因みに、ステップオーバーやステップインなどを行っている時に命令が飛んでしまったり前後したりする場合は、最適化のせいです。

デバッグ時は、このページ(TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ)の「サンプルプログラムのデバッグ」の項目を参考に最適化を解除しましょう。

DTU8 - 9


少々古めかしい外観のDTU8ですが、質実剛健といった出で立ちで好感が持てます。

便利で豊富な機能を有していますので、添付のDVD-ROMの中のドキュメントに目を通しておくことをオススメしますよ~。


さて、次回はTOPPERS/ASP ML62Q1000版の詳細な情報を書いていきます。

結構、盛り沢山な内容なので2回くらいに分けるかも…。


<続く>

2023年2月23日木曜日

TOPPERS/ASP - ML62Q1000版 その4

前回からの続きです。

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


プロジェクトの作成

ML62Q1000マイコン用の開発環境の構築が完了していれば、統合開発環境(IDE)もインストール済みのはずです。

ラピステクノロジー社のIDEは「LEXIDE-U16」といいます。

このプログラムの場所は、これまで記事の記述通りに作業していただいた場合は、以下のパスに配置されています。

なので、これをダブルクリックでIDEが起動します。


C:\U8Dev\eclipse\lexideu16.exe


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

あらやだカッコいい!

「LEXIDE-U16」スプラッシュスクリーン


しばらくして以下のポップアップが表示されます。

ワークスペースの場所を問われているのですが、特に理由がない限り、そのままで「Launch」ボタンをクリックしましょう。

「Eclipse  Launcher」ポップアップ


ここで気付かれた方も多い(てゆうか、配置されているディレクトリの名前でバレバレ)と思いますが、この「LEXIDE-U16」、Eclipseベースですね!

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

「LEXIDE-U16」 - 1


さて、前回「Cygwin」のターミナルで行っていたTOPPERS/ASPのビルド作業をこのIDE上で行えるようにプロジェクトを作っていきましょう。

まずは「LEXIDE-U16」上部の「File」メニューから「New」をクリックし、「Makefile Project with Existing Code」をクリックします。

「LEXIDE-U16」 - 2


「New Project」ダイアログが表示されます。

ここでは、各項目を以下の通りに入力、設定し、ダイアログ右下の「Finish」をクリックします。


Project Name:<任意のプロジェクト名(ここでは「asp_1.9.2」)>

Existing Code Location:C:\cygwin64\home\<ユーザ名>\asp_1.9.2

Toolchain for Indexer Settings:<none>

「New Project」ダイアログ


「LEXIDE-U16」の画面左側の「Project Explorer」タブに<プロジェクト名>のディレクトリが表示され、その下に「asp_1.9.2」以下のディレクトリ構造が表示されていることを確認します。

「LEXIDE-U16」 - 3


プロジェクトのクリーンとビルド

「LEXIDE-U16」から「asp_1.9.2」プロジェクトをビルド/クリーンします。

「LEXIDE-U16」の画面右側の「Outline」タブを「Build Target」タブに切り替えます。

「LEXIDE-U16」 - 4


すると、「Project Explorer」タブと同じように「Build Target」タブに「asp_1.9.2」ディレクトリ構造が表示されます。

このツリーリストから「OBJ」を選択し、「New Build Target」ボタン(ツリーリスト上方の◎と+が合わさったようなアイコン)をクリックします。

「LEXIDE-U16」 - 5


「Create Build Target」ダイアログが表示されます。

まずは、プロジェクトのクリーンを行うMakeターゲットを作成します。

ここでは、各項目を以下の通りに入力し、ダイアログ下方の「OK」をクリックします。


ターゲット名:realclean

「Create Build Target」ダイアログ - 1


すると、「Build Target」タブのツリーリストの「OBJ」ディレクトリ以下に「realclean」が追加されます。

次は、これをダブルクリックします。

「LEXIDE-U16」 - 6


「LEXIDE-U16」の画面下方の「Console」タブには、プロジェクトのクリーンが行われたことを示す表示が現れます。

これは、Cygwin上で「OBJ」ディレクトリの中で「$ make realclean」を実行したのと同じ動作をしたことを意味します。

「LEXIDE-U16」 - 7


同じ要領で、「depend」と「all」のMakeターゲットも作成します。


ターゲット名:all

ターゲット名:depend

「LEXIDE-U16」 - 8


今後「OBJ」プロジェクトをビルドするときは「depend」、「all」の順に、クリーンするときは「realclean」のMakeターゲットをダブルクリックすれば良いことになります。


さて、もう一仕事!

今までと同じ要領で、もう一個Makeターゲットを作成してください。

まず「Create Build Target」ダイアログを開いたら「Target name」に「_debug」と入力してください。

頭のアンダーバーがポイント!

「Create Build Target」ダイアログ - 2


次に、今入力したテキストボックスの直ぐ下、「Same as the target name」のチェックボックスをクリックして、チェックを解除します。

「Create Build Target」ダイアログ - 3


Same as the target name」のチェックボックスを解除すると、その下の「Build target」テキストボックスが入力可能となります。

ここには「_debug」と入力されていますが、これの頭のアンダーバーを取って、ただの「debug」に変更しましょう。

その後、ダイアログ下方の「OK」をクリックします。

「Create Build Target」ダイアログ - 4


すると、「Build Target」タブのツリーリストの「OBJ」ディレクトリ以下に他のものより一番上に「_debug」が追加されます。

「LEXIDE-U16」 - 9


なぜ、「debug」のMakeターゲット名の頭にアンダーバーを付けたのか?

これは、ビルドやクリーンじゃなくてデバッガを起動するためのランチャーです。

実際のデバッガの起動方法や使い方は後ほど説明しますが、「_debug」ではなく「debug」という名前にしてしまうと、「Build Target」タブにおいて、すでに存在しているMakeターゲットの「depend」の直ぐ上に「debug」が表示(アルファベット順でソートされるから)されてしまい、これがかなりミスを誘うからです。

そんなのミスるのはオマエだけやろ!

…と思われる方は、そのまま「debug」でも別に良いですが、「depend」しようと思って、うっかり「debug」をダブルクリックしてしまい、デバッガの起動を待たされた上に「プログラムが無い」などとエラー表示されるのは相当イラッとくるので、このやり方をオススメしますよ~。


今回の作業はここまで!

次回は、いよいよ実機でプログラムを動かしましょう!!


<続く>

2023年2月16日木曜日

EPSON「S1C17W36 Eval Board」とデバッガ

新しいオモチャを買いました。

EPSONの16Bitマイコン「S1C17W36」の評価ボードと、そのデバッガ「S5U1C17001H3100」です。

「S1C17W36 Eval Board」とデバッガ


このマイコンは、液晶パネルを直接駆動できる最大2048ドット表示のLCDドライバーを内蔵していることが特徴で「多機能デジタル時計向け」なのだそうです。

うわ~、なんてニッチな!!

もっとも、EPSONは時計で有名なセイコーグループの一社ですから「多機能デジタル時計向け」というのは王道ですけどね!

もちろん、各種シリアルインターフェースやAD変換などの一般的なペリフェラル❨周辺機器❩も搭載しており、汎用マイコンとしても十分に使える製品となっております。

何かこう…センサーからの値を常にLCDに表示しながら他の機器へデータを飛ばすような、凝ったIoTデバイスなどが作れそうです。


失礼ながら、それほどメジャーとは言えませんが、EPSONは古くから4,8bitマイコンをリリースしていた老舗ベンダーです。

現在は32bitマイコンなども販売しておりますが、悲しいことに(?)独自コアではなくARMコアです。

しかし、4,8bitマイコンを使用していた既存の顧客が自社製品をアップグレードする際に、元々低コスト要求が強い製品に対して32bitマイコンでは大きすぎる…といった声から生まれたのが、間を取ったこの16bitの「S1C17Family」なのだそうです。


EPSONのマイコンに関しては、こちらのページに概要が記載されています。

この中で、私が好きな記述が以下の通り…。


開発秘話

エプソンの16bitマイコンは「S1C17 Family」という名称でラインアップしています。16bitマイコンなら「S1C16 Family」では?と良く尋ねられます。

その理由は、以下のどれだと思いますか。


1.単なる16bit マイコンではなく+1歩先を行く思いを込めた。

2.C16 名称は他社でも多いから 。

3.前身の製品4bit(S1C63)、32bit(S1C33)*3 という奇数型番のヒットにあやかった。

4.設計者の好きな曲中の登場人物が17歳だった。


実は...全て正解です。

こうして多くの思いを込めた「S1C17 Family」は2007年にリリースされました。


…なんか、中の人の息遣いが感じられていいですよね!

「S1C17Family」好きになっちゃった。


さて、例の如くこのマイコンにもTOPPERS/ASPを移植したいと思っています。

FreeRTOSなどの移植も面白いかもしれません。

今までこのブログで公開してきたカーネルは、仕事で使おうとしてボツになってしまったものばかりでしたが、「S1C17 Family」に関しては純粋に趣味のものとなるでしょう。

(他社の友人からのリクエストもありましたが。)

ここで公開するためにストックしているTOPPERS/ASPカーネルも残り少なくなってきましたしね…。

それに、私はARM以外のマイコンが大好きです!

…あ~ぁ言っちゃった。


暇を見つけて、コツコツとやっていきますよ~。

2023年2月14日火曜日

TOPPERS/ASP - AVR32版 目次

不幸だけど使いやすいマイコンAVR32!

以下AVR32版に関する記事の目次です。


■TOPPERS/ASP - AVR32版 その1

TOPPERS/ASP - AVR32版 概要

必要なもの

ダウンロード/GitHub


■TOPPERS/ASP - AVR32版 その2

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

開発環境の構築(Eclipse編)


■TOPPERS/ASP - AVR32版 その3

Atmel Software Framework (ASF)とは?

雛形プロジェクトの作成


■TOPPERS/ASP - AVR32版 その4

Atmel Software Framework (ASF)のコピー

ヘッダーファイルのコピー

スタートアップファイル「start.S」のコピーと修正

リンカスクリプト「at32uc3a3_xpld.ld」のコピーと修正

クロック設定の変更

コマンドラインでのビルド


■TOPPERS/ASP - AVR32版 その5

プロジェクトの作成

デバッガとターゲットの配線

プログラムの転送とデバッグ


■TOPPERS/ASP - AVR32版 その6

サンプルプロジェクトの説明

AVR32版カーネルについて

ライセンスについて



なお、Qiitaにも上記の記事を1ページにまとめたダイジェスト版を投稿しました。

こっちの方が読み易いです。

モノがモノだけに、多分悲惨なアクセス数になりそう…。

実際、一連のAVR32関連の記事は海外からの閲覧がほとんどでしたしね~。

日本以外でも「μITRON」って使われているのかしら?

よろしければ参考にしてください。

Qiita

TOPPERS/ASP - AVR32版 - Qiita

Simplicity Studioを使ってみた! その3

前回からの続き です。 このテーマを最初からご覧になる場合は こちら からどうぞ。 「Simplicity Studio」でプログラミング インストールしたSilicon Labs社のマイコン用の統合開発環境「 Simplicity Studio 」で、テストプログラムを動かして...