コンソール ビルド
================
「[[develop:rtk_kernel:rtk_kernel-rpi:start]]」を、Windowsのmsys2環境のコンソールでのビルド例を説明する。MacやLinuxでも同様なのでそれぞれの環境に読み換えてください。
準備
----
「ビルド環境構築」と「プロジェクトの取得」は、「[[develop:rtk_kernel:rtk_kernel-rpi:build:start]]」記事を参照して行う。
### 環境変数の設定
コンパイル実行するには、下記環境変数が設定されている事が必要。
^ 環境変数 ^ 説明 ^ 備考 ^
| `BD` | T-Kernelソースのベースパス | |
| `GNU_BD` | ARMコンパイラのベースパス | |
`$HOME/.bashrc`に下記設定を追記しておくと便利。本プログラムは `C:¥work¥` にgitで取得したものとする。
export BD=/C/work/tk-optsys/TK/rtk_kernel/tkernel_source
export GNU_BD='/C/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update'
コンパイル手順
--------------
T-Monitor, config, T-Kernel の3つのファイルを作成する。
### T-Monitorのコンパイル
下記フォルダにて `make` を実行する事でコンパイルする。
^ ビルドフォルダ ^ 機種 ^ 備考 ^
| `$BD/monitor/tmmain/build/rpi_bcm283x` | Raspberry Pi Zero/1 | |
| `$BD/monitor/tmmain/build/rpi_bcm283x.rpi2` | Raspberry Pi 2 | |
| `$BD/monitor/tmmain/build/rpi_bcm283x.rpi3` |Raspberry Pi 3 | |
* `.debug`ついたフォルダでコンパイルするとデバック情報を付加する
* `make clean`で生成されたファイルを削除
生成されるT-Monitorオブジェクトファイル
^ ファイル名 ^ 説明 ^ 備考 ^
| `tmonitor` | elfファイル | |
| `tmonitor.bin` | バイナリファイル | ←これを利用 |
| `tmonitor.mot` | Sフォーマットファイル | |
### config情報のコンパイル
下記フォルダにて `make` を実行する事でconfigファイルを作成する。
^ ビルドフォルダ ^ 機種 ^ 備考 ^
| `$BD/config/build/rpi_bcm283x` | Raspberry Pi Zero/1 | |
| `$BD/config/build/rpi_bcm283x.rpi2` | Raspberry Pi 2 | |
| `$BD/config/build/rpi_bcm283x.rpi3` | Raspberry Pi 3 | |
* `make clean`で生成されたファイルを削除
生成されるconfigオブジェクトファイル
^ ファイル名 ^ 説明 ^ 備考 ^
| `rominfo-rom` | elfファイル | |
| `rominfo-rom.bin` | バイナリファイル | ←これを利用 |
| `rominfo-rom.mot` | Sフォーマットファイル | |
### T-Kernelのコンパイル
下記フォルダにて `make` を実行する事でコンパイルする。
^ ビルドフォルダ ^ 機種 ^ 備考 ^
| `$BD/kernel/sysmain/build/rpi_bcm283x` | Raspberry Pi Zero/1 | |
| `$BD/kernel/sysmain/build/rpi_bcm283x.rpi2` | Raspberry Pi 2 | |
| `$BD/kernel/sysmain/build/rpi_bcm283x.rpi3` |Raspberry Pi 3 | |
* `.debug`ついたフォルダでコンパイルするとデバック情報を付加する
* `make clean`で生成されたファイルを削除
生成されるT-Kernelオブジェクトファイル
^ ファイル名 ^ 説明 ^ 備考 |
| `kernel-rom.rom` | elfファイル | |
| `kernel-rom.bin` | バイナリファイル | ←これを利用 |
| `kernel-rom.mot` | Sフォーマットファイル | |
### コンパイルの実行例
$ cd $BD/monitor/tmmain/build/rpi_bcm283x.rpi2
$ make
$ cd $BD/config/build/rpi_bcm283x.rpi2
$ make
$ $BD/kernel/sysmain/build/rpi_bcm283x.rpi2
$ make
{{tag>rtk_kernel}}