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

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Снова SD/MMC, Вопросы, на которые не нащел пока ответов
wwweider
сообщение Apr 22 2008, 08:07
Сообщение #16


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



какую?
Go to the top of the page
 
+Quote Post
InvisibleFed
сообщение Apr 22 2008, 09:32
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 18-11-06
Из: Хабаровск
Пользователь №: 22 469



Например эту. Обратите снимание на регистр CSD и данные в нем.
Прикрепленные файлы
Прикрепленный файл  ProdManualSDCardv1.9.pdf ( 1.12 мегабайт ) Кол-во скачиваний: 282
 
Go to the top of the page
 
+Quote Post
SALOME
сообщение Apr 22 2008, 11:00
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(wwweider @ Apr 22 2008, 11:04) *
я нашел программку на си для кодевижена которой от меня требуется только номер сектора и массив из 512 данных.
теперь вопрос как мне узнать диапазон секторов для любой вставленной флешки с которыми можно работать?

Ну обычно в секторе размещается 512 байт. Поделите объем флэшки (написано на самой карте) на 512 и получите количество секторов.


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 22 2008, 11:12
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SALOME @ Apr 22 2008, 13:00) *
Поделите объем флэшки (написано на самой карте) на 512 и получите количество секторов.

Да уж sad.gif. Вся информация выдается самой флешкой, размер сектора можно задать в случае необходимости. Для этого просто следует ознакомиться с системой команд (CMD9 Get CSD). То, что написано на флешке к реальности отношения не имеет, да и читать этикетки прграммно сложно smile.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SALOME
сообщение Apr 23 2008, 02:13
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(zltigo @ Apr 22 2008, 18:12) *
Да уж sad.gif. Вся информация выдается самой флешкой, размер сектора можно задать в случае необходимости. Для этого просто следует ознакомиться с системой команд (CMD9 Get CSD). То, что написано на флешке к реальности отношения не имеет, да и читать этикетки прграммно сложно smile.gif.

Вы все правильно говорите. Вся информация находится в самой флэшке. Но судя по всему у аффтора проблемы с доступом в регистр CSD, на который уже не однократно указывалось:
"я нашел программку на си для кодевижена которой от меня требуется только номер сектора и массив из 512 данных". Боюсь, что здесь не тот уровень, на котором можно получить доступ к регистру CSD найти где в нем храниться информация о размере карты и сделать правильный расчет. Хорошо бы в этой "программке си" найти процедуру определения размера карты. Это был бы лучший вариант.
А по поводу несоответствия надписи на флэшке: Вы имеете ввиду тот факт, что 1Кбайт=1024байт? или еще что-то?


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 23 2008, 05:42
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SALOME @ Apr 23 2008, 04:13) *
.. по поводу несоответствия надписи на флэшке: Вы имеете ввиду тот факт, что 1Кбайт=1024байт? или еще что-то?

Разумеется нет. Вот, например, гигабайтовая флешка:
Код
mount
Card:SDC[22] Size:995.656MB/512 F:25MHz(14745600) WP:[Off]

stat
FAT32. Number of FATs: 2. Bytes per Cluster: 16384
Root entries  : 512. Sectors per FAT: 243
Total Clusters: 62184. Free: 52927
FAT  start (LBA)         : 250
DIR  start (LBA, Cluster): 736
DATA start (LBA)         : 768


Флешка там конечно внутри стоит гигабайтовая, но часть ее используется под служебные цели и под запас для замены битых блоков. Посему размер спрашивать только у самой флешки.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SALOME
сообщение Apr 23 2008, 05:56
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(zltigo @ Apr 23 2008, 12:42) *
Флешка там конечно внутри стоит гигабайтовая, но часть ее используется под служебные цели и под запас для замены битых блоков. Посему размер спрашивать только у самой флешки.

Я правильно понимаю, что с ростом количества битых блоков будет уменьшаться размер памяти, выдаваемый регистром CSD?


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 24 2008, 05:27
Сообщение #23


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



спасибо уже становиться понятнее, мне кажется в этой программке должна быть функция какаято возвращающая каое какую инфу о флешке надо порыться)
Go to the top of the page
 
+Quote Post
SALOME
сообщение Apr 24 2008, 05:41
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(zltigo @ Apr 23 2008, 12:42) *
Флешка там конечно внутри стоит гигабайтовая, но часть ее используется под служебные цели и под запас для замены битых блоков.

И еще такой вопрос. Если флэшка отформатирована под FAT, то по логике вещей при многократной перезаписи должны появляться битые секторы. Windows это как то отслеживает? Или битые секторы выявляются только при форматировании? Или как?


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 24 2008, 05:49
Сообщение #25


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



это всё определяет контроллер на борту самой флешки нам я так поня из мануала нестоит об этом переживать)

почему я немогу файл выложить небольшой текстовый сюда?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 24 2008, 05:53
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SALOME @ Apr 23 2008, 07:56) *
Я правильно понимаю, что с ростом количества битых блоков будет уменьшаться размер памяти, выдаваемый регистром CSD?

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SALOME
сообщение Apr 24 2008, 08:57
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(zltigo @ Apr 24 2008, 12:53) *
Нет. Просто пополнятся из резерва. После исчерпания резерва, битые сектора полезут наружу и будут уже маркироваться, как битые на файловой системе.

Спасибо за информацию.


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
galjoen
сообщение Apr 24 2008, 11:35
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(zltigo @ Apr 24 2008, 09:53) *
Нет. Просто пополнятся из резерва. После исчерпания резерва, битые сектора полезут наружу и будут уже маркироваться, как битые на файловой системе.

Что-то я не понял, что в CSD есть сведения о файловой системе на этой флешке? Это ведь ОС будет если захочет/сможет их маркировать как битые?
В своё время я пробовал при записи в свой самодельный MassStorage возвращать Sense Key=3, ASC=3, ASCQ=0 (WRITE FAULT) - Win зацикливалась на записи. Хотя м.б. это у меня какой-то другой глюк был. Или ОС как-то подругому узнаёт, что сектор битый?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 24 2008, 12:25
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 10 269
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(galjoen @ Apr 24 2008, 15:35) *
Что-то я не понял, что в CSD есть сведения о файловой системе на этой флешке? Это ведь ОС будет если захочет/сможет их маркировать как битые?

Сначала маскировать будет сама карта, система об этом и не узнает.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Apr 24 2008, 13:05
Сообщение #30


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(aaarrr @ Apr 24 2008, 16:25) *
Сначала маскировать будет сама карта, система об этом и не узнает.

Ну это понятно. А когда запас секторов кончится?
Я столкнулся с такой ситуацией: имеется совершенно новая флешка, она есс-но не отформатирована, и при чтении всех секторов в т.ч. 0го у неё есс-но ошибка CRC. Я и выдавал эту ошибку (Sense Key=3, ASC=0x10, ASCQ=0). Тогда Win зацикливалась на чтении 0го сектора, и отформатировать флешку я не мог. Получался замкнутый круг. Пришлось установить специальное условие - при чтении 0го сектора считать, что CRC верна. Мне показалось, что и при записи сектора в Win подобный глюк, т.к. при возврате ошибки Win зацикливается на записи в этот сектор. А такими командами, как Write and Verifu, Win вообще не пользуется. В каком-же случае Win помечает сектор как битый?
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th November 2017 - 21:00
Рейтинг@Mail.ru


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