Linux での Motorola 68000 のプログラミング環境
質問
皆さん、こんにちは。
今学期はマイクロコンピュータの構造と応用コースを受講しており、Motorola 68000 シリーズの CPU/ボードを使用してプログラミングを行っています。コースのシラバスでは、Easy68K や Teesside Motorola 68000 アセンブラ/エミュレータなどを自宅で実行してプログラムをテストすることを推奨しています。
私は教授に、x64 Linux を実行していることを伝え、コースワークを完了するにはどのような環境が必要か尋ねました。彼は、最も使いやすい環境は、提案された 2 つのアプリケーションのうちの 1 つがインストールされた Windows XP 32 ビット VM であるが、自宅で書いたものをテストできる限り、私が何を使用するかはあまり気にしない、と述べました。
そこで私は、コードをテストできる Linux 用の何らかのエミュレータや環境が存在するかどうか、また、Linux でコードを作成してテストする場合にどのような注意事項に遭遇するかについて尋ねています。
また、編集は Vim で行う予定で、おそらく問題はありませんが、68000 アセンブリ用のエディタに関する洞察があれば教えていただきたいです。
ありがとう!
編集: 明確にしておきますが、ボードに Linux をインストールするつもりはまったくありません。自宅のマシンでプログラムし、コードをローカルでテストしてから、それをボードに持ち込み、グレーディング/実行したいと考えています。
解決
良いニュースは、Windows GUIをwxWidgetsに置き換えることで、Easy68Kの移植性を高めることに何らかの関心があるように見えることです。悪いニュースは、そもそもEasy68Kを書いた教授のための学生の最終プロジェクトだということです。ストーリーについては、このフォーラムの投稿をご覧ください。
現在のソースキットを作成してみてください。今では十分に機能するかもしれません。
GCCは、GCCが存在する限り、IIRCとして68Kファミリをターゲットとしてサポートしています。もちろん、Gnuアセンブラの構文はMotorolaの構文とは大きく異なります。
編集:編集者については、プログラマーに優しいものであれば何でもできます。結局のところ、コードの色付けはアセンブリ言語にとってそれほど有用ではありません。 Vimは問題ないはずです...私はその日、viで多くのアセンブリを書きました。
他のヒント
Easy68k 用のポートを書きました。学校が忙しくて、あまり取り組む時間がありませんでした。また、68k アセンブリに実際にどの程度の関心があるのかもわかりません。十分な関心が示されれば、また取り上げるかもしれません。
複数のCPU用のLinuxアセンブラは次のとおりです。 http://xi6.com/projects/asmx/
〜/ bin / asmx -C 68000 -b 0 -o out.bin-in.asmを使用して実行
残念ながらエミュレータはありませんが、Sega MegaDrive / Genesis開発に使用しているので、Gens / GS Emulatorを使用しています。
QEMU をご覧になりましたか? M68k(Coldfire)の完全なシステムエミュレーションを行うと主張しています。
ここでコンパイルする68kエミュレータを示します:
gcc -lm -I. make68k.c
http://caesar.logiqx.com/php/library.php? id = turbo68k
実際にはまだasmコードをテストしていませんが、コンパイルはします。 readme.txtも読む必要があります。
...そして、上限を下限に変換する必要がありました。
VirtualBox OSEは無料で、Windows XPを実行している私にとっては本当にうまくいきます。 2つのドライブをマップし、Linux側で開発を行い、反対側の68Kエミュレーターで実行できます。プログラミングだけでなく、多くのタスクでこれを定期的に行っています。
男.. 68k ...思い出!!
私は大学で同様のコースを受講しており、m68kも勉強していますが、かなり遅れてはいますが、ここに私の発見があります(他の人が感謝するかもしれません):
-
Easy68kは、2台のモニターを使用しない限り、Wineを使用してGNU / Linuxで非常にスムーズに実行されます。
-
Easy68kを捨ててGNU / Emacsを使用してコードを記述することができるように、仮想Debian / 68k環境をセットアップすることができました。このことについてのメモは次のとおりです。 http://santoro.tk/blog/?p=346。 注:この方法には主な欠点があります:カーネル空間でコードを書いている場合を除き(これらの種類のコースではほとんどありません)、ユーザーモードで常にm68kを使用します。 U.標準GNU / Linuxツールチェーンはこちら(binutilsなど)で入手できます。
68000(主にAtari ST)のコードを作成し、VASMを使用します( http://sun.hasenbraten.de / vasm / )を選択したクロスアセンブラとして。 Linux、Mac、およびWindowsのビルドが存在します。