「Linux/M32R Home Page」の「noMMU版関連情報」でOAKS32RボードのLinux/M32R(noMMU型)が公開されています。
今回のデバッガを使用してみました。
(1)NFSを用意し必要な設定を行います。
(2)「noMMU版関連情報」からダウンロードしたルートイメージを展開します。>
(3)ダウンロードページから、kernel0bflat.tar.bz2をダウンロードし、作業ディレクトリにvmlinuxと.gdbinitを用意します。
(4)シリアル端末ソフト(minicom等)、m32r-elf-gdb、sdiserverを起動します。
minicom | sdiserver |
起動(115200 8N1) | >起動(接続待ち) |
m32r-elf-gdb | sdiserver |
起動 | m32r-elf-gdb起動後 |
(1)m32r-elf-gdbでrestartします。
(2)カーネルがOAKS32Rにダウンロードされ最後にリターンするとシリアル端末上に起動メッセージが表示されます。
(3)次のように起動します。端末上でLinux/M32R(noMMU版)の操作が行えます。
m32r-elf-gdb | minicom |
0番地用カーネルのダウンロード | Linux/M32R(noMMU版)起動 |
注:図中ではlsコマンドを実行しています。
NFSが接続できない場合は、カーネルは接続できるまで待ちます。
minicom |
待機 |
*「noMMU版関連情報」のLinux/M32R(noMMU版)カーネル
(1)OAKS32Rボードのベクタは内蔵のミドルウエア用となっています。
(2)ダウンロードしたカーネルとはベクタが合いません。
(3)実際にrestartしてみると、途中で止まります。
m32r-elf-gdb | minicom |
restart | カーネル起動停止 |
(4)カーネルは0x10000000を領域としています。
(5).gdbinitではSDRAMを0x1000000として設定しています。
*OAKS32R用カーネル
ダウンロードファイル(kernel0bflat.tar.bz2) | vmlinux | ロード用カーネル |
.gdbinit | スクリプトファイル |
(1)カーネルを0x0000000番地以降にコンパイルし直しました。
(2).gdbinitのSDRAMの設定を0x0000000、カーネルパラメータを0x00002000と設定しました。
(1)ダウンロードページにあるhello.tar.bz2をダウンロードしコンパイルします。
(2)できあがった「hello」ファイルをnfsのディレクトリにコピーします。
(3)端末上で操作します。
2019-09-03