ページへ戻る

+ Links

+ Comments

 印刷 

hikarupsp​/HariboteOSwithXCode :: OSASK計画

osaskwiki:hikarupsp/HariboteOSwithXCode

Page Top

Xcodeって何? anchor.png

  • Macintoshでいう、WindowsのVisualStudioのようなもの。統合開発環境(IDE)。
  • 多くの人はiPhoneアプリ開発をこれで行っている。
  • 無料、そして多機能(コード補完など)。
  • だけど英語。そしてサイズが大きい(Kさんには申し訳ない…)。
  • Apple純正なので、Macでの使い勝手がいい。
Page Top

こんな感じになります anchor.png

harib27fを動作させてみた画像(画像がこのwikiに添付できなかったので、CHNOSProjectWikiの添付ファイルへのリンクになっています)。
http://chnosproject.sourceforge.jp/wiki147u/index.php?plugin=attach&pcmd=open&file=scrshot.png&refer=CHNOSProject/CHNOS

Page Top

できること anchor.png

harib27f相当の機能ほぼ全て

  • mmlplayもきちんと聞こえます。(QEMU: -soundhw all)
  • すべての動作可能なアプリは動作するみたい(当たり前といえばあたりまえ)

Xcode由来の機能

  • コンパイルエラーの発生した行のハイライト表示(すごく便利)
  • 関数名・変数名補完(引数補完まではできないみたい)
Page Top

できないこと anchor.png

make install相当の機能(make installができないだけで、方法は他にいくらでもある)

Page Top

下準備 anchor.png

Page Top

Xcodeをダウンロード・インストールする。 anchor.png

時間がかかります。とても…。

Page Top

XcodeのCommandLineToolsをダウンロード・インストールする。 anchor.png

makeやgccその他を使うのに必要です。
PreferencesのDownloadsからインストールできます。

Page Top

QEMUをコンパイル・インストールする。 anchor.png

参考:

  1. http://sweet-flag.blogspot.jp/2012/04/lion-qemu-0141.html
  2. http://mikelev.in/2012/10/qemu-mac-os-x-success/
  3. http://mxcl.github.io/homebrew/
  4. http://stackoverflow.com/questions/9575989/install-autoreconf-on-osx-lion

主に1,2番を参考に行いました。
私の場合は、LLVM-GCCのままで、Homebrewを使用して、各種のコンパイルに必要なコマンドを入れつつ、コンパイルすることができました。
途中でautoreconfが無いと怒られたので、4番を参考に入れました。

Page Top

tolsetOSX(Akkieさん作成)をダウンロード・配置 anchor.png

http://shrimp.marokun.net/osakkie/wiki/tolsetOSX/
diskimage内のz_toolsをHariboteOSのプロジェクトディレクトリにコピーする。(詳細は後述。)

Page Top

Xcodeでの作業 anchor.png

(まだ作成中...画像が添付できるようになったら、もう少し分かりやすくなると思います。)

Page Top

HariboteOSプロジェクトを作成 anchor.png

Other->Empty
HariboteOS

Page Top

z_toolsをプロジェクトディレクトリに配置 anchor.png

makeへのシンボリックリンクをz_tools内に作成。(Command+Option+ドラッグ&ドロップ)

Page Top

helloos5を追加 anchor.png

言われるがままにExternalBuildSystemProjectとして追加。ご親切にmakeへのパスまで入力済み!

Page Top

文字コードのUTF-8化 anchor.png

右側のTextSettingsから、TextEncodingをShift JIS(下の方にある)にして、質問されたら「Reinterpret」を選択(まずはエンコード解釈を正しく指定する)。
次に、UTF-8を選択し、今度はConvertを選択(文字コードを変換)。
改行コードはどちらでもOK。はりぼてOSもそう作ってあるし。
Makefileも同様にUTF-8にしておく。

Page Top

MakefileのIndentUsingをTabsに変更。 anchor.png

Makefileは行頭がタブでないといけないルールになっています。
Xcodeでは、タブがスペース何個の環境であっても、ソースがきれいに表示されるよう、タブはスペースに変換されるのが標準設定ですが、それだとMakefileが正しく動作しないので、変更しておきます。

Page Top

Makefileの書き換え anchor.png

  • 複数行にまたがる部分で、Windowsでは¥マークを使っていたものを、バックスラッシュに直します。これは、C言語のエスケープシーケンス(¥nとか)でも同様です。(Option+¥で入力できます。)
  • パス区切りが¥になっている部分をスラッシュに変更します。
  • QEMUの実行(runのところ)は、QEMUのパスを指定して直接実行するようにします。なので、imgファイルのコピーは必要ないので削除します。
    run :
    	make img
    	/usr/local/bin/qemu-system-x86_64 -fda helloos.img -boot a -m 128
  • installはまだ試していませんが、ddコマンドを使用すれば問題なく行えるはずです。しかし、(umountコマンド実行時に)スーパーユーザーになる必要があるはずなので、makeから実行するのは難しいかもしれません。
Page Top

SchemeのRun設定を変更し、RunでQEMUが実行されるようにする anchor.png

  • 実行ファイルにz_tools内のmakeのシンボリックリンクを指定。
  • 実行ディレクトリを$(SRCROOT)に設定、変数展開も指定。
  • 引数にrunを指定。

Last-modified: 2013-06-15 (土) 04:17:42 (JST) (1979d) by lina