オープンソース・ソフトウェアの開発とダウンロード

gdbで動作させるの表示

カテゴリ(タグ)ツリー

ファイル情報

カテゴリ(タグ)
ルート
ファイル名
gdb-run.html
最終更新
2002-10-08 02:03
種類
HTML
作成者
佐藤 嘉則
概要
gdbのシミュレータを使って、uClinux-2.4を動かす方法です。
言語
日本語
翻訳する

uClinux-2.4カーネルをGDBシミュレータで動かす

uClinux-2.4.xカーネルを、GDBのシミュレータで動かすための手順です。

事前の準備

h8300-elf Toolchainが必要です。 Project Documentation の"h8300-elf toolchain"を読んで、gcc/binutils/gdbを作ってください。

gcc/gdbのパッチは必須です。


カーネルの構築

gdbの制限により、rootdiskのイメージをカーネルにリンクする必要があります。
genromfsで作成したromdiskのイメージをh8300-elf形式に変換して、 rootimage.oという名前でトップディレクトリに配置してください。 make cleanで削除されるので、注意してください。
セクション名は、arch/h8300/platform/h8300h/generic/rom.ldを参照してください。

準備が出来たら、通常の手順でカーネルを作ってください。
コンフィグレーション時、以下の項目を"y"に設定してください。

  • CONFIG_BOARD_GENERIC
  • CONFIG_H83007
  • CONFIG_ROMKERNEL
  • CONFIG_GDB_EXEC
CONFIG_GDB_MAGICPRINTを"y"に設定すると、 printkの出力にgdbの標準出力サービスを使います。

makeする時、ARCHとCROSS_COMPILEの指定を忘れないようにしてください。
普通は、"ARCH=h8300 CROSS_COMPILE=h8300-elf-"です。


実行する

以下の手順で実行してください。
  1. ターミナルを二つ用意してください。gdbとシリアル端末で使います。
  2. $ h8300-elf-gdb linux で、gdbを起動します。
  3. (gdb) target sim で、シミュレータを選択してください。
  4. SCI0 = /dev/pts/? と、SCIに接続された擬似端末名が表示されるので、 もう一つのターミナルで端末プログラムを起動して、 指定された擬似端末を開いてください。
    例 minicom -p /dev/pts/?
  5. (gdb) load で、プログラムをロードしてください。
  6. (gdb) run で、実行してください。
  7. 端末プログラムから、適当に操作してください。
  8. 止める時は、gdbにSIGINTを送ってください。

Yoshinori Sato
Last modified: Tue Oct 8 01:59:37 JST 2002