GR-PEACHオフライン開発環境の構築[On Windows 10]
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
以下は、私がインストールした際のスナップショットです。
「Support Synergy Devices」及び「RZデバイス・サポート」を選択します(※前者をインストールしないと make コマンドがインストールされないようです)。
「コラボレーション」「日本語言語パック」「RTOS」及び「Terminals」を選択しました。
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.cfgを C:\Program Files (x86)\GNU ARM Eclipse\OpenOCD\0.10.0-201601101000-dev\scripts\board に格納します。
4. e2studio の起動
インストールした e2studio を起動します、
ツールチェーン・タイプ選択画面では、GCC ARM embedded を選択し、登録します。
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 のメニューから [ファイル]→[インポート...] を選択します。
インポート画面で、[一般]→[既存プロジェクトをワークスペースへ]を選択し、[次へ]をクリックします。
「ルート・ディレクトリーの選択」で先ほどのフォルダを選択し、「終了」ボタンでインポートされます。
インポートできたら、ビルドします。
ビルドの前に、Toolchain のバージョンを確認します。
peach_mbed_style プロジェクトを選択し、右クリックでプロパティ画面を表示します。
[C/C++ ビルド]→[設定]を選択し、設定画面で [Toolchainタブ] を表示します。「Use integrated toolchaom version:」で "4.9.3.20150529" を選択します。
設定が完了したら、[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」を選択します。
ダブルクリックすると peach_mbed_style Debug[local] の項目が追加され、設定画面が表示されます。
「Debugger」タブでは、Config options: に「-f board/renesas_gr-peach.cfg」を記載します。
「Startup」タブでは、「Initial Reset.」と「Enable ARM semihosting」のチェックをはずします。
また、Load Symbols and Executable** 部分の「Load executable」のチェックをはずします
「ソース」「共通」及び「SVD Path」タブは、デフォルトのままです。
上記全ての変更を**[適用]ボタンで反映します。
USBケーブルを GR-PEACH に接続(基板外側のUSB)し、"Debug\peach_mbed_style.bin" を MBED ドライブにコピーします。
[デバッグ」ボタンをクリックすると、デバッグが始まります。
※ステップ実行する際、プロジェクトのプロパティ画面(C/C++ ビルド→[設定]→[ツール設定]タブ→[Optimization]→[Optimization Level])最適化を **None(-O0) (default: Optimize more(-O2)) にしたほうがステップ実行はわかりやすいと思います。
※export to e2studio [lang:ja]@mbed 公式のページでは、リセット時に monitor reset init を入力するように記載がありますが、私の環境では、Console で入力できないようでした(挙動がわからない)。
そこで、デバッグをやめる場合、ストップボタンで停止しています(特に問題なくデバッグできています)。
7. 参考にさせていただいたページ
以上です。
Author And Source
この問題について(GR-PEACHオフライン開発環境の構築[On Windows 10]), 我々は、より多くの情報をここで見つけました https://qiita.com/spiderx_jp/items/8170c8c4538140317b6c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .