これからH8を勉強しようか考えているものです。
H8用に書いたソースコードは
gcc などでコンパイルすれば
普通のパソコン(linux)でも使えるのでしょうか。
またH8用の自作OSを
linuxで仮想環境として立ち上げることは可能でしょうか。
よろしくおねがいします。
H8について
Re: H8について
プログラムを違う環境で動かせることを「互換性がある」と言います。
互換性には大きく2種類あります。バイナリ互換性とソースコード互換性です。
バイナリプログラム(機械語のプログラム)は基本的に、CPUが変われば動かなくなりますので、H8と普通のパソコン(x86系CPU)ではバイナリ互換性はありません。
そこで、残るはソースコード互換性です。
原則として、H8とパソコンではソースコード互換性もありません。
だって、普通のパソコンにはH8のようにIOピンなどは付いていませんからね。それを前提にしたプログラムはパソコンで動くわけがありません。
しかし、C言語規格の範囲内で書いたプログラムであれば、ソースコード互換性があります。
例えば、入出力はH8のIOピンを直接操作しないでprintfなどの出力用関数だけを使う、H8のタイマー機能は使わない、などを頑張ると、ソースコード互換性を達成できる可能性があります。
次の質問について。
linuxでH8用のOSを立ち上げるためには、H8のCPUとその周辺回路を模擬できるエミュレータが必要です。
そういうエミュレータがあるかは知りません。
ただ、そういうエミュレータを作るのはコストが高いので、存在しないのではと思います。
マイコンのエミュレータを作るには、CPUの模擬だけではなくて周辺回路(例えばシリアル通信回路とかAD変換機とか)も模擬しなければならず、しかもどんな周辺回路が存在するかはH8の種類ごとに変わるので、エミュレータを作るのは大変です。
互換性には大きく2種類あります。バイナリ互換性とソースコード互換性です。
バイナリプログラム(機械語のプログラム)は基本的に、CPUが変われば動かなくなりますので、H8と普通のパソコン(x86系CPU)ではバイナリ互換性はありません。
そこで、残るはソースコード互換性です。
原則として、H8とパソコンではソースコード互換性もありません。
だって、普通のパソコンにはH8のようにIOピンなどは付いていませんからね。それを前提にしたプログラムはパソコンで動くわけがありません。
しかし、C言語規格の範囲内で書いたプログラムであれば、ソースコード互換性があります。
例えば、入出力はH8のIOピンを直接操作しないでprintfなどの出力用関数だけを使う、H8のタイマー機能は使わない、などを頑張ると、ソースコード互換性を達成できる可能性があります。
次の質問について。
linuxでH8用のOSを立ち上げるためには、H8のCPUとその周辺回路を模擬できるエミュレータが必要です。
そういうエミュレータがあるかは知りません。
ただ、そういうエミュレータを作るのはコストが高いので、存在しないのではと思います。
マイコンのエミュレータを作るには、CPUの模擬だけではなくて周辺回路(例えばシリアル通信回路とかAD変換機とか)も模擬しなければならず、しかもどんな周辺回路が存在するかはH8の種類ごとに変わるので、エミュレータを作るのは大変です。
Re: H8について
ご丁寧にありがとうございます。
結局マイコンボードを探して勉強してみることにします。
方針が決まったので解決しました。
beatleさんありがとうございます。
結局マイコンボードを探して勉強してみることにします。
方針が決まったので解決しました。
beatleさんありがとうございます。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: H8について
H8のエミュレータはありますよ。
「H8エミュの詳細情報 : Vector ソフトを探す!」
http://www.vector.co.jp/soft/winnt/util/se450954.html
「H8/300H エミュレータ プロジェクト日本語トップページ - SourceForge.JP」 こっちは完全に止まっているので状況不明。
http://sourceforge.jp/projects/h8-3048emulator/
wineを使えば動くかも。
「H8エミュの詳細情報 : Vector ソフトを探す!」
http://www.vector.co.jp/soft/winnt/util/se450954.html
「H8/300H エミュレータ プロジェクト日本語トップページ - SourceForge.JP」 こっちは完全に止まっているので状況不明。
http://sourceforge.jp/projects/h8-3048emulator/
wineを使えば動くかも。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。