ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
21 апреля
1501778 Топик полностью
SciFi (27.02.2025 13:19, просмотров: 120) ответил Adept на задам глупый вопрос (никогда плотно не сталкивался, заинтересовало) а вот SD-карточку в режиме SPI обязательно форматировать в какую-нить файловую систему, или можно использовать просто как массив FLASH?? и да, если чистая (текущая страница стёрта), то можно ли вести побайтовую стрим-запись , типа задал начальный адрес, и выкидываешь байты, или надо писать обязательно всю страницу целиком?
вот что говорит наш жестяной друг: 

При использовании SD-карты в режиме SPI, форматирование в файловую систему (например, FAT32) не является обязательным. Вы можете использовать SD-карту как массив флэш-памяти, если это соответствует вашим задачам. Однако, для удобства работы с данными и совместимости с другими устройствами, файловая система часто является предпочтительным выбором.

  1. Использование как массива флэш-памяти:

    • Если вы не используете файловую систему, то можете работать с SD-картой на уровне секторов (обычно 512 байт). Вы можете читать и записывать данные по секторам, используя соответствующие команды SPI (например, READ_SINGLE_BLOCK и WRITE_BLOCK).
    • Однако, SD-карта не поддерживает побайтовую запись. Запись всегда происходит блоками (секторами). Даже если вы хотите изменить один байт, вам нужно прочитать весь сектор, изменить нужный байт, а затем записать сектор обратно.
  2. Побайтовая запись:

    • Побайтовая запись напрямую невозможна. SD-карта работает с блоками данных, и для изменения одного байта требуется чтение, модификация и запись всего блока.
    • Если вы хотите вести "потоковую" запись, вам нужно будет управлять буфером в вашем коде, накапливать данные и записывать их блоками, когда буфер заполнится.
  3. Стирание страниц:

    • В SD-картах нет понятия "страниц" как во флэш-памяти NAND. Вместо этого используется блочная структура. Перед записью новых данных в блок, старые данные должны быть стерты. Однако, это обычно прозрачно для пользователя, так как контроллер SD-карты сам управляет этим процессом.
  • Если вам нужно часто изменять небольшие объемы данных, рассмотрите использование файловой системы (например, FAT16/FAT32), которая упрощает управление данными и позволяет работать с файлами.
  • Если вы хотите использовать SD-карту как массив памяти, убедитесь, что ваш код правильно управляет блочной записью и чтением.

В итоге, SD-карта в режиме SPI может использоваться как массив флэш-памяти, но запись всегда происходит блоками, а не побайтово.

ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้