SH7145F フラッシュに焼かれた const データが化ける

当社製品に搭載して出荷後5年以上正常に動作しておりました HD64F7145F50 の動作が突然おかしくなりました。

症状を確認しましたところ、以下のような状態でした。

 

【データ化けの内容例】

1.sprintf() の書式文字列中の文字 ' '(スペース:\x20)が '!'(エクスクラメーション:\x21)に化ける。

2.sprintf() の書式文字列中の文字 'h'(小文字エイチ:\x68)が 'i'(小文字アイ:\x69)に化ける。

3.sprintf() の書式文字列中の文字 'T'(大文字ティー:\x54)が 'U'(大文字ユー:\x55)に化ける。

 

4.sprintf() の書式文字列中の文字 ','(カンマ:\x2c)が '-'(ハイフン:\x2d)に化ける。

5.if 文の判定式中の定数 3 が他の値に化けている。(動作解析では、値がいくつに化けているか判明しません)

 

フラッシュの const データ領域のあちこちにビット化けが発生しているような症状です。

どのような可能性が考えられるでしょうか。

 

 何か、フラッシュの特定領域のビット線(ビット 0)が正しく読めていないような気がします。

プログラム自体は動作しているので、コード領域ではこういう化けは発生していないものと思います。

 

以上、何かご存知の方がいらっしゃれば宜しくお願いいたします。

Parents
  • よしとさん
    私はサポートではないので、割り切ってください
    そのフラッシュROMというのは外付けですか?内蔵タイプですか?
    もし外付けということであれば、そのメーカの補償範囲になると思います
    海外製のフラッシュROMというのはサポートも受けにくく、
    品質も安定していないようなものもあるようです
    数回書き込んだのみでも故障してしまったものもあります
    価格は比較して非常に安いですが要注意です、
    当然そんなものは使用していないと思いますが
    また、プロテクトも
    1.書き込みプロテクト
    2.チッププロテクト
    3.WEの線をプロテクト
    等されているでしょうか
Reply
  • よしとさん
    私はサポートではないので、割り切ってください
    そのフラッシュROMというのは外付けですか?内蔵タイプですか?
    もし外付けということであれば、そのメーカの補償範囲になると思います
    海外製のフラッシュROMというのはサポートも受けにくく、
    品質も安定していないようなものもあるようです
    数回書き込んだのみでも故障してしまったものもあります
    価格は比較して非常に安いですが要注意です、
    当然そんなものは使用していないと思いますが
    また、プロテクトも
    1.書き込みプロテクト
    2.チッププロテクト
    3.WEの線をプロテクト
    等されているでしょうか
Children
  • IKUZOさん、早速のリプライありがとうございます。

    フラッシュは SH7145 の内蔵フラッシュです、書き忘れ申し訳ありません。
    特段のプロテクトは施していませんが、内蔵フラッシュのデータを
    消したり書いたりするコードは存在していません。

    化けているデータは確認できる限りすべて、ビット 0 が 0 → 1 に化けている
    状況なので、その辺りにヒントが有るのではと思っています。