Motorola XC68HC05

2025-11-03 22:24 — asano

テーマ

カテゴリー

なにか面白いものはないかとeBayを覗いていて、こんなものを見つけてしまいました。


MotorolaのXC68HC05E0FNです。

製品版ではないことを示す「XC」プレフィクス、以前取り上げたXC68030もそうでした。これには更に「PROTOTYPE」のマーキングまでありますね。

実は今回入手したのはXCが4つで、デートコードが1年ほど離れたものもあったのですが、どういう状況だったのでしょう? 解決できない問題があって「MC」にできないまま量産に入ったとか?


裏側を見るとマレーシア製であることがわかります。

さて、この68HC05ですがソフトウェア的には6805の上位互換のようです。両者のデータシートを見比べると以下の命令が追加されていました。

  1. MUL
    MC68HC05で追加された命令
    符号無し8ビット同士の乗算命令です。
  2. STOP
    MC146805で追加された命令
    実行を停止して低消費電力モードになります。リセットまたは外部割込みによって実行を再開します。
  3. WAIT
    MC146805で追加された命令
    実行を停止して低消費電力モードになりますが、STOPと異なり内部タイマは動作し続けます。タイマ割り込みによっても実行を再開できます。

これならソフトウェアはほぼ同じかなと安心していたら……

スタックポインタの有効ビット数が違っていました。このファミリのスタックポインタは下5~6ビットしか有効ではなく、上位ビットは固定されています。そのためスタックとして使えるアドレスは以下の通り。

MC6805P2 $61~$7F
MC146805E2 $40~$7F
MC68HC05E0 $C0~$FF

MC6805P2で$60がなぜ使えないのかは不明、データシートを読み込めばわかるのかもしれませんが……

とはいえ実際にこの違いによって困ることはあまりなさそうです。なぜならスタックポインタを読むことも書くこともできない(リセットだけは可能)から、スタックをメモリ空間とは別に持っている一部のプロセッサと同じような使い方しかできません。

一応メモリ空間上にはあるのでスタックエリアの全ダンプは可能ですが、どこがスタックトップかわからないのであまり意味は無いでしょう。

これとMC146805E2は外部バスあるのでEMILY Boardで動かしてみたいですね。

参考文献・関連図書
MC68HC05E0データシート, Freescale semiconductor.
MC6805P2データシート, Motorola.
MC146805E2データシート, Motorola.

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。