[Armadillo:05675] Re: MTD get_chip(): chip not ready after erase suspend
nakai
email@hidden
2010年 8月 23日 (月) 13:06:29 JST
nakaiです。
> 特に問題ないようでしたら、このままにしておこうかと
> 思いますが、何か懸念事項ありますでしょうか?
> #×10は長すぎるので、×5くらいとか・・・・
搭載されているFlashメモリのブロックイレーズ時間を調べました。
CFI Address:21h Data:0009h 単一ブロックイレーズに対する標準タイムアウト値(2^N ms)
よって、2^9 = 512msとなるため、1秒でeraseが完了していないことが気になります。
Flashメモリは使い続けていくと、(体感ですが、、)書き込みが早くなるという
感じもあるので、これもそのような現象の1つなのかもしれません。。
(2010/08/23 9:47), Akira Miyajima wrote:
> nakaiさん
>
> 宮嶋です
>
> 頂いた情報に沿って、Hz×10でファームを作ってみましたところ、
> (まだ1時間程度ですが)症状が出ていません。
> ありがとうございました。
>
> しばらく動かしっぱなしにして、
> 後ほど「電源入り切り」テストしてみます。
>
> 特に問題ないようでしたら、このままにしておこうかと
> 思いますが、何か懸念事項ありますでしょうか?
> #×10は長すぎるので、×5くらいとか・・・・
>
>
> P.S.
>>> timeo = jiffies + HZ
> 西日本なので、電源周波数(60Hz)も疑いましたが、
> そもそもACアダプタ使っている以上関係ないですね(^^;;
> #ちゃんと50-60Hz対応ですし。
>
> On Fri, 20 Aug 2010 13:18:19 +0900
> Akira Miyajima<email@hidden> wrote:
>
>> nakaiさん
>>
>> 宮嶋です
>> Kernelは2.6.12.3-a9-17です。
>> 以下情報ありがとうございました。
>> やってみます。
>>
>> On Fri, 20 Aug 2010 12:44:50 +0900
>> nakai<email@hidden> wrote:
>>
>>> nakaiです。
>>>
>>> Flashメモリへの書き込み頻度は低いようですね。
>>> だとすると、物理的に壊れているかもしれません。
>>>
>>> ちなみに使用しているカーネルバージョンを教えていただけますか?
>>>
>>> また、
>>> kernel/drivers/mtd/chips/cfi_cmdset_0002.cの
>>> get_chip()関数のはじめのほうで、
>>> timeo = jiffies + HZ
>>> という行がありますが、以下のように変更したらどうでしょうか?
>>> timeo = jiffies + HZ*10
>>>
>>> eraseのwait時間が短いのかもしれません。
>>>
>>>
>>>
>>> (2010/08/20 12:30), Akira Miyajima wrote:
>>>> nakaiさん
>>>>
>>>> 宮嶋です。
>>>> まとめ読み設定にしてましたので、返信遅くなりました。
>>>>
>>>> 言葉が足りませんでした。文中に記載します。
>>>>
>>>>> Date: Thu, 19 Aug 2010 19:42:33 +0900
>>>>> From: nakai<email@hidden>
>>>>> Subject: [Armadillo:05660] Re: Re: MTD get_chip(): chip not ready
>>>>> after erase suspend
>>>>> To: Armadillo series general discussion list
>>>>> <email@hidden>
>>>>> Message-ID:<email@hidden>
>>>>> Content-Type: text/plain; charset=ISO-2022-JP
>>>>>
>>>>> nakaiです。
>>>>>
>>>>>> 0x00180000-0x004b0000 : "userland1"
>>>>>> 0x004b0000-0x007e0000 : "userland2"
>>>>>> 0x007e0000-0x007f0000 : "checksum"
>>>>>> 0x007f0000-0x00800000 : "config"
>>>>>
>>>>> これらのpartitionの使用方法は、どうでしょうか?
>>>>>
>>>>> Flashメモリには書き換え可能回数というものがありまして、
>>>>> 大体10万回から100万回のものがほとんどです。
>>>> 以下にありますext2を使ってRAM展開して動作していますので
>>>> このpartitionの使用方法としては、一切書き換えは行っていません。
>>>> 起動後RAM展開し、RAM上で動作しています。
>>>>>
>>>>> 例えば、アプリケーションからどこかのpartitionを
>>>>> 1分に1回書き換えたとした場合、(10万回の場合は) 70日程度で書き換え可能回数を超えてしまい、
>>>>> flashメモリに記録できなくなるなどの症状が現れてきます。
>>>> はい、このことは了解しているつもりですので、上記の通り
>>>> RAM上で動作させています。
>>>>>
>>>>>>> ファイルシステムはjffs2とかcramfsとか使用していたか?
>>>>>> ■使っているはずです。
>>>>>> 基本的にはBaseからいじっていないので、cramfsでしょうか?
>>>>>
>>>>> Baseと同じでしたらext2です。ですが、kernel起動時にRAMへ展開し、
>>>>> kernel上ではRAMDISKとなり、Flashメモリに直接読み書きは行われません。
>>>> この方法です。
>>>>>
>>>>>>> ・エラーメッセージは起動ログ?のどこらへんで出力されていますか?
>>>>>> ■起動が終了し、ログインプロンプトが出た以降です。
>>>>>> 動作的に言うと、DHCPクライアントが動いてIPアドレス取得後
>>>>>> あたりです。
>>>>>
>>>>> これは、Armadillo-230のBaseイメージの場合でしょうか?
>>>>> Baseイメージの場合、ログインプロンプトの前にDHCPが行われると思いますが。。
>>>> Baseイメージを改造(元もとのDHCPcは停止)して、独自アプリの
>>>> 初期化後、DHCPcを起動しています。
>>>> 具体的にはrc.localにてシステム管理アプリの起動のみ行い、
>>>> その中からDHCPcを起動しています。
>>>>>
>>>>>
>>>>>>> アプリでflashメモリの書き換え頻度
>>>>>
>>>>> 自前のアプリケーションでflashメモリ(MTD)の書き込みなどは行いませんか?
>>>> flash書込みはflatfsdのみ利用しています。
>>>>
>>>>
>>>
>>> _______________________________________________
>>> armadillo mailing list
>>> email@hidden
>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
>> --
>> Akira Miyajima<email@hidden>
>>
>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
armadillo メーリングリストの案内