マイコン

マイクロプロセッサ・マイクロコントローラ等です。

RX220ボード

2023-04-18 23:15 — asano

テーマ

カテゴリー

マクロアセンブラASのRXコードジェネレータは完成し、無事に本家にマージされました。

次は書き込み環境を用意しなくてはなりません。USB接続して純正のツールを使えばすぐにできるはずなのですが、なんか登録しないとツールのダウンロードできないみたいですし、独自にアセンブラも用意してしまったので書き込みも自力でやろうかと考えています。シリアルの方が簡単そうなので接続のための基板でも作ろうと秋月電子通商のサイト眺めていたら...


RX220のボードも見つけてしまい、訳アリ品(スイッチが逆マウント)で安かったこともあり買ってしまいました。

逆マウントといってもONの向きが逆なのと1,2が入れ替わるだけなのでわかって使えばそのまま使用可能です。

RX621と異なり浮動小数点演算命令はありませんが、5V動作可能という点が個人的には嬉しいところです。

Intersil IM6100

2023-04-14 23:47 — asano

テーマ

カテゴリー

HD1-6120があるのでどうしてもというわけではなかったのですがこれも買ってしまいました。


IntersilのIM6100AIPL、1984年製ですかね。

ミニコンPDP-8の命令を実行できる12ビットのプロセッサです。PDP-8の製造元であるDECのVT78に使われたことからもその互換性は折り紙付きと言えるでしょう。

RXの命令を眺めて

2023-04-01 11:56 — asano
カテゴリー

アセンブラを書いているとどんな命令があるのか全体が見えてきます。

アセンブリ言語で書いても同じではと思うかもしれませんが、その場合はこんな命令無いのかなと探しに行くことはあってもどんな命令があるのか見ることはあまりないように思います。少なくとも私はそうで、新しいプロセッサを初めて触るときはニーモニック一覧を眺めて使い慣れたプロセッサの命令に相当するのはどれかといった探し方をしてしまいます。

そうすると汎用的な命令はわかりますが、知らなくてもプログラムは書けるけど使えば便利(速い)命令は置き去りになります。

一方でアセンブラを書いていると全部の命令に一通り目を通すことになります。動作は知らなくても書けますが、マニュアルに一緒に載っていれば目に入りますし、今回のRXのように別になっていても気になって調べてしまいます。まぁ好奇心の少ない人が仕事として黙々とやったらだめかもしれませんが......

そんなわけでRXの命令を見ているとつくづくC言語(とその派生)を意識した命令セットだなぁと思えるものがあります。

RX621ボード

2023-03-16 21:36 — asano

テーマ

カテゴリー

秋月に寄ったらルネサスRX621のボードが安かったんで深く考えずに買ってしまいました。


ハンダブリッジをリワークした訳アリ品ということで1000円でした。マイコン単体より安いです。

開発セットではないので基板1枚だけでソフトウェアなどは一切ないですが、Universal Monitorの移植をしたいだけなので問題ありません。


ラベルでよく見えないのでパッケージから取り出してみました。RX621マイコンと必要最小限のパーツを搭載したという感じですね。

H8/532ボード(ソフトウェア編)

2023-02-20 14:26 — asano

ボードが出来たら動作確認です。

まずはφに1/2のクロック(8MHz)が出てくるのを確認します。これで電源が正しく供給され、デバイスも生きているらしいことがわかります。

続いてバスにLED繋いだ状態で短い無限ループを実行してみます。最短2バイトでループできますが、アドレスバスのLEDを見ているとかなり先(4バイト?)までプリフェッチしているらしいのがわかります。

ここまで来たらいつものようにUniversal Monitorの移植に入ります。

最初はコンソールとしてEMILY Boardの仮想UARTで書き始めましたが、文字列表示までできたところで内蔵SCIにも対応しました。日立のSCIは共通なのでH8/300用をそのまま移植して動きました。

H8/300とH8/500は同じH8ファミリで似ていますが、大きく異なる点もあり同一ソースから条件アセンブルは無理と思います。

H8/532ボード(ハードウェア編)

2023-02-18 23:32 — asano

テーマ

カテゴリー

PLLが途中ですが、並行して作っていたマイコンボードが動き始めましたのでそちらを取り上げようと思います。


H8シリーズの最初のH8/532のボード、もちろんEMILY Boardで動かします。

幸いノンマルチプレクスバスなので通常のユニバーサル基板を使用します。配線も一対一接続なので厄介なところはありません。

一応未使用ポートをピンヘッダに出して、SCIもTTL-232R-5Vを接続できるようにしてあります。

MC68EC020

2023-01-22 23:11 — asano

テーマ

カテゴリー

MC68030, MC68040, MC68060にはMMUやFPUの有無によってMC68EC030などの廉価版が存在します。MC68020には外せるユニットがないので廉価版は無いと思っていましたが...


MC68EC020はありました。これは1999年製の16MHz版、日本製なんですね。

MC68020との機能的な違いはメモリ空間が16MBしかないことです。

機能以外ではパッケージがプラスチックPGAになっています。

TMPZ8003

2022-12-16 17:02 — asano

テーマ

カテゴリー

前回無事にZ8001が動作したわけですが、あれは以前中国から買ったもので念のため製作と並行して国内でZ8003も調達していました。


東芝製のTMPZ8003P-6、Z8003のセカンドソース品です。

Z8003というのはZ8001を仮想記憶対応したもので、MC68000に対するMC68010のようなものです。同様にZ8002に対するZ8004というのもありますが、セグメント無しの仮想記憶という需要はあまりなかったためか見かけませんね。

アドレスエラー・バスエラー (その4)

2022-12-04 21:46 — asano
カテゴリー

アドレスエラー・バスエラーについて今度こそ終わりにするつもりです。

MC68040

MC68040からは大きな方向転換があったように感じます。

複雑度は増しているはずなのにスタックに積まれる情報は減っているのです。前にもMC68010の判別(補足)に書きましたが、命令の再開を諦めて頭からやり直す方針のようです。

まずはアドレスエラーの場合です。