03.T-Kernel(ROM版)をe2studioでビルド&デバッグ ===================================== e2studioの起動 -------------- 「[[develop:rtk_kernel:rtk_kernel-rzt1:build:build-e2studio:tmonitor-e2studio-build]]」記事を参照。 T-Kernelのコンパイル -------------------- `rtk_kernel`リポジトリには、e2studioプロジェクト情報も含み、「ビルド構成」も定義済みであるので選択する。 (もし新しくビルド構成を定義する場合は、「[[develop:rtk_kernel:rtk_kernel-rzt1:build:build-e2studio:e2studio-project-setup]]」記事を参照) ### 1)ビルド構成をアクティブにする 画面左側のプロジェクト・エクスプローラからプロジェクト(`rtk_kernel`)を右クリック ビルド構成 > アクティブにする から「`rzt1_kernel_debug`」ビルドを選択。 {{develop:yt-kernel:ytkernel-rzt1:build:build-e2studio:tk-e2studio-20.png}} ### 2)ビルドの実行 画面左側のプロジェクト・エクスプローラで、プロジェクト(`rtk_kernel`)を右クリック。 「プロジェクトのビルド」を実行。 暫くすると右下コンソール画面に完了メッセージ表示(環境にもよるが数分位かかる) * 本コマンド実行で、ビルドディレクトリで「make」コマンドが実行されている。 * ビルドしたオブジェクトファイルを消すには「プロジェクトをクリーンにする」を実行。この場合は「make clean」コマンドが実行されている。 デバッグの実行 ------------ ビルド完了してバイナリーファイルの所にオブジェクトファイルが生成されたら、**ROM実行版**をJ-Link経由で基板に転送&実行する。 `rtk_kernel`リポジトリには、「デバッグ構成」も定義済みであるので選択する。 画面左側のプロジェクト・エクスプローラ中の、バイナリオブジェクトファイル名を右クリック。 デバッグ > デバッグの構成 で Renessas GDB Hardware Debugging の「`rzt1_kernel-rom.rom`」を選択し[デバッグ]ボタンを押すとJ-Link経由でプログラム転送され実行開始する。 1. この時、ROM実行版のT-Monitor(`tmonitor.mot`)をROMに書いておく必要がある。 2. この時、ROM実行用のConfigデータ(`rominfo-rom.mot`)をROMに書いておく必要がある。 3. デバッグ開始するとリセット実行されT-Monitorが起動するので「`BD`」コマンド入力してT-Kernelに分岐しデバックする。 {{develop:yt-kernel:ytkernel-rzt1:build:build-e2studio:tk-e2studio-31.png}} * 一度実行するとデバックアイコン(虫)に、履歴が記録されるので、そこから実行できる。 ### デバッグ開始時にリセット実行が必要!! RZ/T1ではシリアルフラッシュROMからブートロードも実行するにはリセット信号が必要。([[technology:cpu:rzt1:rzt1-users-manual|ハードウェアマニュアル]]3.5参照) 「デバッガ構成」の設定で、Debuggerタブ > Connection Setting > 接続 で、[実行前にリセット]を「はい」にしておく必要がある {{develop:yt-kernel:ytkernel-rzt1:build:build-e2studio:tk-e2studio-32.png}} 起動画面 -------- メンテポートの表示画面。 {{develop:yt-kernel:ytkernel-rzt1:build:build-e2studio:yt-kernel-rzt1-01.png}} オープニングメッセージが表示されT-Kernel起動。この例では、外部アプリの実行コードが認識できないので、サンプルアプリ(簡易シェル)の入力待ちとなっている。 補足 ---- * ビルド実行時に「`[ERROR] No toolchain set or toolchain not integrated.`」と表示されるが、気にしなくてもよいみたい。 {{tag>rtk_kernel}}