HEW | Renesas C/C++ Compiler + sh_converter/rx_converter + GDBでデバッグ
e2studio V1.1とPleiadesの相性問題によりe2studioでRenesas C/C++ Compiler用のプロジェクトを正しく
生成出来なくなってしまったことで、ちょっと好奇心が浮かんで来ました。以前のエントリで以下の通り書き
ましたが、KPIT EclipseやRenesas Eclipseでは、sh_converter.exeやrx_converter.exeというプログラムで
Renesas C/C++ Compilerのリンカの出力ファイルを変換して、GDBでデバッグ出来るようにしています。
> KPIT Eclipseで、Renesas SHCやRenesas RXCのプロジェクト作成時にデフォルトのデバッグモードとして
> Debug using GDB simulatorやHardware Debugを選択すると、ビルド時に以下の処理が実行されました。
> (Renesas Eclipseも同様。) sh_converter.exeやrx_converter.exeというプログラムでDWARF情報を変換
> することで、Renesas SHCやRenesas RXCでコンパイル/リンクしたものがGDBでデバッグ出来るようです。
>
> Renesas SHCの場合
>
> 'Invoking: Debug Convertor'
> E:/tools/micom/KPIT/KPIT-Eclipse/DebugComp/SH/sh_converter.exe TestRenesasSHC.abs TestRenesasSHC.x
> Loading input file TestRenesasSHC.abs
> Parsing the ELF input file.....
> Converting the DWARF information....
> Constructing the output ELF image....
> Saving the ELF output file TestRenesasSHC.x
>
> Renesas RXCの場合
>
> 'Invoking: Debug Convertor'
> E:/tools/micom/KPIT/KPIT-Eclipse/DebugComp/RX/rx_converter.exe TestRenesasRXC.abs TestRenesasRXC.x
> Loading input file TestRenesasRXC.abs
> Parsing the ELF input file.....
> 25 segments required LMA fixes
> Converting the DWARF information....
> Constructing the output ELF image....
> Saving the ELF output file TestRenesasRXC.x
> No section requires swapping
よくよく考えてみると、sh_converter.exeやrx_converter.exeは、KPIT Eclipse上やRenesas Eclipse上で
KPITのプロジェクトジェネレータが生成したコードにしか使えないという可能性は低く、たぶん、HEW上で
HEWのプロジェクトジェネレータが生成したコードにも使える可能性が高いような気がします。
試してみたところ、HEW上でHEWのプロジェクトジェネレータが生成したコードにも使うことが出来ました。
(GDBを単体で使っても分かり難いので、いつものようにe2studioの中でGDBを起動しています。)
SHCの場合


RXCの場合


HEW上でsh_converter.exeやrx_converter.exeを起動させる為に、以下のようにHEWを設定しました。
生成出来なくなってしまったことで、ちょっと好奇心が浮かんで来ました。以前のエントリで以下の通り書き
ましたが、KPIT EclipseやRenesas Eclipseでは、sh_converter.exeやrx_converter.exeというプログラムで
Renesas C/C++ Compilerのリンカの出力ファイルを変換して、GDBでデバッグ出来るようにしています。
> KPIT Eclipseで、Renesas SHCやRenesas RXCのプロジェクト作成時にデフォルトのデバッグモードとして
> Debug using GDB simulatorやHardware Debugを選択すると、ビルド時に以下の処理が実行されました。
> (Renesas Eclipseも同様。) sh_converter.exeやrx_converter.exeというプログラムでDWARF情報を変換
> することで、Renesas SHCやRenesas RXCでコンパイル/リンクしたものがGDBでデバッグ出来るようです。
>
> Renesas SHCの場合
>
> 'Invoking: Debug Convertor'
> E:/tools/micom/KPIT/KPIT-Eclipse/DebugComp/SH/sh_converter.exe TestRenesasSHC.abs TestRenesasSHC.x
> Loading input file TestRenesasSHC.abs
> Parsing the ELF input file.....
> Converting the DWARF information....
> Constructing the output ELF image....
> Saving the ELF output file TestRenesasSHC.x
>
> Renesas RXCの場合
>
> 'Invoking: Debug Convertor'
> E:/tools/micom/KPIT/KPIT-Eclipse/DebugComp/RX/rx_converter.exe TestRenesasRXC.abs TestRenesasRXC.x
> Loading input file TestRenesasRXC.abs
> Parsing the ELF input file.....
> 25 segments required LMA fixes
> Converting the DWARF information....
> Constructing the output ELF image....
> Saving the ELF output file TestRenesasRXC.x
> No section requires swapping
よくよく考えてみると、sh_converter.exeやrx_converter.exeは、KPIT Eclipse上やRenesas Eclipse上で
KPITのプロジェクトジェネレータが生成したコードにしか使えないという可能性は低く、たぶん、HEW上で
HEWのプロジェクトジェネレータが生成したコードにも使える可能性が高いような気がします。
試してみたところ、HEW上でHEWのプロジェクトジェネレータが生成したコードにも使うことが出来ました。
(GDBを単体で使っても分かり難いので、いつものようにe2studioの中でGDBを起動しています。)
SHCの場合
RXCの場合
HEW上でsh_converter.exeやrx_converter.exeを起動させる為に、以下のようにHEWを設定しました。
SHCの場合
Linker output converter for GDB
sh_converter.exe
$(PROJECTNAME).abs $(PROJECTNAME).x
$(CONFIGDIR)
PATH E:\tools\micom\Renesas\e2-P-Helios\DebugComp\SH
$(CONFIGDIR)\$(PROJECTNAME).x
$(CONFIGDIR)\$(PROJECTNAME).abs
RXCの場合
Linker output converter for GDB
rx_converter.exe
$(PROJECTNAME).abs $(PROJECTNAME).x
$(CONFIGDIR)
PATH E:\tools\micom\Renesas\e2-P-Helios\DebugComp\RX
$(CONFIGDIR)\$(PROJECTNAME).x
$(CONFIGDIR)\$(PROJECTNAME).abs
追記 : メモ
HEWでMakefileを生成させてみると、sh_converter.exeやrx_converter.exeを起動する記述がありました。
SHCの場合
################################################
# Make file generated by HEW
途中省略
# Linker output converter for GDB05 phase
APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_EXE=sh_converter.exe
APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_OUTFILESC0="AppMain.x"
APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_DEPFILESC0="AppMain.abs"
途中省略
!MESSAGE
!MESSAGE Executing Linker output converter for GDB05 phase
!MESSAGE
APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_ENVC0 :
set PATH=E:\tools\micom\Renesas\e2-P-Helios\DebugComp\SH
AppMain_Debug_Linker_output_converter_for_GDB05_INITDIRC0 :
cd ..\AppMain\Debug
$(APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_OUTFILESC0) : $(APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_DEPFILESC0)
"$(APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_EXE)" AppMain.abs AppMain.x
RXCの場合
################################################
# Make file generated by HEW
途中省略
# Linker output converter for GDB05 phase
APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_EXE=rx_converter.exe
APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_OUTFILESC0="AppMain.x"
APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_DEPFILESC0="AppMain.abs"
途中省略
!MESSAGE
!MESSAGE Executing Linker output converter for GDB05 phase
!MESSAGE
APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_ENVC0 :
set PATH=E:\tools\micom\Renesas\e2-P-Helios\DebugComp\RX
AppMain_Debug_Linker_output_converter_for_GDB05_INITDIRC0 :
cd ..\AppMain\Debug
$(APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_OUTFILESC0) : $(APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_DEPFILESC0)
"$(APPMAIN_DEBUG_LINKER_OUTPUT_CONVERTER_FOR_GDB05_EXE)" AppMain.abs AppMain.x
- 関連記事
- HEW | Renesas C/C++ Compiler + sh_converter/rx_converter + GDBでデバッグ
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (SH-4A)
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (SH-2)
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (RX600)
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (R8C)
- HEW | IronPython + HEW TargetServerでGDBSERVERを作る (H8SX)
- HEW | IronPythonからHEW TargetServerを制御する為の小技 (3)
- HEW | IronPythonからHEW TargetServerを制御する為の小技 (2)
- HEW | e2studio + HEWで生成したMakefile + KPIT GNU C Compilerでビルド
- HEW | KPIT GNUツールチェインを呼び出すMakefileを生成させてhmakeでビルド (3)
- HEW | KPIT GNUツールチェインを呼び出すMakefileを生成させてhmakeでビルド (2)
- HEW | KPIT GNUツールチェインを呼び出すMakefileを生成させてhmakeでビルド (1)
- HEW | KPIT GNUツールチェインを呼び出すMakefileを生成させる時にちょっと便利なツール
- HEW | HEW起動時のコマンドライン引数にHEW Consoleウィンドウのコマンドを複数記述する小技
- HEW | ConsoleウィンドウのTCL/TKコマンドでMakefileを生成させてHEWを終了させる小技
2012/10/05 blog-entry-197 category: HEW
| h o m e |