1.はじめに
自社で開発したmbedの記憶媒体でUSBフラッシュメモリ:2GB(メーカ不明でサンプル品でもらったもの)を使ってました。1週間前から記録したファイルが文字バケ、時にはファイル全体が壊れる事象。はじめ、C++のプログラムがおかしいのか、いろいろ切り分けしてやっとUSBのフラッシュが悪いのがわかりました。みなさんもトラブル時に疑ってみてください。作成していたものは以下のテスターです。
http://spectrum-tech.co.jp/sier_service/zigbee_tester.html2.事象
(1)トラブル状況
C++で作ったプログラムで、長時間の耐久試験を実施。毎日8時間位のデータを取得して、1秒間に2回位、データをテキストでUSB内のファイルに書き込み。
1月中旬からはじめて、1月26日に初めて、ファイル内のレコードがたまに文字化け。それも200レコード置きに発生し、その後、1000レコード位でファイル全体が破壊。USBの2GBのデータを見ると、半分位消費。
(2)切り分け状況
C++のプログラム又はmbedのflashがメモリーリークしているのかと思い。プログラムのチェックを実施。Flashのメモリでfopenコマンドで開けたファイルを開放していないと思いFreeを行ったり、右往左往する。現象は、100レコードまでは正常なのでまさかUSBが壊れていると思わなかった。USBをフォーマットすると正規に戻る。
古いプログラムで長期データを取得していた頃のもので試験しても文字バケ発生。mbedのflash自体が壊れたと思い、新品に変えるも同じ。
そこでまずUSBが怪しいと思い別のものを差すと、正常動作。1週間のデバッグ返して欲しい。
おかげでC++のfopen,ポインタの使い方など一杯勉強できました。
(3)USBフラッシの書き込み累積回数
1か月間位、平均2時間位テストしていたので、2回/秒x60秒x60分x2時間x30日=43万回。他にも使っていたので50万回位
(4)対策
C++で書き込みをバッファして、5秒に1回位でまとめて書き込み方法に変更予定。
3.問い合わせ先
当社の強み
・無線の専門調査会社として、セキュリティから電波までの無線の専門性を強みとしております。
・無線歴35年、SI歴25年の専門家が対応します。
・自社所有の測定ツール(Linux,スペアナ、電波診断ツール、セキュリティ診断ツール、トラヒック診断ツール)により迅速に対応します。
スペクトラム・テクノロジー株式会社
http://spectrum-tech.co.jp
電話:04-2990-8881
mail:sales@spectrum-tech.co.jp
担当:村上