Renesas Community
Search Community
User
Join or sign in
Site
Search Community
User
Renesas Engineering Community
FAQ
HELP
More
Cancel
Forums & Groups
English Community
中文社区(Chinese Community)
More
Cancel
かふぇルネ
forums-groups
Microcontrollers and Microprocessors
Other MCU/MPU Products
R8C/Tiny
More
Cancel
R8C/Tiny
R8C/Tiny Forum
R8C/35Cのブロックイレース、ウォッチドックタイマについて
Home
Forum
Tags
More
Cancel
New
Replies
4 replies
Subscribers
442 subscribers
Views
3296 views
Users
0 members are here
ブロックイレース
R8C
ウォッチドッグタイマ
ブロックイレース中
メモリサイズ
Options
Share
More
Cancel
Related
R8C/35Cのブロックイレース、ウォッチドックタイマについて
まさし
over 11 years ago
R8C/35Cマイコン(ROM32KB品)について
ブロックイレースを行った場合、以下のようなイレース時間がかかります。(データシートに記載されていた)
平均300ms
最大4000ms
またCPUクロックが20MHzで動作中ウォッチドッグタイマは最大で以下の周期までにクリアしなければなりません。
128×16383÷20\,000\,000=104.9ms
ブロックAのような1Kとメモリサイズが少ない場合は間に合うのですが、ブロック3のような16Kとメモリサイズがでかくなった場合ウォッチドッグリセットがかかってしまいました。
そこで次の2点について質問させて下さい。
①ブロックイレース中もウォッチドッグタイマはカウント動作をしているのか。
②ブロックイレース中だけウォッチドッグタイマを停止させるようなことは可能か。
以上、よろしくお願いします。
チョコ
over 11 years ago
スタッフのチョコです。
まさし様の疑問点についてコメントさせていただきます。
ブロックイレース中でも,ウォッチドックタイマは停止しません。
R8C/35Cはバックグラウンドオペレーションによりプログラムの実行が可能となっております。つまり,ブロックイレース中でもプログラムを実行できます。そのプログラムの中でウォッチドックタイマをクリアしてください。これで,ウォッチドックタイマによるリセットは発生しなくなります。
Cancel
Up
0
Down
Reply
Cancel
まさし
over 11 years ago
チョコ様
回答ありがとうございます。
試してみたところ、やはりリセットがかかってしまいました。
(ウォッチドッグをスタートさせない場合はイレースが正常に動作することは確認しました)
今回イレース対象としているのがデータフラッシュ領域ではなく、プログラムROM領域であるブロック0~3です。
バックグラウンドオペレーションの動作をデータシートで確認したのですが、データフラッシュ領域だけに書かれていました。
バックグラウンドオペレーション機能はプログラムROM領域でもあるのでしょうか。
またイレース処理でのウォッチドッグクリアはイレース開始する前、fst7のビットがビジーである間クリアするというコードで動作を試して見ました。
上記のクリアタイミングに問題があればご指摘お願いします。
以上、よろしくお願いします。
Cancel
Up
0
Down
Reply
Cancel
チョコ
over 11 years ago
スタッフのチョコです。
引き続き,まさし様の疑問についてコメントさせていただきます。
R8C/35CのCPU書き換えモードにはEW0モードとEW1モードがございますが,どちらをご使用になっていますでしょうか。
どちらのモードかで対応方法が違います。EW0モードでは,プログラムROMのイレーズ中にもCPUは動作します。(バックグラウンドでの動作は可能です。)
EW1モードでは,プログラムROMのイレーズ中にはCPUはホールドします。
もし,EW1モードをご使用になっている(そのように想像されますが)ならば,プログラムROMのイレーズ中にCPUは動作していないので,お問い合わせのような動作になることが考えられます。この場合には,サスペンド動作を使うことで対応ができます。イレーズ動作の前に,フラッシュメモリ制御レジスタ2(FMR2)のFMR20ビットでサスペンド動作を許可し,FMR22ビットで割り込み要求でのイレーズサスペンドリクエスト許可にしておいてください。この状態で,ウォッチドッグタイマをクリアしたいタイミングに間に合うようにタイマ割り込みを設定してからイレーズを実行してください。これで,イレーズを開始し,タイマ割り込みが発生すると,イレーズ動作からサスペンドモードに移行するので,そこでウォッチドッグタイマをクリアし,FMR2レジスタのFMR21ビットを0にしてイレーズを再開してください。これで,イレーズ中でもWDTでのリセットは発生しないはずです。
R8C/35CグループでのプログラムROMの書き換えについては,両方のモードでのアプリケーションノートがございますので,そちらも参照ください。
http://documentation.renesas.com/doc/products/mpumcu/apn/r8c/r01an0073jj_r8c.pdf
http://documentation.renesas.com/doc/products/mpumcu/apn/rjj05b0541_r8cap.pdf
Cancel
Up
0
Down
Reply
Cancel
まさし
over 11 years ago
チョコ様
回答ありがとうございます。
失礼しました。
お察しの通りEW1モードでのイレースを行っていました。
またサンプル通りのEW0モードによるイレース処理にて、
fst7を待つ際にウォッチドッククリアをしたところ正常にイレースされていることを確認しました。
丁寧な対応ありがとうございます。
以上、よろしくお願いします。
Cancel
Up
0
Down
Reply
Cancel