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-もはたいて苗木をかったのに、葉芽も花芽も出ずにこの春、枯れました.........(涙)
  • NAKAさん
    RL78の場合、リセットで値が変らないのが明文化(保証)されているのは、STOPモード中だけみたいですね。(ライトアクセスがないから?)
    UM上、スタックポイントが不定と書かれているので、リセット時にどこのアドレスが破壊されていても文句は言えないのかな。
    といいつつ、実機で見る限りSP値はいつも同じだったりしますけど。。。
    あとライトアクセス中にWDTリセットが入ると、ライトされているアドレスのRAM値は不定値になります。(WDTは低速OCO動作なのでメインクロックと非同期だから)

    ということで、アンオフィシャルな見解としては、
    WDTの周期を確認して、WDTリセットが絶対に入らないタイミングでRAMアクセスしている限りはRAMは保持されます^^

    RESFを見て、パワーオンリセット時は初期化して、それ以外のリセット発生時は初期化しないようにすれば、いいと思います。
    乱数的にRAM値を使いたいなら未初期化のRAMを使ってもいいと思いますけど、ふつープログラムは最初に「何か」値を設定しますよね?!

    PS
    自分の家の庭で果物とか野菜がとれると楽しいですよねー。
    うちは日当たりが悪いので、イチゴ狩りとかブルーベリー狩りに出かけてます^^

  • Kirinさん

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

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

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

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

    (なんかわからんけど)こうしたら動きました!、とか
    (なんかわからんけど)書き込みなおしたら動きました!、とか
    それでいいのか?ホンマにそれでいいのか?それ、仕事でやってるんちゃうんか?、もっと他にやることあるやろ、ウヤムヤで済ませてどーすんねん、、
    ともにょもにょしまくるんですがどーしてやろーかねー。。。