|
Снова SD/MMC, Вопросы, на которые не нащел пока ответов |
|
|
|
Apr 17 2008, 10:15
|
Местный
  
Группа: Свой
Сообщений: 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 (сектор).
|
|
|
|
|
 |
Ответов
|
Apr 22 2008, 11:00
|

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

|
Цитата(wwweider @ Apr 22 2008, 11:04)  я нашел программку на си для кодевижена которой от меня требуется только номер сектора и массив из 512 данных. теперь вопрос как мне узнать диапазон секторов для любой вставленной флешки с которыми можно работать? Ну обычно в секторе размещается 512 байт. Поделите объем флэшки (написано на самой карте) на 512 и получите количество секторов.
--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
|
|
|
|
|
Apr 23 2008, 02:13
|

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

|
Цитата(zltigo @ Apr 22 2008, 18:12)  Да уж  . Вся информация выдается самой флешкой, размер сектора можно задать в случае необходимости. Для этого просто следует ознакомиться с системой команд (CMD9 Get CSD). То, что написано на флешке к реальности отношения не имеет, да и читать этикетки прграммно сложно  . Вы все правильно говорите. Вся информация находится в самой флэшке. Но судя по всему у аффтора проблемы с доступом в регистр CSD, на который уже не однократно указывалось: "я нашел программку на си для кодевижена которой от меня требуется только номер сектора и массив из 512 данных". Боюсь, что здесь не тот уровень, на котором можно получить доступ к регистру CSD найти где в нем храниться информация о размере карты и сделать правильный расчет. Хорошо бы в этой "программке си" найти процедуру определения размера карты. Это был бы лучший вариант. А по поводу несоответствия надписи на флэшке: Вы имеете ввиду тот факт, что 1Кбайт=1024байт? или еще что-то?
--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
|
|
|
|
|
Apr 23 2008, 05:42
|

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

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

|
Цитата(zltigo @ Apr 23 2008, 12:42)  Флешка там конечно внутри стоит гигабайтовая, но часть ее используется под служебные цели и под запас для замены битых блоков. Посему размер спрашивать только у самой флешки. Я правильно понимаю, что с ростом количества битых блоков будет уменьшаться размер памяти, выдаваемый регистром CSD?
--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
|
|
|
|
|
Apr 24 2008, 08:57
|

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

|
Цитата(zltigo @ Apr 24 2008, 12:53)  Нет. Просто пополнятся из резерва. После исчерпания резерва, битые сектора полезут наружу и будут уже маркироваться, как битые на файловой системе. Спасибо за информацию.
--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
|
|
|
|
Сообщений в этой теме
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       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     SALOME Цитата(zltigo @ Apr 23 2008, 12:42) Флешк... Apr 24 2008, 05:41 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|