11

次の学期では、コース ラボの教材の一部として、Motorola 68K プロセッサ用の基本的なオペレーティング システムを作成する必要があります。

そのプロセッサを搭載した基本的なハードウェア セットアップの Linux エミュレータはありますか? そのため、パートナーと私は、ボードなどを物理的に再起動する代わりに、コンピューターでより迅速にデバッグできます。

テスト駆動開発の手法をOS開発に応用できないか?コードはほとんどがアセンブリと C です。これを試運転しようとする際の主な問題は何ですか? それを行う方法に関するアドバイスはありますか?

4

6 に答える 6

10

異なるバージョンの 68000 プロセッサを搭載した従来の Amiga コンピュータ用のオペレーティング システムを開発することをお勧めします。Amiga コンピューターは完全なコンピューターであり、非常によく文書化されているため、これは良い演習になると思いました。

UAE(およびWin-UAE)と呼ばれるエミュレーターがあり、非常に正確で、さまざまな種類のプロセッサー(68000〜68060)およびその他の機能で構成できます。通常は、そのための ROM も取得する必要がありますが、OS を自分で開発するので、その必要はありません。

必要なツールは、Cygwin (Windows での開発用) または Linux コンピューターのいずれかです。次に、クロスコンパイラが必要になります。これには、C コンパイラとアセンブラの両方が含まれます。画面の色を変えたり、電源LEDを点滅させたりする簡単なROMを作成するためのテンプレートです。UAE が現在のディレクトリで検索するファイル「kick.rom」が作成されます。

68000 命令セットのリファレンスは、以下のリンクにあります。アセンブラ プログラムが異なれば、使用する構文と命令セットも若干異なる場合があることに注意してください。

実際のハードウェアでオペレーティング システムのデモを行う必要がある場合は、最新の Amiga クローンが Ebay などで販売されています。「ミニミグ」で検索してください。

更新: 現在、 AROSは物理的な Amiga だけでなく、UAE でも動作します。

参照:

[UAE]
[WinUAE]
[Cygwin]
[クロスコンパイラ]
[68000リファレンス]

于 2009-10-26T13:04:57.993 に答える
6

m68k エミュレーションにはQEMUをお勧めします。

(QEMU に必要なシステム エミュレーターは「Coldfire」です。これは、Freescale が m68k アーキテクチャーの後継と呼んでいるものです)。

于 2009-10-12T00:31:08.363 に答える
5

このプロジェクトは確かに tdd できます。最初に、getch() や printf などの単純なルーチン呼び出しでハードウェアへのすべてのアクセスを分離します。次に、テスト入力とチェック出力を提供する単純なモックを提供できます。その後、gcc、msdev、または xcode を使用して、プロジェクトの 90% 以上を PC に書き込むことができます。デカップリング ルーチンにある程度の自信が持てると、ハードウェアへのアクセスはほとんど必要なくなり、モックが期待どおりに動作していることを時折確認するだけで済みます。

特定のボトル ​​ネックが見つかるまで C を使用し、それからアセンブラーに頼ります。

于 2009-10-12T07:06:58.233 に答える
3

Easy68k http://www.easy68k.comシミュレーターが役に立つかもしれません。

于 2012-01-16T16:43:33.880 に答える
3

C-One プロジェクト、Minimig (Mini Amiga) プロジェクト、Natami (Native Amiga) プロジェクトなど、ハードウェアでシミュレートされた 68000 cpus を使用する新しいプロジェクトがいくつかあります。これらは新しい 68k 互換の Amiga システムです。

C One、再構成可能なコンピューターMinimig、開発中、プロトタイプが完成: FPGA ArcadeNatami

于 2010-03-17T12:10:14.243 に答える
1

uClinuxプロジェクトはm68kボードで開始されました。彼らはあなたが必要とするツールを持っているかもしれません...

于 2009-10-12T00:56:58.753 に答える