忍者ブログ

Fグループ電子工作講座

秋月電子SH7125ボードで始めるマイコン開発

RL78へ書込む(E1編)

開発環境のセットアップ~ビルドまでが完了したので実際にマイコンへ書き込みます。
E1エミュレータを使う場合はCS+から書込みと実行中の内部変数の確認(オンチップデバッグ)が
可能ですが、ちょっとだけ設定変更が必要です。
※2020/02/29 RL78/G10シリーズの注意事項修正

関連記事
RL78の開発環境
RL78へシリアル書込み
3.3V書込み

E1で書き込む設定

とりあえずCS+とE1を連動させます。
この辺の設定はRXと同じです。
デバッグ > 使用するデバッグツール >RL78 E1


RL78 E1をダブルクリックで開く

ターゲット・ボードとの接続
 エミュレータから電源供給をする > はい
※マイコンに外部電源を接続している場合はいいえのまま

E1を使う場合は供給電圧を3.3Vと5.0Vから選べます。
※2020/02/25 追記
秋月の小型CPUボード(RL78/G10)はCPUのスペック上、5Vを供給しないと書込めません。
※2020/02/29 修正
秋月の小型CPUボード(RL78/G10)はCPUのスペック上、3.3Vでは一部機能が制限されます。
3.3Vで書込みは可能ですが、消去ができません。

3.3V書込みの制限事項に関する調査結果はこちら
※E2Liteは3.3V固定らしいです。

話を戻します。
CS+からの書込み用に設定変更しないまま書込みを実行すると
「ダウンロードに失敗しました。」
「オンチップ・デバッグで使用する予約領域への書き込みはできません。」
とエラーが出ます。

CS+から書込みを行うとデバッグ機能が実行されるのですが、マイコンのプログラムを
書き込む領域がデバッグで使用する領域と重複するらしいです。
自分で設定変更すれば回避できる様ですが、コード生成を利用すれば自動的に設定して
くれます。
※コード生成を行うのでmain.cはビルドから除外されます。

コード生成 > クロック発生回路 をダブルクリック

オンチップ・デバッグ設定 > オンチップ・デバッグ動作設定 使用するにチェック
コード生成

これで領域を自動的に調整してくれます。

RL78/G10シリーズでコード生成を行うと
パワーオンリセット(電圧低下による自動リセット機能)が4.2Vに変更され、3.3Vで動作しなくなります。
未だ変更していない場合は3.3V以下に設定しておくことをお勧めします。

セレクタブル・パワーオン・リセット回路
 リセット発生電圧 > 2.84V等に変更 ⇒ コードを生成

マイコンボードとE1の接続

ビーリバー製CPUボードを接続する際はE1を接続するための端子が用意されているので、
そのまま挿せばいいだけです。
秋月のCPUボードを接続する際はブレッドボード上で接続する必要があります。
書込み回路例通りに配線を繋げばOKです

が、このE1端子の向きが初見では分かりません。
このE1の図はE1の配線付コネクタを配線側から見たピン配置になります。
コネクタを勘合面からみれば当然反対向きになるので注意してください。

また、GNDが沢山あるのに横着して1本だけ接続すると正しく動作しません。
E1のマニュアルによればGNDの状態でマイコンが接続されたか否かの判定等を行っているそうです。
配線は省略せず全て接続してください。

書込み

書込み、またはビルドして書込み


書込んだらそのまま実行できます。
書込み直後は一時停止状態なので、とりあえず再起動(CPUリセット後、プログラムを実行)

プログラム編集に戻るとき:停止
マイコンボードやE1を取り外す時は:切断

間違えて切断する前にマイコンボードを取り外すと切断できません状態になります。
そんな時はE1のUSBを抜けば切断した扱いになります。


その他
書込みを実行すると
ダウンロードに失敗しました。
エミュレーションCPUから応答がありません。
とエラーが出る事があります。

自分の環境ではオンチップデバッグ領域回避の設定を行わずにビルドしたファイルを
RFP(Renesas Flash Programmer)を使って書込んだ後に再度CS+から書き込もうとすると
このエラーになりました。
CS+から書き込みたい場合はRL78 E1をダブルクリック

フラッシュ
 起動時にフラッシュROMを消去する > はい

これで書き込めるようになります。

※2020/02/29 追記

秋月の小型CPUボード(RL78/G10)の場合、3.3Vでは制限がかかって消去できません。


シリアル書込みしたい場合
PR

コメント

プロフィール

HN:
ぼんどF博士
性別:
男性
自己紹介:

最新コメント