| 23 | == ビルド == |
| 24 | |
| 25 | ビルド環境のOSはWindowsで、7と10では確認しました。 |
| 26 | ビルドに必要なのは、 |
| 27 | ||Webアプリ||[https://www.microsoft.com/ja-jp/dev/default.aspx Visual Studio 2015]|| |
| 28 | ||mrbc.js||[http://kripken.github.io/emscripten-site/ Emscripten] (SDK Ver.1.37.10)|| |
| 29 | ||mruby||[http://rubyinstaller.org/downloads/ Ruby] (2.3.3 64bit)|| |
| 30 | ||GR-PEACHアプリ||[https://www.renesas.com/ja-jp/products/software-tools/tools/ide/e2studio.html e2studio] (5.3.1)|| |
| 31 | ||GR-PEACHアプリ||[https://gcc-renesas.com/ja/rz/rz-download-toolchains/ arm-none-eabi-gcc] (v16.01)|| |
| 32 | |
| 33 | 以下はリポジトリに含まれています。 |
| 34 | ||mruby||[http://gnuwin32.sourceforge.net/packages/bison.htm bison] (2.4.1)|| |
| 35 | ||!JavaScript minifier||[https://yui.github.io/yuicompressor/ yuicompressor] (2.4.8)|| |
| 36 | |
| 37 | === Webアプリのビルド === |
| 38 | |
| 39 | Visual Studio 2015を使用します。「webapp/webmrbc/webmrbc.sln」を開いてビルドします。C#で書かれたコードはBridge.NETによりJavaScriptにコンパイルされ、「webapp/webmrbc/js」フォルダに「webmrbc.js」が出力されます。Bridge.NETはNuGetパッケージで、Visual Studio 2015のビルド時に自動的にダウンロード、インストールされて、ビルドに使用されます。Webアプリはこのプロジェクトで、デバッグすることが出来ます。 |
| 40 | ビルドが成功するとビルド後のビルドイベントのコマンド実行により、「httpd-fs」フォルダにGR-PEACHに書き込むWebコンテンツがコピーされ、「tools\makefsdata.exe」で「httpd-fs.bin」にFatFSのディスクイメージとして、まとめられます。 |
| 41 | |
| 42 | ビルドの順番はこちらの方を先に行いますが、変更の頻度は低いため説明は後にしました。 |
| 43 | Rubyコードをブラウザ上でmrubyのバイトコードにコンパイルするために「mrbc.js」というファイルがあります。これはmrbcをEmscriptenでJavaScriptにコンパイルしたものです。 |
| 44 | mrubyのビルド環境にEmscriptenのtoolchainを追加してビルドしたものです。 |
| 45 | リポジトリにある「mruby-1.2.0\build_config.rb」は、GR-PEACH向けのビルドのみが有効になっていますが、コメントアウトされた最後のブロックを有効にすることでmrbc.jsをコンパイルできます。=beginから=endまでのコメントアウトされたブロックがmrbc.js用のビルドになります。 |
| 46 | このコメントアウトを戻して、通常のmrubyのビルドと同様にmakeを実行すると「mruby-1.2.0\build\emscripten\bin」に「mrbc.js」が出力されます。他のJavaScriptは「tools\yuicompressor-2.4.8.jar」でミニファイしていますが、mrbc.jsはうまくミニファイ出来ないので、https://jscompress.com/のサイトを利用してミニファイしています。mrbc.jsとmrbc.min.jsは、「webapp\webmrbc」フォルダにコピーしておきます。 |
| 47 | |
| 48 | === GR-PEACH側アプリのビルド === |
| 49 | |
| 50 | Renesasの総合開発環境のe2studioと[https://gcc-renesas.com/ja/ GNU Tools](旧KPIT)のコンパイラ・ツール・チェーン「GNUARM-NONE Toolchain v16.01」を使用します。 |
| 51 | |
| 52 | e2studioのメニュー「ファイル」→「インポート」で、EcnlProtoToolを展開したフォルダを指定します。以下のプロジェクトが表示されるので、すべて取り込みます。 |
| 53 | ||asp3_dcre||TOPPERS/ASP3+mbed||libkernel.a|||| |
| 54 | ||ntshell||Natural tiny shell、FatFS、Socketなど||ntshell.bin||asp3_dcreに依存|| |
| 55 | ||onigmo-5.15.0||mruby用正規表現ライブラリ||libonigmo.a|||| |
| 56 | ||mrbgems||mruby拡張機能||-||ファイル管理のみ|| |
| 57 | ||mruby-1.2.0||mruby||libmruby.a||onigmo-5.15.0、mrbgemsに依存|| |
| 58 | ||tcc-0.9.26||Tiny C compiler||libtcc.a|||| |
| 59 | ||prototool||GR-PEACH側アプリ||prototool.bin||ntshell、mruby-1.2.0、tcc-0.9.26に依存|| |
| 60 | ||tools||ビルドに必要なコマンド||-||ファイル管理のみ|| |
| 61 | e2studioですべてのプロジェクトをビルドします。最終的には「prototool\Debug\prototool.bin」が出力され、これをGR-PEACHに書き込みます。 |
| 62 | デバッグは、ntshellとprototoolで出来ますが、それぞれに登録されたソースコードのみがシンボルデバッグできます。 |
| 63 | |
| 64 | == 使用しているオープンソース == |
| 65 | |
| 66 | === Webアプリ === |
| 67 | |
| 68 | === GR-PEACH側アプリ === |
| 69 | |