Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 26.03.2013, 10:52  
Frensis777
Прописка
 
Аватар для Frensis777
 
Регистрация: 15.03.2009
Сообщений: 162
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Frensis777 на пути к лучшему
По умолчанию Вопросы по SD-Card in CodeVisionAVR

Товарищи! Возникла необходимость записи/чтения информации на SD-карту побайтно. Но в компиляторе CodeVisionAVR существуют следующие две функции чтения/записи:
1) DRESULT disk_read (unsigned char drv, unsigned char* buff, unsigned long sector, unsigned char count)
2) DRESULT disk_write (unsigned char drv, unsigned char* buff, unsigned long sector, unsigned char count)
Но, дело в том, что в хелпе на эти функции сказано, что чтение/запись идет секторами. Мне же нужно побайтно. Может кто сталкивался с этой проблемой?
Реклама:
Frensis777 вне форума  
Непрочитано 26.03.2013, 12:44  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Вопросы по SD-Card in CodeVisionAVR

Сообщение от Frensis777 Посмотреть сообщение
Товарищи! Возникла необходимость записи/чтения информации на SD-карту побайтно. Но в компиляторе CodeVisionAVR существуют следующие две функции чтения/записи:
1) DRESULT disk_read (unsigned char drv, unsigned char* buff, unsigned long sector, unsigned char count)
2) DRESULT disk_write (unsigned char drv, unsigned char* buff, unsigned long sector, unsigned char count)
Но, дело в том, что в хелпе на эти функции сказано, что чтение/запись идет секторами. Мне же нужно побайтно. Может кто сталкивался с этой проблемой?
Какая же это проблема?
Читайте в буфер памяти сектор, извлекайте нужный байт.
Побайтного чтения в карте нет.
Только не забудьте перед этим пройти довольно непростую фазу инициализации карты. Может, в CV она и есть, не знаю.
PS Только сейчас заметил название функции. У вас еще веселее. disk-read наводит на мысль о наличии FS. Тогда вам еще надо несколько операций произвести перед чтением диска. Такие как mount и open с анализом результатов действий.
Загляните на страничку Чана.
Если вы хотите работать в простом режиме SPI без дисковой организации - в любом случае вам придется на фазе инициализации карты узнавать ее параметры. И самому проводить все нужные вычисления номера сектора по адресу байта.
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 26.03.2013 в 12:51.
ut1wpr вне форума  
Непрочитано 26.03.2013, 16:31  
Frensis777
Прописка
 
Аватар для Frensis777
 
Регистрация: 15.03.2009
Сообщений: 162
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Frensis777 на пути к лучшему
По умолчанию Re: Вопросы по SD-Card in CodeVisionAVR

Что за файл такой Multimedia Card Image File, который надо прописать в свойствах карты памяти? Из-за этого не запускается симуляция.
Frensis777 вне форума  
Непрочитано 26.03.2013, 17:36  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Вопросы по SD-Card in CodeVisionAVR

Сообщение от Frensis777 Посмотреть сообщение
Что за файл такой Multimedia Card Image File, который надо прописать в свойствах карты памяти? Из-за этого не запускается симуляция.
Содержимое карты, скорее всего.
А вы про карты и работу с ними литературку читали? Надо бы...
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 26.03.2013, 18:18  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Вопросы по SD-Card in CodeVisionAVR

Если вопрос про симуляцию в Протеусе, то читать тут: http://nagits.wordpress.com/2010/10/18/avr_sd/
oleg110592 вне форума  
Непрочитано 26.03.2013, 19:07  
Frensis777
Прописка
 
Аватар для Frensis777
 
Регистрация: 15.03.2009
Сообщений: 162
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Frensis777 на пути к лучшему
По умолчанию Re: Вопросы по SD-Card in CodeVisionAVR

Сообщение от ut1wpr Посмотреть сообщение
А вы про карты и работу с ними литературку читали? Надо бы...
Читал, тов. ut1wpr, читал, аж...устал. В частности, в даташите SD- карты SANDISK указано, что в режиме SPI возможен побайтовый обмен данных, но подробности не уточняются.
Сообщение от oleg110592 Посмотреть сообщение
Если вопрос про симуляцию в Протеусе, то читать тут: http://nagits.wordpress.com/2010/10/18/avr_sd/
Спасибо за ссылку. Статья, действительно, очень полезная. Но... понимаете в чем дело, тов.oleg110592, запись/чтение и др. операции производятся через призму файловой системы FAT. Я же рассматриваю возможность данных операций, но в другом режиме, без форматирования SD карты.
Frensis777 вне форума  
Непрочитано 26.03.2013, 19:27  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Вопросы по SD-Card in CodeVisionAVR

По сылке написано как сделать Multimedia Card Image File. Побайтное чтение я делал с SD карты, но форматированой. Тут обсуждалось: http://radiokot.ru/forum/viewtopic.php?f=20&t=84445
oleg110592 вне форума  
Непрочитано 26.03.2013, 20:02  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Вопросы по SD-Card in CodeVisionAVR

Сообщение от Frensis777 Посмотреть сообщение
Я же рассматриваю возможность данных операций, но в другом режиме, без форматирования SD карты.
Пару лет назад именно так я и делал. Никакого FAT и никакого форматирования. Но весь расчет номера сектора, подлежащего считыванию, ляжет на вас.
Пожалуйста, покажите мне текст, где сказано, что на нижнем уровне карта допускает побитный обмен? Вы же читали про карты, и читали много.
Внутри карты есть буфер обмена. Вся работа "с улицы" ведется через него. Предварительно вам нужно задать номер сектора, а потом уже читать-писать. Для этого есть отдельные команды. И режимы чтения-записи тоже есть разные. Посекторные и многосекторные. Организация побайтной записи весьма нерациональна. Необходимо адрес байта перевести в номер сектора и смещение по сектору, сосчитать в буфер весь сектор целиком, записать по нужному смещению байт и модифицированный байт снова записать в карту. Для чтения отдельного байта нужно все равно вычислить по адресу байта сектор и смещение по нему. И сосчитав сектор в буфер вытащить из него нужный байт. Если вы продолжаете утверждать, что возможен побитный обмен, значит мы говорим на разных языках. Ну, и вы не совсем честно говорите, что читали про карту.
Кстати, для общего развития, размер сектора карты тоже не есть величина постоянная для всех типов карт и всех режимов. Наиболее употребителен размер в 512 байт.
Продолжайте внимательно читать. Я через это проходил, повторяю, пару лет назад. Ну нельзя без понимания самому что-то написать. Только слизать чужие листинги..
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 26.03.2013 в 20:06.
ut1wpr вне форума  
Непрочитано 26.03.2013, 21:18  
Frensis777
Прописка
 
Аватар для Frensis777
 
Регистрация: 15.03.2009
Сообщений: 162
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Frensis777 на пути к лучшему
По умолчанию Re: Вопросы по SD-Card in CodeVisionAVR

Сообщение от oleg110592 Посмотреть сообщение
По сылке написано как сделать Multimedia Card Image File.
Я понял, тов.oleg110592
Сообщение от oleg110592 Посмотреть сообщение
Побайтное чтение я делал с SD карты, но форматированой. Тут обсуждалось: http://radiokot.ru/forum/viewtopic.php?f=20&t=84445
Спасибо, тов.oleg110592
Сообщение от ut1wpr Посмотреть сообщение
Я через это проходил, повторяю, пару лет назад.
Спасибо, тов. ut1wpr
Сообщение от ut1wpr Посмотреть сообщение
Пожалуйста, покажите мне текст, где сказано, что на нижнем уровне карта допускает побитный обмен? Вы же читали про карты, и читали много.Если вы продолжаете утверждать, что возможен побитный обмен, значит мы говорим на разных языках.
Я такого не говорил. Я говорил побайтный:
Сообщение от ДАТАШИТ Посмотреть сообщение
1.5.10.4. Memory Array Partitioning SPI mode.
Memory partitioning in SPI mode is equivalent to SD Bus mode.
1.5.9.5. Memory Array Partitioning SD Bus mode
The basic unit of data transfer to/from the SD Card is one byte. All data transfer operations which require a block
size always define block lengths as integer multiples of bytes.

5.1.3. SPI mode. Data Read
SPI mode supports single block and multiple block read operations (SD Card CMD17 or CMD1. Upon reception
of a valid read command the card will respond with a response token followed by a data token in the length defined
in a previous SET_BLOCK_LENGTH (CMD16) command (see Figure 5-1).
The maximum block length is 512 bytes as defined by READ_BL_LEN (CSD parameter). Block lengths can be any number between 1 and READ_BL_LEN.
Сообщение от ut1wpr Посмотреть сообщение
Организация побайтной записи весьма нерациональна....записать по нужному смещению байт и модифицированный байт(?-прим.ред.) снова записать в карту.
сектор?
Сообщение от ut1wpr Посмотреть сообщение
Кстати, для общего развития, размер сектора карты тоже не есть величина постоянная для всех типов карт и всех режимов. Наиболее употребителен размер в 512 байт.
Разве это не блок?
Сообщение от ut1wpr Посмотреть сообщение
Пару лет назад именно так я и делал. Никакого FAT и никакого форматирования. Но весь расчет номера сектора, подлежащего считыванию, ляжет на вас....
Продолжайте внимательно читать...
Где, в каких источниках можно ознакомиться с описанием и применением низкоуровневых операций(не FAT) для выполнения действий с вычисления адресации и т.п?
Странно, что в хелпе CVAVR описаны лишь посекторные операции. Но разве это будет рационально, когда стоит задача записи информации побайтно? Т.е. правильно ли я понял, что используя данные функции, приведенные мною в 1 посте, для записи/чтения 1 байта будет тратиться весь сектор. При записи/чтении очередного байта будет использоваться уже следующий сектор. В итоге, большие части секторов останутся незанятыми информацией.

Последний раз редактировалось Frensis777; 26.03.2013 в 21:21.
Frensis777 вне форума  
Непрочитано 26.03.2013, 21:56  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Вопросы по SD-Card in CodeVisionAVR

Я давно брал идеи отсюда: http://toxygen.net/tmp/
Может чем поможет.
oleg110592 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LPC2468+SD card Segriv Микроконтроллеры, АЦП, память и т.д 9 07.11.2011 12:47
Ассемблерная вставка в CodeVisionAVR вопросы E_C_C Микроконтроллеры, АЦП, память и т.д 4 29.06.2011 17:14
SD-card -Dreamer- Микроконтроллеры, АЦП, память и т.д 10 15.05.2010 20:21
IDE card reader ILLLYA Микроконтроллеры, АЦП, память и т.д 1 14.04.2007 16:52
Разъем по MultiMedia Card Дима Микроконтроллеры, АЦП, память и т.д 1 16.07.2003 18:06


Часовой пояс GMT +4, время: 22:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot