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

 
 
> Снова SD/MMC, Вопросы, на которые не нащел пока ответов
InvisibleFed
сообщение Apr 17 2008, 10:15
Сообщение #1


Местный
***

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



Подключаю карту SD к AVR. Вот вроде все, пишет, читает, регистры читает и все такое. Но вот возникли вопросы.

1. Правельно ли утверждение, что я могу писать в блок/сектор сколько угодно раз без стирания?
2. Если да, то нафига стирание (т. е. зачем сама операция)?
3. Как происходит адресация? Т. е. например в блоке/секторе 512 байт. Если я записываю 512 байт по адресу 0x00000001, то следующие 512 байт "начнуться" с адреса 0x00000001 + 0x00000200 (512) = 0x00000201 (513)?
4. Из регистра CSD судя по SDProdManual для карточек SanDisk можно вытащить информацию обо все параметрах-размерах (размер сектора/блока, их число, число байт => вычислить весь объем карточки). Справедливо ли это для карт прочих производителей? Как узнать объем вставленной карточки?
5. Часть секторов/блоков именуются как write protected. Как узнать об их распределении по адресному пространству карточки, где они расположены? Т. е. я, к примеру, пишу блок/сектор, а потом оказывается что туда нельзя писать, т. к. он защищен.

P. S. "блок/сектор" - единица информации, обычно в 512 байт. По непонятным причинам, как я понял, эти совершенно разные понятия конфликтуют в доках на карты SD (блок) и MMC (сектор).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
wwweider
сообщение Apr 22 2008, 04:04
Сообщение #2


Местный
***

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



я нашел программку на си для кодевижена которой от меня требуется только номер сектора и массив из 512 данных.
теперь вопрос как мне узнать диапазон секторов для любой вставленной флешки с которыми можно работать?
Go to the top of the page
 
+Quote Post
SALOME
сообщение Apr 22 2008, 11:00
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 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 24 2008, 05:41
Сообщение #7


Местный
***

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



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

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


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- InvisibleFed   Снова SD/MMC   Apr 17 2008, 10:15
- - InvisibleFed   Неужели никто не может помочь? Наверняка кто-нить ...   Apr 18 2008, 05:12
|- - yarunt   Цитата(InvisibleFed @ Apr 18 2008, 08:12)...   Apr 18 2008, 05:56
- - InvisibleFed   Если Вы давали ответ на 3-й вопрос, то я немного п...   Apr 18 2008, 12:36
- - aaarrr   Цитата(InvisibleFed @ Apr 17 2008, 14:15)...   Apr 18 2008, 12:41
- - galjoen   Цитата(InvisibleFed @ Apr 17 2008, 14:15)...   Apr 18 2008, 13:35
|- - aaarrr   Цитата(galjoen @ Apr 18 2008, 17:35) Или ...   Apr 18 2008, 13:41
|- - galjoen   Цитата(aaarrr @ Apr 18 2008, 17:41) Сбойн...   Apr 18 2008, 14:01
|- - aaarrr   Цитата(galjoen @ Apr 18 2008, 18:01) Т.е....   Apr 18 2008, 14:11
|- - galjoen   Цитата(aaarrr @ Apr 18 2008, 18:11) Ровно...   Apr 18 2008, 14:47
- - InvisibleFed   Цитата512 байт по адресу 0x01 никто записать не по...   Apr 18 2008, 22:50
|- - SALOME   Цитата(InvisibleFed @ Apr 19 2008, 05:50)...   Apr 21 2008, 08:33
- - InvisibleFed   Спасибо за помощь. Ошибка действительно была в мое...   Apr 21 2008, 12:25
|- - SALOME   Цитата(zltigo @ Apr 23 2008, 12:42) Флешк...   Apr 23 2008, 05:56
||- - zltigo   Цитата(SALOME @ Apr 23 2008, 07:56) Я пра...   Apr 24 2008, 05:53
||- - SALOME   Цитата(zltigo @ Apr 24 2008, 12:53) Нет. ...   Apr 24 2008, 08:57
||- - galjoen   Цитата(zltigo @ Apr 24 2008, 09:53) Нет. ...   Apr 24 2008, 11:35
||- - aaarrr   Цитата(galjoen @ Apr 24 2008, 15:35) Что-...   Apr 24 2008, 12:25
||- - galjoen   Цитата(aaarrr @ Apr 24 2008, 16:25) Снача...   Apr 24 2008, 13:05
- - jorikdima   прочитать документацию   Apr 22 2008, 06:12
- - wwweider   какую?   Apr 22 2008, 08:07
- - InvisibleFed   Например эту. Обратите снимание на регистр CSD и д...   Apr 22 2008, 09:32
- - wwweider   спасибо уже становиться понятнее, мне кажется в эт...   Apr 24 2008, 05:27
- - wwweider   это всё определяет контроллер на борту самой флешк...   Apr 24 2008, 05:49
- - InvisibleFed   Идем дальше, как говорится... Имею на руках две фл...   May 4 2008, 05:22
- - AndreyS   Добрый день. Не хотел создавать новую тему, так к...   May 15 2008, 20:51
|- - aaarrr   Цитата(AndreyS @ May 16 2008, 00:51) Вот ...   May 15 2008, 20:57
|- - AndreyS   Цитата(aaarrr @ May 16 2008, 00:57) Право...   May 15 2008, 21:07
|- - AndreyS   Добрый день. Может быть я плохо искал по форуму и...   Sep 10 2008, 08:10
- - sergeeff   С посекторной записью в SD вопрос неприятный. Мне ...   Sep 10 2008, 10:19
|- - AndreyS   Цитата(sergeeff @ Sep 10 2008, 14:19) С п...   Sep 10 2008, 10:54
- - М430   Доброго дня. Имею аналогичную проблему с MicroSD ...   Sep 15 2008, 14:15
- - aaarrr   28/0.11 = 254. Ну очень похоже на 256 - размер как...   Sep 15 2008, 20:23
|- - М430   Цитата(aaarrr @ Sep 15 2008, 23:23) 28/0....   Sep 16 2008, 06:13
- - М430   И еще интересный момент. В вышеописанных условиях ...   Sep 16 2008, 08:11
|- - aaarrr   Цитата(М430 @ Sep 16 2008, 12:11) Что за ...   Sep 18 2008, 08:05
|- - jorikdima   Цитата(aaarrr @ Sep 18 2008, 12:05) На эт...   Sep 18 2008, 09:31
- - jorikdima   У меня тоже проблемы с недетерменированностью врем...   Sep 16 2008, 09:25
- - LCD   Здравствуйте. Делаю поддержку флешек microSD на MS...   Oct 2 2008, 20:14
|- - AndreyS   Цитата(LCD @ Oct 3 2008, 00:14) Здравству...   Oct 3 2008, 06:23
|- - stepper88   Дабы не плодить темы, пишу сюда. Есть в наличии пл...   Sep 12 2012, 07:27
- - LCD   Да, чтобы помогли найти ошибку или дали исходники,...   Oct 3 2008, 07:41
- - LCD   Все, разобрался, вопрос больше не актуален   Oct 3 2008, 21:34
- - Cyber_RAT   Рассказали бы другим... а то я вот собираюсь прикр...   Oct 4 2008, 17:37
- - LCD   Я выложу diskio, когда доделаю его до конца, мне н...   Oct 7 2008, 17:27
- - ISD   Проблема с microSD Kingston 1Гб. Делаю чтение бло...   Oct 24 2008, 11:08
- - aaarrr   Так и понимать. Постоянную скорость Вам никто не о...   Oct 24 2008, 11:11
- - ISD   исходя из этого параметра можно считать, что чтени...   Oct 24 2008, 13:46
|- - aaarrr   Цитата(ISD @ Oct 24 2008, 17:46) Чет медл...   Oct 24 2008, 13:53
- - ISD   Если работать на 2 МГц CLK, надо буфер более 25КБ ...   Oct 24 2008, 14:07
- - LCD   Цитата(ISD @ Oct 24 2008, 18:07) Если раб...   Oct 25 2008, 13:37
- - ISD   Потому, что при 2Мгц CLK за 100мс должно прочитать...   Oct 27 2008, 07:19
- - Angelo   На второй странице этой ветки SALOME задаёт вопрос...   Jul 23 2009, 17:00
- - aaarrr   Маловероятно, что при такой работе вообще вылезут ...   Jul 23 2009, 18:07
- - forever_student   Всем доброго дня! Столкнулся с таким непонятны...   Apr 11 2010, 15:25
- - zltigo   Цитата(forever_student @ Apr 11 2010, 17...   Apr 11 2010, 15:44
- - forever_student   Цитата(zltigo @ Apr 11 2010, 19:59) А поч...   Apr 11 2010, 18:21
- - zltigo   Цитата(forever_student @ Apr 11 2010, 20...   Apr 11 2010, 18:54
- - forever_student   Цитата(zltigo @ Apr 11 2010, 23:09) ... б...   Apr 11 2010, 19:14
- - zltigo   Цитата(forever_student @ Apr 11 2010, 21...   Apr 11 2010, 19:22
- - forever_student   ЦитатаВот и КОНТРОЛИРУЙТЕ ответ-готовность при пер...   Apr 11 2010, 19:54
- - zltigo   Цитатавсе 0хFF. Это правильная реакция карты готов...   Apr 11 2010, 20:14
- - forever_student   Передаю CMD55, жду responce 0x01, CS оставляю акти...   Apr 11 2010, 20:39
- - zltigo   Цитата(forever_student @ Apr 11 2010, 22...   Apr 11 2010, 21:36
- - forever_student   Цитата(zltigo @ Apr 12 2010, 01:51) А вот...   Apr 12 2010, 05:31


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:13
Рейтинг@Mail.ru


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