U盤修復

前幾天搞測試,把個人U盤搞壞了,壞的緣由其實很簡單,我把個人那個系統的程序改了一下,不停的向U盤中寫數據,U盤寫滿了就格式化再從新寫,2G的U盤寫滿了2次,終於寫壞了。

U盤內保存的數據放在一個文件中,系統每收到512字節數據就向U盤保存一下,由於是以文件形式保存,所以也要更新文件大小信息,致使目錄扇區不停被寫入數據,寫得太多,Flash出現壞塊了。

原本我覺得只是出現壞塊,把物理0扇區的相關參數修改一下,避開壞的扇區就好了,興致勃勃地把程序改了一下,結果大失所望。物理0扇區的數據能夠讀出來,可是寫入數據就不行,執行相應的UFI命令返回STALL,復位後再寫依然返回STALL,REQUEST SENSE命令也是返回STALL。

我把物理0扇區的數據讀出來跟正常的U盤比較一下,發現壞U盤的0扇區的數據是亂七八糟的,估計可能U盤內部的程序出問題了。

這可不是USB規範和OHCI就能搞定的了,看來還得網上搜索高人的答案了。找了半天,發現解決方案其實很簡單,

1.先用u盤芯片型號檢測工具檢測u盤芯片:下載網址爲  http://drv5.cn/sfinfo/64.html 2.在相同的連接上面找到(若是找不到就用搜索引擎找)並下載相應的U盤(關鍵是對應芯片型號)的量產工具進行修復。 關鍵是第二步的量產工具必定要找對,這沒什麼好辦法,就是慢慢找,下來慢慢試了,一旦量產工具能夠識別出U盤,那就基本沒問題了。