реклама на сайте
подробности

 
 
> spi flash SST25VF032B + fat_fs, убил флешку
Kalyan
сообщение Feb 7 2014, 17:46
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 4-11-10
Пользователь №: 60 656



Добрый вечер. Использую spi флеш память SST25VF032B и fat_fs. как то так случилось что убил флешку полностью. сначала думал что где то зациклилась операция записи, все перепроверил сделал счетчики на обращения к функциям стирания и записи флешки. Припаял новую и она тоже накрылась через некоторое время. Счетчики обращений к функциям записи и стирания флеш памяти ничего аномального не выявили, все в пределах разумного.

Потом заметил одну ошибку: оказывается я забывал закрывать файл после чтения с него и открывал следующий.

Могло ли это послужить причиной убиения флешки? может кто то сталкивался с такой проблемой?
Еще одну флешку портить жалко ))
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
DpInRock
сообщение Feb 8 2014, 07:07
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Вы поставили диагноз "убил флэшку".
Но не видно ни единого симптома для такого диагноза.

Такой диагноз можно поставить, если память не отвечает на посылаемые команды.
Ни на какие. При условии, что сама тестовая программа реализована верно.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Kalyan
сообщение Feb 8 2014, 08:02
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 4-11-10
Пользователь №: 60 656



DpInRock, объясню. Флешка на 4МБ. под файловую систему выделил только один МБ. После того как случилось непоправимое, пробовал смонтировать файловую систему на остальные 3МБ памяти, ведь они должны были остаться целыми. Но не вышло, вся флешка пришла в негодность.
Пробовал также без файловой системы записывать и считывать какой то тестовый буфер - не работает, не могу записать. на новой флешке все мои функции записи и чтения работают, я проверял.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Feb 8 2014, 08:49
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Опять нет симптомов.
Вы работаете с чужим кодом. И оперируете слишком высокоуровневыми понятиями.

Вот просто для начала.
У последовательной памяти есть некий регистр из которого можно прочитать код производителя. (см. конкретный даташит).

Вот самое первое, что делают люди - это читают этот регистр. И если он читается, то механизм доступа к памяти считатется боле-менее реализованным (имеется ввиду полярность клоков, фаза защелки).

И если этот регистр при работе с оной и той же программой у одной микросхемы читается, а у другой - не читается, то можно делать вывод о кончине.

Причем, кончина как правило - не есть следствие какого-то неправильного ВЫСОКОУРОВНЕВОГО действия с флэшкой, а чаще - результат выгорания защитных диодов по входам. И чаще всего - по причине статических разрядов от ваших тапок, к примеру.

===
А вот выскоуровневое убийство - например, поменять случайно размер сектора. Его можно поменять только один раз, по-моему. После чего все будет немного не так...
===
Ну и в догонку. Если меня бы щас попросили убить флэшку программно, без дрели и молотка - я сильно задумаюсь. Вот не знаю как убить флэшку.

Сообщение отредактировал DpInRock - Feb 8 2014, 09:13


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Feb 8 2014, 09:34
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Kalyan @ Feb 8 2014, 10:02) *
DpInRock, объясню. Флешка на 4МБ. под файловую систему выделил только один МБ. После того как случилось непоправимое, пробовал смонтировать файловую систему на остальные 3МБ памяти, ведь они должны были остаться целыми. Но не вышло, вся флешка пришла в негодность.
Пробовал также без файловой системы записывать и считывать какой то тестовый буфер - не работает, не могу записать. на новой флешке все мои функции записи и чтения работают, я проверял.

Для начала, правильно опишите проблему. Хороший вопрос- это половина ответа. Микросхема не может "не работать". Она может реагировать не так как Вы ожидаете. Опишите что Вы делаете и что Вы от нее получаете в ответ на Ваши действия. Все что Вы до сих пор написали, не содержит никакой полезной информации о проблеме.

например, так:
Делаю::
сброс, чтение, стирание, чтение, новая запись, чтение.
Получаю на каждую команду следующую реакцию:
****
Из чего делаю вывод, что
*****

И еще: просто возьмите готовую библиотеку и поработайте только с ней, на уровне записи-чтения-стирания областей памяти. И делайте выводы на базе этих исследований. Непонятно, почему Вы написали что-то свое, когда на низком уровне все уже давно написано и отлажено.

В общем случае вполне возможно убийство области FAT, особенно если каждая запись в него сопровождается стиранием, там всего 10 тысяч циклов гарантируют. Но у Вас, скорее всего, некорректно сделанная программа или аппаратная часть и Вы делаете неправильные выводы.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 04:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01349 секунд с 7
ELECTRONIX ©2004-2016