RFPで書かないと消える可能性あります?

いつもお世話になります、NAKAといいます。

先日、社内で頼まれちょっとした実験機器をRL78/I1Eを使ったボードで作りましたが、「動かなくなっちゃた」とのことで、手元に戻ってきました。確かに"うん"とも”すん”とも動かないので、ハードを壊したのかなと思って戻ったボードを確認しましたがどこも悪くなさそうです。そこでもう一度プログラムを書き直したら、なにごとも無く動きます。よくよく考えてみると、この基板はRFPで書き込まず、CS+のデバッグでデータをDLしただけの状態だったことを思い出しました。RFPでフラッシュメモリに書き込まないと、プログラムが消えてしまう可能性もあるのでしょうか?今までは消えたことが無かったのであまり気にしてませんでした。基板を貸した先でどんな扱いを受けたかが不明ですが、社内他部署で書き直したとは思えません。よろしくお願いいたします。

Parents
  • もしかして、0xC0からの、安全機能のプロテクトswはどうしてますか?社内担当者が不用意にデバッガを接続して、パスワードエラーで、自動消去とかおこなわせていませんか?RLはプログラムの読み取りに対する、プロテクト機能が強力ですから・・・・
  • みなさん心配いただきありがとうございます。

    引き渡した先でデバッガーを接続した可能性は低いと思います。きっとぼくのプログラムにLOOPから抜けられない箇所があるのだと思います。以前チョコさまにアドバイスしていただいたSPIの送受信完了待ちも、割り込みによるオーバーヘッド分の速度を稼ぐため、フラグを確認するポーリングにしてありますし、
    SIO00 = data_out;
    CSIIF00 = 0;
    while(!CSIIF00){__nop();} //送信完了状態になるまで待つ
    みたいに、なんかwhileで回って抜け出せないとこがあるような気がします。もう一回見直してタイムアウト処理を追加しておきたいと思います。
    ★もう一点、甘えさせていただいてよろしいでしょうか?
    ウォッチドッグでRESETされた後って、初期化していない変数(RAM)って消えちゃうのでしょうか?(最適化されないようにvolatile宣言しておきます。)ちょっと実験したら大丈夫そうなのですが......この変数をRESET後(RESET前の値を)に使うのは危険でしょうか?

    P.S.
    先週末は良いこともありましたが、屋上家庭菜園でさくらんぼの受粉作業で花粉症が悪化したり、先年の秋、TVの深夜番組でフルーツソムリエなる人が「今まで食べた中でもっともおいしかったフルーツは?」の問いかけに「貴陽というソフトボール大のプラムです。」といっていたので、園芸店を探し回り¥2,480-もはたいて苗木をかったのに、葉芽も花芽も出ずにこの春、枯れました.........(涙)
  • Kirinさん

    いつもありがとうございます。ちょっとごちゃごちゃカッコ悪いけど、複数個変数に書き込むことにして、多数決でその値を使うなんてことすればなんとかなりそうですね!ありがとございました。

    P.S.
    ブルーベリーも育ててます。最初は家族も喜んで食べますが、毎日食べると飽きてきて、タッパーで凍らせ時々シャーベット!それまた飽きてそのままになり、去年の分を捨ててしまうことになります。いい年になると土いじりがしたくなりますよね!昔、後輩は清流でイワナ釣る時、メタリカとかドッケンなどヘビーメタルをウォークマンで聞きながらという変態がいましたが、現在僕はBABY-METALを爆音で聞きながら、家庭園芸をするのが楽しい変態DEATH!
  • わわいです
    #完全に雑談モード、返答は不要ww

    (なんかわからんけど)こうしたら動きました!、とか
    (なんかわからんけど)書き込みなおしたら動きました!、とか
    それでいいのか?ホンマにそれでいいのか?それ、仕事でやってるんちゃうんか?、もっと他にやることあるやろ、ウヤムヤで済ませてどーすんねん、、
    ともにょもにょしまくるんですがどーしてやろーかねー。。。
  • 安全装置ははずしてますか?reset後に未初期化RAMリードアクセスで、エラーなんて、かっこ悪いですよ。
  • kirinさま
    >スタックポイントが不定と書かれているので、リセット時にどこのアドレスが
    破壊されていても文句言えないのかな。
    といいつつ、実機で見る限りSP値はいつも同じだったりしますけど。。。

    これってICE接続にての確認ですか?
    うるおぼえですみません。
    確かICE自身自分が初期動作するときレジスタクリアと、
    SPを仮の値0xfe20で、固定してたと思いますが?
    ちがいましたっけ?
  • Kcdさん
    デバッガを使うとエミュレーターの初期値に変更されちゃいますけど、
    チップ単体動作時にUARTなどで内部の値を外部に吐き出させると本当のリセット値が分かります。
    RL78/G13での正解は、SP=0xFFC00でした。
    CPUコアなどで初期値に違いがあるかもしれませんけどねー。
  • kcdさま
    >安全装置ははずしてますか?reset後に未初期化RAMリードアクセスで、エラーなんて、かっこ悪いですよ。
    ⇒すみません飲み込みが悪いのでちょっと理解できてません。安全装置とは?最適化のことでしょうか?すこしヒントをいただけたら嬉しいです。

    Kirinさま
    マニュアルにウォッチドッグのRESET後はRAMは不定と明記されてましたね!すみませんマニュアルも読まずすぐ聞いちゃいました。RTCのカレンダーがRESETで狂っちゃうのがいやだなぁと思って(初期設定で初期値設定しないで、パソコンで時間を通信で設定する仕組みにしていたので)RAMの値が保持されていたら、ウォッチドッグのRESETが発生する75%の時間で発生する割り込みのなかで、カレンダー情報を読み込んでRAMに書いて起き、再スタートする場合に再度読み込んで設定することで、再起動分の時間は狂いますが目安のカレンダーとしては使えるかなと思ってました。SDカードがついてますので、こちらの適当なブロックに書いておくことにします。RXのE2-フラッシュみたいなメモリが付いていればいいのに......。
  • チョコです。
    "安全装置"とは安全機能の中の悪名高き"RAMパリティ・エラー検出機能"のことでしょう。
    ディフォルトでONなので,初期化してないRAMをリードすると,パリティ・エラーを検出して
    リセットがかかります。(第27章を参照してください。)
    これを避けるには,RAMパリティ・エラー検出機能を停止した状態で,RAMを読み出し,
    同じ値を書き戻す処理をやれば,パリティは正しくなるので,RAMパリティ・エラー検出を
    許可しても,その領域をリードしてもリセットしなくなります。
  • チョコ先生

    ありがとうございます。

    データシート確認しました。全く気にしたことのない機能でした。勉強になりました。

  • チョコです。
    ついでに言うと,E2-フラッシュみたいなメモリとなると,RL78ではデータ・フラッシュが該当します。
    書き込みにはデータ・フラッシュ・ライブラリが必要になります。詳細は"30.8 データ・フラッシュ"
    を参照してください。
    RL78/I1Eではありませんが,RL78/L12にデータ・フラッシュのアプリケーションノートがあります。
    このアプリケーションノートでは,電源ダウンの割り込みでできるだけ速く書き込もうとしているので,
    若干似てるかもしれません。参考まで。
    www.renesas.com/.../r01an2013jj0100_rl78.pdf
  • チョコ先生
    本当だ!!ちゃんとあるんですね!RL78を使い始めて1年以上経ちますが、使わない機能はなかなか気づきませんね!素人だぁ~!データ・フラッシュ・ライブラリってのをちょこっと勉強してみます。

    P.S.
    昨年、RL78/I1Eで3種類ほど試作基板を作りました。カレンダーにSDカード、BLE無線にちょっとしたAFEが乗っていてそこそこ使えるので、今回のような本来の用途とは違うところ(ちょっとした実験機、ロガー)でいろいろ使ってもらってます。もちろん本来のテーマでも引き続き使わせていただこうと思いますが、ちょっとI/Oやメモリ等が苦しくなってきました。R8Cを卒業しちゃった感じです。今もっとも欲しいのがRL78/F15です。何故か1年くらいずーっとステータスが"開発中"になってますね。もう出ないのかなぁ?
Reply
  • チョコ先生
    本当だ!!ちゃんとあるんですね!RL78を使い始めて1年以上経ちますが、使わない機能はなかなか気づきませんね!素人だぁ~!データ・フラッシュ・ライブラリってのをちょこっと勉強してみます。

    P.S.
    昨年、RL78/I1Eで3種類ほど試作基板を作りました。カレンダーにSDカード、BLE無線にちょっとしたAFEが乗っていてそこそこ使えるので、今回のような本来の用途とは違うところ(ちょっとした実験機、ロガー)でいろいろ使ってもらってます。もちろん本来のテーマでも引き続き使わせていただこうと思いますが、ちょっとI/Oやメモリ等が苦しくなってきました。R8Cを卒業しちゃった感じです。今もっとも欲しいのがRL78/F15です。何故か1年くらいずーっとステータスが"開発中"になってますね。もう出ないのかなぁ?
Children
No Data