ページへ戻る

− Links

+ Comments

 印刷 

hikarupsp​/HariboteOSwithXCode :: OSASK計画

osaskwiki:hikarupsp/HariboteOSwithXCode

ページ内コンテンツ
  • HariboteOSをXcode4で開発しよう!
    • Xcodeって何?
    • こんな感じになります
      • できること
      • できないこと
    • 下準備
      • Xcodeをダウンロード・インストールする。
      • XcodeのCommandLineToolsをダウンロード・インストールする。
      • QEMUをコンパイル・インストールする。
      • tolsetOSX(Akkieさん作成)をダウンロード・配置
    • Xcodeでの作業
      • HariboteOSプロジェクトを作成
      • z_toolsをプロジェクトディレクトリに配置
      • helloos5を追加
      • 文字コードのUTF-8化
      • MakefileのIndentUsingをTabsに変更。
      • Makefileの書き換え
      • SchemeのRun設定を変更し、RunでQEMUが実行されるようにする

HariboteOSをXcode4で開発しよう! anchor.png[1]

Page Top

Xcodeって何? anchor.png[2]

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

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

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

Page Top

できること anchor.png[5]

harib27f相当の機能ほぼ全て

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

Xcode由来の機能

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

できないこと anchor.png[6]

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

Page Top

下準備 anchor.png[7]

Page Top

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

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

Page Top

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

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

Page Top

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

参考:

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

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

Page Top

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

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

Page Top

Xcodeでの作業 anchor.png[17]

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

Page Top

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

Other->Empty
HariboteOS

Page Top

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

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

Page Top

helloos5を追加 anchor.png[20]

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

Page Top

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

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

Page Top

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

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

Page Top

Makefileの書き換え anchor.png[23]

  • 複数行にまたがる部分で、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[24]

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

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