Гость wwweider 22 апреля, 2008 Опубликовано 22 апреля, 2008 · Жалоба какую? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
InvisibleFed 0 22 апреля, 2008 Опубликовано 22 апреля, 2008 · Жалоба Например эту. Обратите снимание на регистр CSD и данные в нем. ProdManualSDCardv1.9.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SALOME 0 22 апреля, 2008 Опубликовано 22 апреля, 2008 · Жалоба я нашел программку на си для кодевижена которой от меня требуется только номер сектора и массив из 512 данных. теперь вопрос как мне узнать диапазон секторов для любой вставленной флешки с которыми можно работать? Ну обычно в секторе размещается 512 байт. Поделите объем флэшки (написано на самой карте) на 512 и получите количество секторов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 22 апреля, 2008 Опубликовано 22 апреля, 2008 · Жалоба Поделите объем флэшки (написано на самой карте) на 512 и получите количество секторов. Да уж :(. Вся информация выдается самой флешкой, размер сектора можно задать в случае необходимости. Для этого просто следует ознакомиться с системой команд (CMD9 Get CSD). То, что написано на флешке к реальности отношения не имеет, да и читать этикетки прграммно сложно :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SALOME 0 23 апреля, 2008 Опубликовано 23 апреля, 2008 · Жалоба Да уж :(. Вся информация выдается самой флешкой, размер сектора можно задать в случае необходимости. Для этого просто следует ознакомиться с системой команд (CMD9 Get CSD). То, что написано на флешке к реальности отношения не имеет, да и читать этикетки прграммно сложно :). Вы все правильно говорите. Вся информация находится в самой флэшке. Но судя по всему у аффтора проблемы с доступом в регистр CSD, на который уже не однократно указывалось: "я нашел программку на си для кодевижена которой от меня требуется только номер сектора и массив из 512 данных". Боюсь, что здесь не тот уровень, на котором можно получить доступ к регистру CSD найти где в нем храниться информация о размере карты и сделать правильный расчет. Хорошо бы в этой "программке си" найти процедуру определения размера карты. Это был бы лучший вариант. А по поводу несоответствия надписи на флэшке: Вы имеете ввиду тот факт, что 1Кбайт=1024байт? или еще что-то? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 23 апреля, 2008 Опубликовано 23 апреля, 2008 · Жалоба .. по поводу несоответствия надписи на флэшке: Вы имеете ввиду тот факт, что 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 Флешка там конечно внутри стоит гигабайтовая, но часть ее используется под служебные цели и под запас для замены битых блоков. Посему размер спрашивать только у самой флешки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SALOME 0 23 апреля, 2008 Опубликовано 23 апреля, 2008 · Жалоба Флешка там конечно внутри стоит гигабайтовая, но часть ее используется под служебные цели и под запас для замены битых блоков. Посему размер спрашивать только у самой флешки. Я правильно понимаю, что с ростом количества битых блоков будет уменьшаться размер памяти, выдаваемый регистром CSD? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость wwweider 24 апреля, 2008 Опубликовано 24 апреля, 2008 · Жалоба спасибо уже становиться понятнее, мне кажется в этой программке должна быть функция какаято возвращающая каое какую инфу о флешке надо порыться) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SALOME 0 24 апреля, 2008 Опубликовано 24 апреля, 2008 · Жалоба Флешка там конечно внутри стоит гигабайтовая, но часть ее используется под служебные цели и под запас для замены битых блоков. И еще такой вопрос. Если флэшка отформатирована под FAT, то по логике вещей при многократной перезаписи должны появляться битые секторы. Windows это как то отслеживает? Или битые секторы выявляются только при форматировании? Или как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость wwweider 24 апреля, 2008 Опубликовано 24 апреля, 2008 · Жалоба это всё определяет контроллер на борту самой флешки нам я так поня из мануала нестоит об этом переживать) почему я немогу файл выложить небольшой текстовый сюда? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 24 апреля, 2008 Опубликовано 24 апреля, 2008 · Жалоба Я правильно понимаю, что с ростом количества битых блоков будет уменьшаться размер памяти, выдаваемый регистром CSD? Нет. Просто пополнятся из резерва. После исчерпания резерва, битые сектора полезут наружу и будут уже маркироваться, как битые на файловой системе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SALOME 0 24 апреля, 2008 Опубликовано 24 апреля, 2008 · Жалоба Нет. Просто пополнятся из резерва. После исчерпания резерва, битые сектора полезут наружу и будут уже маркироваться, как битые на файловой системе. Спасибо за информацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
galjoen 0 24 апреля, 2008 Опубликовано 24 апреля, 2008 · Жалоба Нет. Просто пополнятся из резерва. После исчерпания резерва, битые сектора полезут наружу и будут уже маркироваться, как битые на файловой системе. Что-то я не понял, что в CSD есть сведения о файловой системе на этой флешке? Это ведь ОС будет если захочет/сможет их маркировать как битые? В своё время я пробовал при записи в свой самодельный MassStorage возвращать Sense Key=3, ASC=3, ASCQ=0 (WRITE FAULT) - Win зацикливалась на записи. Хотя м.б. это у меня какой-то другой глюк был. Или ОС как-то подругому узнаёт, что сектор битый? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 24 апреля, 2008 Опубликовано 24 апреля, 2008 · Жалоба Что-то я не понял, что в CSD есть сведения о файловой системе на этой флешке? Это ведь ОС будет если захочет/сможет их маркировать как битые? Сначала маскировать будет сама карта, система об этом и не узнает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
galjoen 0 24 апреля, 2008 Опубликовано 24 апреля, 2008 · Жалоба Сначала маскировать будет сама карта, система об этом и не узнает. Ну это понятно. А когда запас секторов кончится? Я столкнулся с такой ситуацией: имеется совершенно новая флешка, она есс-но не отформатирована, и при чтении всех секторов в т.ч. 0го у неё есс-но ошибка CRC. Я и выдавал эту ошибку (Sense Key=3, ASC=0x10, ASCQ=0). Тогда Win зацикливалась на чтении 0го сектора, и отформатировать флешку я не мог. Получался замкнутый круг. Пришлось установить специальное условие - при чтении 0го сектора считать, что CRC верна. Мне показалось, что и при записи сектора в Win подобный глюк, т.к. при возврате ошибки Win зацикливается на записи в этот сектор. А такими командами, как Write and Verifu, Win вообще не пользуется. В каком-же случае Win помечает сектор как битый? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться