7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GR-PEACHオフライン開発環境の構築[On Windows 10]

Last updated at Posted at 2019-01-01

GR_PEACH をオフラインで開発する環境を構築したので、以下、覚書として残します。

※2019/01/04追記
e2studio 7.2.0 + OpenOCD は動作しましたが、OpenOCD の代わりに J-link を利用した場合、On Chip Debug 時に main 関数でブレークがかからない・・
他の方は、e2studio の 6.2.0 で問題なく実行されているようでしたので、 v6.3.0 R2 にして実行してみました。結果、e2studio + J-link のデバッグができました。但し、たまに 7.2.0 の時と同じような挙動になることもありました(ダウンロードしたり、リセットしたりしてると直る)。よって、原因は不明です。

#0. 前提条件

  • Windows 10 Pro 1809 64bit
  • e2studio 7.2.0
  • OpenOCD
  • GR-PEACH

#1. e2studio のインストール
Renesasのサイト 統合開発環境 e2studio より e2studio のインストーラ(setup_e2_studio_7_2_0.exe[2018/12/30 現在の最新版 7.2.0])をダウンロードします。
ダウンロードしたインストーラを起動し、インストールします。

どうも VS2008 用及び VS2017 用の C++ 再頒布可能パッケージが必要のようです。
インストーラで自動インストールしてくれるようですが、なぜか私の環境では、VS2017 用がインストールに失敗し、e2studio のインストーラがエラーとなってしまいました。そこで、e2studio インストールする前に VS2017 用を手動でインストールして対応しました。
VS2017 用 再頒布可能パッケージは、以下からダウンロード可能です。
https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads

以下は、私がインストールした際のスナップショットです。
image.png
image.png
**「Support Synergy Devices」及び「RZデバイス・サポート」**を選択します(※前者をインストールしないと make コマンドがインストールされないようです)。
image.png
**「コラボレーション」「日本語言語パック」「RTOS」及び「Terminals」**を選択しました。
image.png
image.png
image.png
image.png
image.png
image.png

#2. OpenOCD のインストール
GNU MCU Eclipse OpenOCD v0.10.0-10-20181020 のインストーラをダウンロードします。
e2studio が 32bit アプリケーションなので、**32bit 版(gnuarmeclipse-openocd-win32-0.10.0-201601101000-dev-setup.exe)**となります。

#3. OpemOCD 設定ファイルのコピー
renesas_gr-peach.cfg をダウンロードします。
ダウンロードした renesas_gr-peach.cfgC:\Program Files (x86)\GNU ARM Eclipse\OpenOCD\0.10.0-201601101000-dev\scripts\board に格納します。

#4. e2studio の起動
インストールした e2studio を起動します、
ツールチェーン・タイプ選択画面では、GCC ARM embedded を選択し、登録します。
image.png

#5. GR-PEACH サンプルプロジェクトのビルド
mbed のサンプルプロジェクトをエクスポートしたものを e2studio にインポートしてみましたが、e2studio でのビルド時にビルドエラー(ヘッダファイルが見つからない)が発生してビルドできませんでした。以下に同じ問題でチケットが発行されており、Closed していますが、私の環境では解決できませんでした。

※2019/01/04追記
ヘッダファイルが見つからない件ですが、インクルードパスを解決してみましたが、最終的に以下のエラーでビルドできませんでした。諦めました・・

  :
  :
'Building target: mbed-os-example-blinky.elf'
'Invoking: Cross ARM C++ Linker'
arm-none-eabi-g++ @"mbed-os-example-blinky.elf.in"
arm-none-eabi-g++: error: unrecognized command line option '--wrap=main'
arm-none-eabi-g++: error: unrecognized command line option '--wrap=_malloc_r'
arm-none-eabi-g++: error: unrecognized command line option '--wrap=_free_r'
arm-none-eabi-g++: error: unrecognized command line option '--wrap=_realloc_r'
arm-none-eabi-g++: error: unrecognized command line option '--wrap=_memalign_r'
arm-none-eabi-g++: error: unrecognized command line option '--wrap=_calloc_r'
arm-none-eabi-g++: error: unrecognized command line option '--wrap=exit'
arm-none-eabi-g++: error: unrecognized command line option '--wrap=atexit'
make: *** [mbed-os-example-blinky.elf] Error 1
makefile:242: recipe for target 'mbed-os-example-blinky.elf' failed

07:02:34 Build Failed. 2 errors, 79 warnings. (took 3m:52s.706ms)

とりあえず、がじぇるね GR-PEACH で公開されている e2studio用プロジェクトコード peach_mbed_style_V203.zip を利用して動作確認しました。

peach_mbed_style_V203.zip を解凍し、peach_mbed_style フォルダをワークスペースにコピーします。

e2studio のメニューから [ファイル]→[インポート...] を選択します。
image.png

インポート画面で、**[一般]→[既存プロジェクトをワークスペースへ]を選択し、[次へ]**をクリックします。
image.png

**「ルート・ディレクトリーの選択」で先ほどのフォルダを選択し、「終了」**ボタンでインポートされます。

image.png

インポートできたら、ビルドします。
ビルドの前に、Toolchain のバージョンを確認します。
peach_mbed_style プロジェクトを選択し、右クリックでプロパティ画面を表示します。
image.png

**[C/C++ ビルド]→[設定]を選択し、設定画面で [Toolchainタブ] を表示します。「Use integrated toolchaom version:」**で "4.9.3.20150529" を選択します。
image.png

設定が完了したら、[Apply and Close] ボタンで画面を閉じ、プロジェクトをビルドします(※一応、プロジェクトをクリーンした後、ビルドを実行)。

 :
 :
'Finished building: ../main.cpp'
' '
'Building target: peach_mbed_style.elf'
'Invoking: Cross ARM C++ Linker'
arm-none-eabi-gcc @"peach_mbed_style.elf.in"
'Finished building target: peach_mbed_style.elf'
' '
'Invoking: Cross ARM GNU Create Flash Image'
arm-none-eabi-objcopy -O binary "peach_mbed_style.elf"  "peach_mbed_style.bin"
'Finished building: peach_mbed_style.bin'
' '
'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "peach_mbed_style.elf"
   text	   data	    bss	    dec	    hex	filename
  77244	   2360	  44304	 123908	  1e404	peach_mbed_style.elf
'Finished building: peach_mbed_style.siz'
' '

17:52:20 ビルドが完了しました(所要時間 7m:2s.300ms)

#6. GR-PEACH サンプルプロジェクトのデバッグ
ビルドしたサンプルプロジェクトを OpenOCD を利用してデバッグします。

**「実行」→「デバッグ構成」をクリックして「GDB OpenOCD Debugging」**を選択します。

image.png
image.png

ダブルクリックすると peach_mbed_style Debug[local] の項目が追加され、設定画面が表示されます。

**「メイン」**タブは、デフォルトのままです。
image.png

**「Debugger」タブでは、Config options: に「-f board/renesas_gr-peach.cfg」**を記載します。
image.png

「Startup」タブでは、「Initial Reset.」「Enable ARM semihosting」**のチェックをはずします。
また、Load Symbols and Executable 部分の「Load executable」のチェックをはずします
image.png

**「ソース」「共通」及び「SVD Path」**タブは、デフォルトのままです。
image.png
image.png
image.png

上記全ての変更を**[適用]ボタンで反映します。

USBケーブルを GR-PEACH に接続(基板外側のUSB)し、"Debug\peach_mbed_style.bin"MBED ドライブにコピーします。
**[デバッグ」**ボタンをクリックすると、デバッグが始まります。
image.png

※ステップ実行する際、プロジェクトのプロパティ画面(C/C++ ビルド→[設定]→[ツール設定]タブ→[Optimization]→[Optimization Level])**最適化を None(-O0) (default: Optimize more(-O2)) にしたほうがステップ実行はわかりやすいと思います。

export to e2studio [lang:ja]@mbed 公式のページでは、リセット時に monitor reset init を入力するように記載がありますが、私の環境では、Console で入力できないようでした(挙動がわからない)。
そこで、デバッグをやめる場合、ストップボタンで停止しています(特に問題なくデバッグできています)。

#7. 参考にさせていただいたページ

以上です。

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?