Подключаем sd. Как SD-карту сделать основной памятью на Андроид

(4 оценок)

Если на вашем устройстве недостаточный объем внутренней памяти, можно использовать SD-карту как внутреннее хранилище для вашего телефона Android. Данная функция, называемая Adoptable Storage, позволяет ОС Андроид форматировать внешний носитель данных как постоянное внутреннее хранилище. Информация на установленной SD-card зашифрована и не может быть в дальнейшем использована на другом устройстве.

SD Card – это очень удобный вариант для хранения фотографий, песен и видео. Даже если у вас есть большой объем внутренней памяти на Андроид-смартфоне, всегда может понадобиться большой кусок памяти для хранения длинных видеороликов, снятых камерой высокого разрешения вашего телефона.

Важно знать

Есть один недостаток, СД-чип может отставать при записи видео высокого разрешения.

Андроид по умолчанию устанавливает приложения во внутренней памяти и лишь изредка выгружает данные на SD-карту. Таким образом, вы лишены установки каких-либо дополнительных приложений, если на вашем телефоне ощутима нехватка объема внутреннего хранилища, например, в случае бюджетных устройств на Android One.

Что такое накопительное хранилище?

Накопительное хранилище – это основной объем памяти вашего смартфона, но при необходимости его можно расширить, использовав для этого СД-карточку.

Данная на Андроид называется Adoptable Storage. Это позволит использовать съемную карту microSD, установленную на телефоне Android, в качестве основного хранилища. Таким образом, вы сможете легко решить проблему, как сделать SD-карту основной памятью на Андроиде и преодолеть нехватку в пространстве, если телефон имеет небольшой внутренний объем.

Особенности использования карты как основного хранилища

Есть ряд некоторых важных особенностей, которые следует учитывать при данной процедуре.

Будет полезным

При использовании накопителя, будь то SD-флешка или USB-накопитель, важно помнить, в каком формате находится данный девайс и поддерживает ли его операционная система Android, а основных файловых форматов существует четыре типа: FAT32 или exFAT, ext4 или f2fs.

Как поменять память телефона на карту памяти андроида? Вопрос не совсем корректный, полностью выполнить замену невозможно, можно лишь как бы «нарастить» дополнительный объем.

Использование вашей SD-card в качестве основного накопителя может быть отличным решением для меломанов и любителей посмотреть сериалы по пути на работу или в длительном путешествии. Но, как зачастую это бывает, расширение памяти всегда упирается в стоимость требуемого девайса, ведь они отличаются как по скорости, так и по объему, а также по адаптируемой функции хранения информации. Вот некоторые нюансы, рассматривать которые можно с разных сторон – как в отрицательную сторону, так и в положительную:

  • SD-карты медленные. Это болезненная реальность современных крошечных чипов памяти. Несмотря на то, что они могут хранить тонны данных, они медленнее, чем телефонное хранилище и имеют ограниченное количество циклов чтения-записи.
  • Важно знать

    Использование SD-карт в качестве постоянного хранилища потребует более частых операций чтения/записи, что со временем ухудшит ее производительность, а в худшем случае может привести к полной потере данных. Особенно обидно будет, если там присутствуют важные документы или дорогие для памяти фотографии или уникальные видеозаписи.

    Предварительно, прежде чем поменять память телефона на карту памяти, ваш Андроид сделает тест производительности SD-карточки, чтобы убедиться, что она достаточно быстрая и может соответствовать параметрам для использования в качестве главного накопителя.

  • Безвозвратная интеграция в операционную систему. С использованием функции Adoptable Storage операционная система Android зашифровывает внешнюю SD-карту, используемую как внутреннее хранилище, поэтому она привязывает к определенному устройству, без возможности дальнейшего использования на другом смартфоне. Ключ, используемый для шифрования данных на SD-карте, хранится во основной памяти устройства Android. Таким образом, невозможно демонтировать принятое хранилище на другой телефон из-за его зашифрованного характера данных (вынуть карту можно, но она не определится на другом телефоне).
  • Однако вы можете удалить внешнее съемное вместилище с вашего устройства и вернуть его обратно в режим работы простого флеш-накопителя. Устройство запомнит , которые находятся на данной карточке, чтобы восстановить настройки, когда принятое устройство будет подключено позже. Таким образом, вы также можете использовать другой накопительный дивайс.

    Важно знать

    Всегда следите за тем, чтобы вы не удалили установленную по умолчанию SD-карту при процедуре размонтирования, иначе носитель информации может быть поврежден.

  • Не все программы можно установить. Практически Android может устанавливать почти все приложения на внутреннем накопителе. Однако это также зависит от согласия разработчика приложений. Он имеет право включать или отключать поддержку принятого хранилища в приложении, добавляя в код скачиваемой программы соответствующие атрибуты.
  • Как использовать SD-карту в качестве внутренней памяти на Android?

    Как заменить внутреннюю память телефона на внешнюю sd карту на android? Конфигурирование вашей SD-карты для работы в качестве внутреннего хранилища на Android – это, по сути, довольно простой процесс. Ничего сложного в этом нет и вы далее сами в этом убедитесь.

    Обратите внимание

    Обратите внимание, что ваша SD-шка будет отформатирована во время процесса. Не забудьте сделать резервную копию данных, временно перекинув их на основной блок телефона, стационарный компьютер, ноутбук или другое смарт-устройство.

    Возможно, что функция Adoptable Storage не поддерживается вашим устройством, даже если смартфон работает под управлением Android 6.0 и выше (бывает и такое, все зависит от модели и марки смартфона). Возможно, производитель устройств отключил данную функцию. Однако существуют методы использования командной строки, которые позволяют принудительно использовать флеш-накопитель для хранения данных.

    Ниже перечислены основные шаги по форматированию.

    • Поместите SD-карту на телефон Android и дождитесь ее определения или отображения в .
    • Теперь откройте «Настройки».
    • Прокрутите вниз и перейдите в раздел «Хранилище».
    • Коснитесь имени вашей SD-шки.
    • Коснитесь трех вертикальных точек в правом верхнем углу экрана.
    • Нажмите «Настройки хранилища».
    • Выберите формат «как внутренний вариант».
    • На следующем экране у вас есть последний шанс решить для себя, не хотите ли вы передумать

Многие пользователи iPhone и iPad мечтали получить возможность подключать к своим устройствам карты памяти еще с релиза iPhone 3G. Чуть позже такое решение появилось, но требовало установки джейлбрейка, а потом «родной» переходник все же дождались и от Apple. Тем не менее первый в мире Lightning-картридер с возможностью чтения и записи разработали вовсе не в Купертино, а в небольшой компании Adata.

Осенью прошлого года последняя представила Lightning Card Reader — специальный переходник для работы iPhone и iPad с картами памяти SD и microSD. Мы дождались свой экземпляр и готовы рассказать о своих впечатлениях, а самое главное — ответить на вопрос: нужен ли вообще такой картридер?


Признаться, все — от упаковки до дизайна — выдает в Lightning Card Reader продукт от Apple, однако это вовсе не так. Да, по внешнему виду он напоминает стандартные «яблочные» переходники, но надпись Adata рассеивает все сомнения. Упаковка простая и удобная, а внутри ничего лишнего: только картридер и небольшая инструкция.



Первое, на что мы сразу обратили внимание, это вес. Аксессуар практически невесомый и утяжелит вашу сумку не более, чем полная упаковка жевательной резинки. Очень здорово для фотографов, у которых и без этого рюкзаки весят не менее 10 килограммов.

Сверху у картридера расположен слот для карт microSD, а снизу — для карточек SD, поддерживаются накопители объемом до 256 ГБ. Любопытно, что microSD вставляются правильно, а вот обычные SD приходится сначала переворачивать надписью вниз. То ли задумка дизайнерская такая, то ли коннекторы перепутали. В любом случае решение странное.



Для работы с Lightning Card Reader необходимо установить универсальное бесплатное приложение Power Drive (ссылка ниже) — с его помощью можно переносить данные с карт на iPhone или iPad, просматривать видео и многое другое. Точно так же картридер работает и в обратном направлении — например, можно «залить» ролик с iPad на карточку SD. До Adata остальные аксессуары работали только на чтение, но не на запись.



В приложении предусмотрена возможность получить быстрый доступ к фотографиям и видео на SD, чтобы не лазить по папкам, а также создать резервную копию устройства на карту. И iTunes больше вам не потребуется, ведь Power Drive — это еще и крутой файловый менеджер. Все в одном, как говорится.



Единственное, чего не хватает Lightning Card Reader, по нашим наблюдениям, так это скорости. Копирование видео занимает больше времени, чем хотелось бы, а уж если вы перекидываете ролик в 4K с GoPro, можно еще успеть пообедать. В остальном же это одно из лучших (и чуть ли не единственных) решений, которое можно найти. Аксессуар сертифицирован в рамках программы MFi, чего не скажешь о дешевых китайских подделках.


Название: PowerDrive
Издатель/разработчик: XINKER TECHNOLOGY CO.,LTD
Цена: Бесплатно
Встроенные покупки: Нет
Совместимость: Универсальное приложение
Ссылка:

Всем доброго дня! Сегодня мы поговорим о подключении карты памяти SD к микроконтроллеру STM32.

Казалось бы, памяти полно у контроллеров STM32F10x, зачем там еще дополнительная, но это впечатление обманчиво) Вот, например, надо нам на дисплей вывести пару-тройку разных изображений – формат 320*240 – то есть 76800 пикселей, каждому из которых соответствует целых 2 байта. Вот и получаем около 150 кБ на одну картинку. А это немало по меркам микроконтроллера, и не факт, что две разные картинки удастся запихать в его Flash память. Или надо нам хранить большие объемы информации, данные с какого-нибудь датчика, к примеру. Да еще так, чтобы эти данные были доступны и после отключения питания. Вот тут то нам и пригодится внешняя память. И отличным решением будет SD карта памяти или MMC. К слову в этой статье мы будем проводить опыты над картой micro SD .

Для начала пара слов о самой карте памяти, точнее о ее распиновке. Выглядит все это дело следующим образом:

Итак, что тут у нас? Ну сразу видно, что выводов у нее целых восемь штук. Назначение выводов следующее (слева направо):


Колонка SPI Mode нам намекает на то, что взаимодействует с микроконтроллером при помощи интерфейса SPI. НО! Мы пойдем по другому пути 😉 Все дело в том, что STM32 имеют на своем борту готовый периферийный модуль для работы именно с картами памяти, и называется он SDIO.

Вообще взаимодействие с картами памяти заключается в передаче им определенных команд. Некоторые команды требует наличия аргумента, некоторые нет. Команды можно найти в официальной документации на конкретную карту. Так вот встроенный модуль SDIO дает возможность значительно упростить процесс передачи команд, да и вообще процесс работы с внешними картами памяти. Например, вот регистр SDIO_CMD – туда мы просто напросто записываем код команды, которую хотим передать карте. Или вот статусный регистр SDIO_STA – там целых 24 флага на каждый чих, то есть для большого количества событий.

Кстати STM радует еще и добротной документацией на все это дело. Вот, к примеру, подробное описание инициализации для карты памяти SD (аналогично все описано для других типов карт):

Ну, собственно, пора перейти к практическому примерчику. Поковыряем-ка Standard Peripheral Library.

В файле stm32f10x_sdio.h по традиции находим структуры для всевозможной настройки – то есть для выбора источника тактового сигнала, частоты контроллера SDIO, настройки количества передаваемых байт. Там все так щедро откомментировано, что даже не хочется отдельно это повторять)) Просто смотрите:

typedef struct { uint32_t SDIO_ClockEdge; /* Specifies the clock transition on which the bit capture is made. This parameter can be a value of @ref SDIO_Clock_Edge */ uint32_t SDIO_ClockBypass; /* Specifies whether the SDIO Clock divider bypass is enabled or disabled. This parameter can be a value of @ref SDIO_Clock_Bypass */ uint32_t SDIO_ClockPowerSave; /* Specifies whether SDIO Clock output is enabled or disabled when the bus is idle. This parameter can be a value of @ref SDIO_Clock_Power_Save */ uint32_t SDIO_BusWide; /* Specifies the SDIO bus width. This parameter can be a value of @ref SDIO_Bus_Wide */ uint32_t SDIO_HardwareFlowControl; /* Specifies whether the SDIO hardware flow control is enabled or disabled. This parameter can be a value of @ref SDIO_Hardware_Flow_Control */ uint8_t SDIO_ClockDiv; /* Specifies the clock frequency of the SDIO controller. This parameter can be a value between 0x00 and 0xFF. */ } SDIO_InitTypeDef; typedef struct { uint32_t SDIO_Argument; /* Specifies the SDIO command argument which is sent to a card as part of a command message. If a command contains an argument, it must be loaded into this register before writing the command to the command register */ uint32_t SDIO_CmdIndex; /* Specifies the SDIO command index. It must be lower than 0x40. */ uint32_t SDIO_Response; /* Specifies the SDIO response type. This parameter can be a value of @ref SDIO_Response_Type */ uint32_t SDIO_Wait; /* Specifies whether SDIO wait-for-interrupt request is enabled or disabled. This parameter can be a value of @ref SDIO_Wait_Interrupt_State */ uint32_t SDIO_CPSM; /* Specifies whether SDIO Command path state machine (CPSM) is enabled or disabled. This parameter can be a value of @ref SDIO_CPSM_State */ } SDIO_CmdInitTypeDef; typedef struct { uint32_t SDIO_DataTimeOut; /* Specifies the data timeout period in card bus clock periods. */ uint32_t SDIO_DataLength; /* Specifies the number of data bytes to be transferred. */ uint32_t SDIO_DataBlockSize; /* Specifies the data block size for block transfer. This parameter can be a value of @ref SDIO_Data_Block_Size */ uint32_t SDIO_TransferDir; /* Specifies the data transfer direction, whether the transfer is a read or write. This parameter can be a value of @ref SDIO_Transfer_Direction */ uint32_t SDIO_TransferMode; /* Specifies whether data transfer is in stream or block mode. This parameter can be a value of @ref SDIO_Transfer_Type */ uint32_t SDIO_DPSM; /* Specifies whether SDIO Data path state machine (DPSM) is enabled or disabled. This parameter can be a value of @ref SDIO_DPSM_State */ } SDIO_DataInitTypeDef;

Отметим как в SPL реализована передача команд карте памяти. Для этих целей отведена отдельная структура SDIO_CmdInitTypeDef. В поле SDIO_CmdIndex вводим код команды, в поле SDIO_Argument – аргумент команды, также заполняем остальные поля. Осталось как то эти данные запихать в карту micro SD 😉 А для этого нам приготовили функцию:

SDIO_SendCommand (SDIO_CmdInitTypeDef *SDIO_CmdInitStruct)

В качестве аргумента передаем ей как раз таки созданную нами структуру. Для записи данных есть функция – SDIO_WriteData(uint32_t Data) . После вызова этой функции данные окажутся в специально предназначенном для этого регистре – SDIO_FIFO.

Вот так вот осуществляется работа с модулем SDIO в STM32F10x)

Теперь перейдем к практике наконец-то. Я снова буду работать с платой Mini STM32, поскольку добрые китайцы озадачились установкой на нее слота для карты памяти micro SD. Вот схема подключения разъема для карты к микроконтроллеру:

Для написания программы воспользуемся готовым примером для Keil’а – стащим оттуда два файла, в которых реализовано что-то вроде драйвера для работы с картами – это файлы sdcard.c и sdcard.h. Создаем новый проект, цепляем туда эти файлы, а кроме того, естественно, файлы CMSIS и SPL. Вот готовый проект, в который все уже добавлено – остается только написать код функции main())

В файле sdcard.c реализованы всевозможные функции для работы с картой памяти, нам теперь остается их только использовать 😉 Пишем код! Для примера запишем на micro SD 512 байт тестовых данных, а затем попробуем их считать:

// Цепляем нужные файлы #include "stm32f10x.h" #include "sdcard.h" /*******************************************************************/ // Массивы входных и выходных данных и переменная для хранения данных // о нашей карте uint8_t writeBuffer[ 512 ] ; uint8_t readBuffer[ 512 ] ; SD_CardInfo SDCardInfo; /*******************************************************************/ int main() { // Тестовые данные для записи for (uint16_t i = 0 ; i < 512 ; i++ ) { writeBuffer[ i] = i % 256 ; readBuffer[ i] = 0 ; } // Иницилизация карты SD_Init() ; // Получаем информацию о карте SD_GetCardInfo(& SDCardInfo) ; // Выбор карты и настройка режима работы SD_SelectDeselect((uint32_t ) (SDCardInfo.RCA << 16 ) ) ; SD_SetDeviceMode(SD_POLLING_MODE) ; // И вот наконец то запись и чтение SD_WriteBlock(0x00 , writeBuffer, 512 ) ; SD_ReadBlock(0x00 , readBuffer, 512 ) ; while (1 ) { } } /*******************************************************************/

Обратите внимание, что SD карта поддерживает запись блоками по 512 байт.

Если мы запустим программу под отладчиком, то увидим, что считанные данные соответствуют записанным =) Так что эксперимент можем считать удавшимся. На этом на сегодня заканчиваем, до скорых встреч!

Установка программ на внутреннюю память планшета осуществляется по умолчанию. Чтобы поместить приложение на встроенную карту памяти, достаточно выполнить стандартную установку. Чтобы отправить его на внешний носитель, понадобится немного больше времени. Один несложный сеанс настроек наведет порядок в файловой системе устройства, устанавливая каждое новое приложение на SD-карту.

Вариант 1: указание адреса установки

Некоторые программы в ходе установки интересуются у пользователя, где им разместиться. Указать адрес установки не составляет труда. Выбираете съемную карту памяти, и дело с концом. Но это касается лишь некоторых приложений, таких меньшинство.

Вариант 2: задание пути установки заранее

Приложение должно поддерживать патч app2sd, если версия ОС Android на планшете более ранняя, чем 2.2. Там не будет таких пунктов в настройках. Для всех новых версий подойдет такой алгоритм решения проблемы.

Зайдите в «Настройки», отыщите пункт «Память». Нажимайте на него, и откроется меню настроек памяти. Здесь же вы можете узнать об объеме свободной памяти на вашем устройстве, сколько места на планшете вообще, какой объем внутренней памяти занят. Некоторые вставляют карту SD в кард-ридер, и узнают данные о флешке на компьютере, не зная, что это можно сделать на планшете.

Находите раздел «Диск для записи по умолчанию», в котором вам предложено несколько источников для установки приложений. Среди них выбираете «SD-карта». Нажимаете на этот пункт, и увидите кружок напротив него. Теперь установка приложений на карту памяти на планшете происходит по умолчанию.

Вариант 3: Использование сторонних программ

Скорей всего именно этот способ вам поможет. Но он требует . Узнать есть или нет рут права на планшете можно по . Качаем специальные приложения, вроде FolderMount или GL to SD, которые помогут перенести данные игр и программ на SD карту памяти. Видео инструкции смотрите ниже:

Вариант 3

Установите на планшетный ПК программу, которая предоставит возможность выбора установочного адреса. Перед непосредственной установкой приложения появится диалоговое окно, в котором вы зададите адрес установки.

Это самый удобный вариант из предложенных. Потому что принудительная установка «по умолчанию» желательна не во всех случаях. Утилиты типа InstallManager, MagicUneracer помогут организовать экономное и рациональное заполнение памяти планшета. Кстати, эти же программы выполняют и удаление программ со всеми вспомогательными файлами.

Если приложение установлено не на карту SD

Откройте пункт «Приложения» в «Настройках». В списке приложений выберите то, которое хотели бы перенести на съемную карту. Нажмите на значок приложения, и откроется меню. Посмотрите, есть ли в нем опция «Перенести». Если есть, нажмите на кнопку опции и выберите карту памяти. Эта процедура не требует установки дополнительного программного обеспечения, вы можете сделать это сами.

Карты памяти сегодня очень широко применяются для расширения встроенной памяти мобильных устройств. Но как подключить карту памяти к планшету и как посмотреть её на компьютере?

Подключение карты памяти к планшету

Сразу стоит сказать, что карты памяти бывают разных форматов, и в мобильных устройствах обычно используются карточки microSD. Если у вас полноразмерная SD-карта, например, от фотоаппарата, подключить её к планшету не получится. А в устройствах Apple слота для карт памяти нет вовсе.

На планшетах с Android и Windows слот для карт microSD вынесен на одну из граней, а на смартфонах он иногда может быть спрятан под задней крышкой. Вставьте карточку в слот контактами вниз. Устройство распознает её автоматически, после чего вы сможете сохранять на карту памяти фотографии и другие мультимедийные файлы, а если система это позволяет - то и устанавливать приложения.

Подключение карты памяти к компьютеру

Некоторые компьютеры и ноутбуки могут быть оснащены встроенным кардридером для карт памяти разных форматов. Но если его нет, можно купить USB-кардридер - в него вставляется карта памяти, а он сам подключается в один из USB-портов компьютера. После этого содержимое карты памяти можно будет посмотреть в Проводнике точно так же, как если бы это была простая флешка.