Подключение микро сд. Подключение sd карты к микроконтроллеру. Способы инсталляции и передислокации приложений на карты SD

Мы выводили картинку на дисплей с sd карточки, но в ней были упущены некоторые моменты, первый - подключение самой карточки, второй - была рассмотрена лишь часть функций библиотеки Petit FatFs , давайте остановимся на этих моментах подробнее.

Общение с карточкой возможно по одному из двух интерфейсов, SPI или SD .



Надо сказать, что SD интерфейс может работать в однобитном и четырёхбитном режимах.

Схема подключения карточки по SPI стандартная и выглядит следующим образом, не используемые выводы карточки нужно с помощью резистора 10К подтянуть к питанию.


Но в любительских конструкциях зачастую пренебрегают подтягивающими резисторами, упрощая схему подключения.

Надо отметить, что при подключении по SPI карточка очень требовательна к напряжению питания и небольшая просадка питающего напряжения приводит к неработоспособности карточки, это проверено на личном опыте, по поводу SD интерфейса сказать нечего, ещё не пробовал. Это всё писал к тому, что по питанию обязательно ставить конденсаторы . Что касается дросселя, он должен быть рассчитан на ток до 100мА, но ставить его необязательно.

На схемах, изображённых выше видно, что для работы карточке необходимо 3.3 вольта, соответственно, в линиях передачи данных напряжение не должно выходить за диапазон 0 – 3.3 вольт и тут возникает вопрос, что делать если МК питается от 5 вольт?
Ответ прост, надо согласовать линии передачи данных, а сделать это можно с помощью обычного резистивного делителя.


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

С подключением разобрались, давайте теперь рассмотрим как пользоваться библиотекой Petit FatFs , которая предназначена для 8-битных микроконтроллеров с малым размером памяти.

Библиотека состоит из 5 файлов:
integer.h - заголовочный файл в котором описаны основные типы данных.

diskio.h - заголовочный файл в котором объявлены прототипы низкоуровневых функций для работы с диском и статусные коды, которые они возвращают.

diskio.c - в этом файле должны быть реализованы низкоуровневые функции, изначально там "заглушки".

pffсonf.h - конфигурационный файл.

pff.h - заголовочный файл в котором объявлены прототипы функций взаимодействия с файловой системой диска.

pff.c - файл содержит реализации функций для взаимодействия с файловой системой диска.

Видно, что для того чтобы библиотека заработала необходимо реализовать низкоуровневые функции. Но если речь идет о AVR или PIC, для них сайте можно скачать пример работы с библиотекой, в котором есть файл mmc , в нем уже реализованы низкоуровневые функции. Также необходимо задать конфигурацию библиотеки в файле pff.h и написать функции необходимые для работы SPI.

Функции Petit FatFs.

FRESULT pf_mount (FATFS*) - функция монтирует/демонтирует диск. Эту функцию необходимо вызывать до начала работы с диском, если вызвать функцию с нулевым указателем диск демонтируется. Функция может быть вызвана в любой момент времени.

Параметры
FATFS* fs - указатель на объект типа FATFS, описание этой структуры можно посмотреть в файле pff.h. Нам надо всего лишь объявить переменную такого типа.

Возвращаемые значения:
FR_OK (0)
FR_NOT_READY - устройство не может быть инициализировано
FR_DISK_ERR - возникла ошибка во время чтения с диска
FR_NO_FILESYSTEM - на диске нет правильного раздела FAT

FATFS fs;//объявляем объект типа FATFS //монтируем диск if (pf_mount(&fs) == FR_OK) { //диск смонтирован, работаем с ним //демонтируем диск pf_mount(NULL); } else { //не удалось смонтировать диск }

FRESULT pf_open (const char* path) - функция открывает существующий файл. После того как файл открыт с ним можно работать, то есть читать из него и записывать в него. С открытым файлом можно работать до тех пор, пока не будет открыт другой файл. Функция может быть вызвана в любой момент времени.

Параметры
const char* path - указатель на строку, указывающую путь к файлу. Путь надо указывать полностью относительно корневой директории, разделяя директории слэшем.

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_NO_FILE - файл не найден
FR_DISK_ERR - ошибка диска
FR_NOT_ENABLED - диск не был смонтирован

FATFS fs;//объявляем объект типа FATFS //монтируем диск if (pf_mount(&fs) == FR_OK) { //открываем файл лежащий в корневой директории if(pf_open("hello.txt") == FR_OK) { //делаем что-то } //открываем файл лежащий в папке new if(pf_open("new/hello.txt") == FR_OK) { //делаем что-то } //демонтируем диск pf_mount(NULL); } else { //не удалось смонтировать диск }

FRESULT pf_read(void* buff, WORD btr, WORD* br) - функция читает указанное количество байт из файла и сохраняет их в буфер. Если количество прочитанных байт меньше чем указано, значит был достигнут конец файла.
#define _USE_READ 1

Параметры:
void* buff - указатель на буфер, в котором сохраняются прочитанные данные
WORD btr - количество байт, которые нужно прочитать
WORD* br - указатель на переменную, в которой хранится количество прочитанных байт.

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_DISK_ERR - ошибка диска
FR_NOT_OPENED - файл не был открыт
FR_NOT_ENABLED - диск не был смонтирован

FATFS fs;//объявляем объект типа FATFS BYTE buff;//буфер для чтения файла WORD br; //счетчик прочитанных байт //монтируем диск if (pf_mount(&fs) == FR_OK) { //открываем файл лежащий в корневой директории if(pf_open("hello.txt") == FR_OK) { //читаем из него 10 байт pf_read(buff, 10, &br); if(br != 10) { //если br не равно 10 //значит мы достигли конца файла } } }

FRESULT pf_write(const void* buff, WORD btw, WORD* bw) - функция позволяет записывать данные в открытый файл. Для того чтобы функция работала в файле pffconf.h надо записать
#define _USE_WRITE 1

Параметры:
void* buff - указатель на буфер, который хотим записать, нулевое значение финализирует запись
WORD btw - количество байт, которые хотим записать
WORD* bw - указатель на переменную, хранящий количество байт, которые удалось записать. Анализируя, эту переменную можно узнать был ли достигнут конец файла.

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_DISK_ERR - ошибка диска
FR_NOT_OPENED - файл не был открыт
FR_NOT_ENABLED - диск не был смонтирован

Из-за того, что библиотека рассчитана на микроконтроллеры с малым объемом памяти, эта функция имеет ряд ограничений:

  • нельзя создавать новые файлы, а записывать можно только в существующие
  • нельзя увеличивать размер файла
  • нельзя обновить временную метку
  • операцию записи можно начать/остановить только на границе сектора
  • файловый атрибут "только для чтения" не может запретить запись

Для того чтобы понять предпоследний пункт, надо знать, что память карточки разбита на блоки(сектора) по 512 байт и запись можно начать только с начала сектора . Таким образом если мы хотим записать 1000 байт, то первый сектор запишется полностью, а во второй запишется только 488 байт, а оставшиеся 24 байта заполнятся нулями.

Для записи в открытый файл надо выполнить следующие действия:

  • установить указатель на границу сектора, если установить не на границу, то указатель будет округлен до нижней границы сектора
  • вызвать функцию записи нужное количество раз
  • финализировать запись, вызвав функцию с нулевым указателем

Для того, чтобы привести пример работы функции записи необходимо рассмотреть ещё одну функцию.

FRESULT pf_lseek(DWORD offset) - устанавливает указатель чтения/записи в открытом файле. Устанавливать указатель можно абсолютным или относительным смещением, для абсолютного смещения необходимо передать в функцию число
pf_lseek(5000);
для относительного, передать значение указателя на текущую позицию fs.fptr и величину смещения
pf_lseek(fs.fptr + 3000);
Для того чтобы функция работала в файле pffconf.h надо записать
#define _USE_LSEEK 1

Параметры:
DWORD offset - количество байт, на которые нужно сместить указатель.

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_DISK_ERR - ошибка диска
FR_NOT_OPENED - файл не был открыт

Записать данные в файл можно следующим образом.
FATFS fs;//объявляем объект типа FATFS BYTE buff;//буфер для чтения файла WORD br; //счетчик прочитанных байт //монтируем диск if (pf_mount(&fs) == FR_OK) { //открываем файл лежащий в корневой директории if(pf_open("hello.txt") == FR_OK) { //устанавливаем указатель на первый сектор pf_lseek(0); //записываем pf_write(buff, 10, &br); //финализируем запись pf_write(0, 0, &br); } }

Также оставляю тут кусок реально работающего кода, в котором используются все выше описанные функции.
#define F_CPU 8000000UL #define buff_size 10 #include #include #include "diskio.h" #include "pff.h" #include "spi.h" FATFS fs;//объявляем объект типа FATFS BYTE read_buff;//буфер для чтения файла BYTE write_buff = "hello word";////буфер для записи в файл UINT br; //счетчик прочитанных байт int main(void) { //монтируем диск if (pf_mount(&fs) == FR_OK) { //открываем файл лежащий в папке new if(pf_open("new/hello.txt") == FR_OK) { //устанавливаем указатель записи pf_lseek(0); //записываем pf_write(write_buff, buff_size, &br); //финализируем запись pf_write(0, 0, &br); //устанавливаем указатель чтения pf_lseek(0); //читаем то, что записали pf_read(read_buff, buff_size, &br); if(br != buff_size) { //если br не равно buff_size //значит мы достигли конца файла } } //демонтируем диск pf_mount(NULL); } while(1) { } }

FRESULT pf_opendir(DIR* dp, const char * path) - функция открывает существующую директорию и создает указатель на объект типа DIR, который будет использоваться для получения списка файлов открытой директории.
Для того чтобы функция работала в файле pffconf.h надо записать
#define _USE_DIR 1

Параметры:
DIR *dp - указатель на переменную типа DIR.

const char * path - указатель на строку, которая содержит путь к директории, директории разделяются слэшем

Возвращаемые значения:
FR_OK (0) - возвращается в случае успешного выполнения функции
FR_NO_PATH - не удалось найти путь
FR_NOT_READY - не удалось инициализировать диск
FR_DISK_ERR - ошибка диска
FR_NOT_ENABLED - диск не был смонтирован

//объявляем переменные FATFS fs; DIR dir; //монтируем диск pf_mount(&fs); //открываем директорию pf_opendir(&dir, "MY_FOLDER");

FRESULT pf_readdir(DIR* dp, FILINFO* fno) - функцию позволяет прочитать содержимое директории. Для этого нужно открыть директорию с помощью функции pf_opendir() и вызывать pf_readdir(). Каждый раз при вызове функция будет возвращать название объекта(папки/файла) лежащего в указанной директории. Когда она пройдется по всем объектам, вернет нулевую строку в элементе массива fno.fname.
Для того чтобы функция работала в файле pffconf.h надо записать
#define _USE_DIR 1

Параметры:
DIR *dp - указатель на переменную типа DIR, которая должна быть предварительно объявлена

FILINFO *fno - указатель на переменную типа FILINFO, которая должна быть предварительно объявлена.

Возвращаемые значения:
FR_OK - успешное завершение функции
FR_DISK_ERR - ошибка диска
FR_NOT_OPENED - не открыта директория

FATFS fs; FRESULT res; FILINFO fno; DIR dir; //монтируем диск pf_mount(&fs); //открываем директорию res = pf_opendir(&dir, MY_FOLDER); //читаем содержимое директории for(;;){ res = pf_readdir(&dir, &fno); //проверяем не возникло ли ошибок при чтении // и есть ли еще файлы в указанной директории if ((res != FR_OK) || (fno.fname == 0)){ break; } //выводим удобным способом fno.fname usart_sendStr(fno.name); usart_sendStr(/r); }

Ну и напоследок оставлю тут рабочий проект

Сегодня речь пойдёт об автоматической установке приложений на карту памяти для планшетов под управлением Android. Устройства от Apple в виду отсутствия слота MicroSD сразу же отпадают – они ограничены объёмом встроенной памяти, поэтому приходится часть данных хранить на облаке. Тогда как в большей части Андроид-планшетов этот слот присутствует. Скажем больше, в последнее время гаджеты начали поддерживать карты памяти объёмом вплоть до двух терабайт! И нет, мы не опечатались – это действительно так.

Если способ ниже у вас не заработает, то попробуйте , который мы написали, совсем недавно.

Почему не сохраняются приложения на карту памяти?

Спешим Вас огорчить – в некоторых устройствах программными средствами разрешить автоматическую установку на MicroSD не удастся. В частности, это касается устройств на Android 4.4.2 и выше – вплоть до “зефирки”. Благо есть сторонний софт, позволяющий это сделать. Но не будем торопить события – узнаете обо всём по порядку.

Узнаем версию Android
Ну а теперь разложим всё по полочкам. Для начала нам необходимо узнать версию Андроид.

Заходим в меню;
- Переходим в “Настройки”;
- Прокручиваем в самый низ и кликаем по пункту “О телефоне”;
- В открывшемся подменю ищем информацию по версии;

В данном случае это Android 5.1.1. Данный способ подходит как для смартфонов, так и для планшетов. Собственно говоря, на этом устройстве без “внешнего” вмешательства не получится сделать так, чтобы все приложения автоматически устанавливались на карту. Но, как Вы уже успели заметить, у нас стоит сторонняя прошивка со встроенными Root-правами.

С их помощью можно с лёгкостью установить дополнительное ПО, которое, работая в фоне, будет “раскидывать” все файлы от программ и игры по флешке.

Сохранение приложений на карту памяти для Android 2.2 – 4.2.2

Здесь всё предельно просто и банально:

1. Всё также заходим в меню и ищем там “Настройки” – иконка, как правило, напоминает по своему внешнему виду шестерню – с её поиском проблем быть не должно;

2. Далее ищем подпункт “Память”. В нашем случае он находится между “Экраном” и “Батареей”. Меню может быть другим в зависимости от производителя устройства. На скриншоте – это пример чистой версии Андроид, без оболочек, которые предустанавливаются на заводах-изготовителях;

3. А теперь самое главное – тапните один раз по пункту “SD-карта”, располагающейся ниже надписи: “Диск для записи по умолчанию”. Напротив, неё должен появиться кругляшек или галочка;

4. Профит! Теперь все приложения, скачиваемые через Play Market будут автоматически устанавливаться на внешнюю память.

К слову, если флешка медленная, а бывают и такие, то приложения могут работать некорректно. Поэтому приобретите хорошую SD-карту – не скупитесь.

Что делать с устройствами на Android KitKat и выше?

К сожалению, без получения Root-прав обойтись не получится. Компания Google официально отказалась от поддержки данной функции в новых версиях операционной системы. Дело в том, что всё большее распространение получают облачные сервисы и, как следствие, проблемы с нехваткой памяти возникать не должны. Но в нашей стране нет столь скоростного Интернета, как в США, да и трафик обходится недёшево, поэтому и облака спросом не пользуются.

Можно ли хоть как-то сделать так, чтобы приложения автоматически устанавливались на карту памяти? Как мы уже сказали выше, это реально.

Если у Вас планшет одной из Китайских компаний, то там наверняка есть уже встроенные Рут-права, ну а с другими производителями придётся повозиться. Естественно, в ходе данной статьи мы не можем рассказать об их получении, потому что процесс для каждого гаджета уникален – инструкции получится уместить разве что в многотомную книгу. Но да ладно, это неважно.

Можно обратиться к специалисту с просьбой установить Рут-права или сделать это самостоятельно в домашних условиях. Последний вариант наиболее рискованный, есть шанс превратить свой гаджет в так называемый “кирпич” и восстановить его смогут лишь в одном из сервисных центров. Впрочем, если Вам уже доводилось проводить подобную процедуру, проблем возникнуть не должно. В крайнем случае, на просторах Интернета в довесок можно найти ещё и решения этих самых проблем. Так что, дерзайте и экспериментируйте!

  • Что-то мы достаточно далеко отошли от основной темы статьи. Итак, вернёмся к инструкции: Любым из возможных способов (перепрошивка, разблокировка загрузчика и так далее) получаем Root-права;
  • Заходим в Google Play;
  • В строку поиска пишем: “SDFix: KitKat Writable MicroSD” – это самое приложение-помощник, которое пригодится нам в дальнейшем. Устанавливаем его. Надеемся, что это никому не нужно объяснять? Просто тапните один раз по кнопке “Установить” и процесс пройдёт в автоматическом режиме, после чего в меню появится ярлык для запуска;
  • Открываем его и видим кучу, скорее всего непонятных, надписей на английском языке. Переводить их не нужно – всё решается в несколько кликов;
  • Жмём на “Continue”, как показано на первом скриншоте;
  • Отмечаем галочкой своё согласие, что по нажатию кнопки “Continue” девайс будет немножко модифицирован;
  • Ждём буквально пару-тройку минут, пока оранжевый экран не сменится зелёным.
  • На зелёном экране нам сообщают об успешном включении автоматической установки приложений на SD-карту.
Собственно, на этом всё. И самое сложное во всём этом деле – получение Root-прав. Благо на просторах Интернета есть пошаговые инструкции для всех гаджетов, когда-либо поступавших на прилавки магазинов, да и на нашем сайте инструкций хватает.

Итак, вы счастливый обладатель планшета. Практически все планшетные компьютеры оснащаются разъёмом для карточек формата MicroSD для . Зачастую встроенной памяти обычно не хватает, особенно, если вы любитель или посмотреть в дороге любимые сериалы. А теперь, представьте себе, произошла неприятность - планшет не видит карту памяти. Паниковать не стоит, бежать в сервисный центр тоже ещё успеете. Давайте для начала попробуем решить проблему самостоятельно.

В большинстве случаев проблему можно решить самостоятельно

Итак, что же делать, если вдруг планшет перестал видеть карту памяти. Такое иногда случается. Первым делом необходимо перезагрузить устройство, то есть выключить и включить его снова. С некоторой долей вероятности после этого всё нормализуется.

Что делать, если перезапуск ничего не дал

Извлекаем накопитель из устройства и проверяем его на другом планшете или мобильном телефоне. Если в другом устройстве всё нормально работает – значит, с картой памяти точно всё в порядке и в слоте MicroSD на вашем планшете. В этом случае, вам прямая дорога в сервисный центр.

Предположим, что и в другом мобильном устройстве ваш накопитель не определяется. Тогда при помощи картридера или переходника c MicroSD на SD подключаем карту памяти к . Если он её тоже не видит, то, вероятно, накопитель вышел из строя и вам необходимо приобрести другой. Благо, стоимость карточек формата MicroSD сейчас вполне демократична.


Если другие устройства не видят носитель, то проблема в нём

Но рассмотрим более позитивную ситуацию - ваш компьютер определил карточку. Тут возможны два варианта:

  • Windows видит карту памяти, но зайти на неё не получается
  • Карта корректно открывается и на ней присутствует вся ваша информация.

В обоих вариантах дальнейшие действия примерно одинаковы - раз компьютер с картой работает, а планшет нет, то есть вероятность, что дело в неправильном форматировании. В таком случае накопитель следует отформатировать заново. Единственный нюанс - если карта всё же открывается, то необходимо всей информации, которая на ней находится (просто создать где-нибудь папку, хоть и на «Рабочем столе», и скопировать в неё все имеющиеся файлы и папки).

Для того чтобы отформатировать вашу MicroSD-карточку, необходимо кликнуть на её значке правой клавишей мыши и выбрать пункт контекстного меню «Форматировать». Откроется диалоговое окно, в котором необходимо выставить размер кластера «По умолчанию» и файловую систему FAT32. После чего снять галочку «Быстрое (очистка оглавления)» и нажать кнопку «Начать». Какое-то время придётся подождать, обычно не более десяти минут, но это зависит от объёма накопителя.

Проверка после форматирования

Проверяем карту после форматирования, если проводник её нормально отображает и позволяет на неё зайти, то следующим действием будет корректное (безопасное) извлечение карты памяти из компьютера.

Вставляем MicroSD обратно в планшетный компьютер и проверяем. В большинстве случаев, вышеописанная процедура восстанавливает работоспособность вашей связки «планшет - накопитель» и можно обратно . Если же планшет не открывает карту памяти и после форматирования, то тут, скорее всего, проблема с разъёмом для MicroSD и вам всё-таки предстоит поход в сервисный центр.

Видео о том, что делать, если Android-устройство не видит запоминающее устройство:

Вот такими нехитрыми манипуляциями , если планшет не читает карту памяти. Как видите, рецепт достаточно простой и не требует от пользователя никаких специальных знаний. Зато может уберечь от похода в сервисный центр, где в подавляющем большинстве случаев с вас потребуют какую-то сумму денег (иногда и довольно ощутимую, в зависимости от наглости мастеров). Пусть ваши карты памяти служат долго и счастливо!

Проблема нехватки памяти – одна из основоположных как для ПК, так и для мобильных устройств. При малом количестве свободной памяти система обычно начинает подтормаживать, подвисать, работает нестабильно и ненадёжно. Особенно актуально это для Андроид-устройств, многие из которых изначально обладают довольно небольшим объёмом основной памяти (т.н. «Internal Storage»). В такой ситуации у некоторых пользователей может возникнуть идея попробовать использовать внешнюю SD-карту в качестве основной памяти на их Андроид-устройстве. В данном материале я расскажу, как SD-карту сделать основной памятью на гаджетах Андроид, и какие способы нам в этом помогут.

Разбираем, как SD-карту сделать основной памятью на Андроид

Что нужно для установки SD-карты основной памятью на Android

Для осуществления данной задачи вам понадобится скоростная SD-карта (желательно, 10 класса или быстрее). Карты 6, а особенно 4 и 2 классов для таких целей не пригодны, ваша система вследствие их использования существенно замедлит свою работу, что вряд ли понравится кому-то из пользователей.

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


Способ №1. Изменяем содержимое файла Vold.fstab

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

Важно знать, что данный способ работает только на рутированных устройствах, на которых установлена ОС Андроид ниже (!) , нежели версия 4.4.2. В версиях ОС Андроид 4.4.2 и выше указанный файл, скорее всего, вы попросту не найдёте.

Также учтите, что ошибка в реализации данного способа (в частности, добавление в нужные строки лишних символов) может самым печальным образом сказаться на работоспособности вашего устройства. Потому тщательно взвесьте возможные риски, и если, всё-таки, приняли решение, тогда приступайте к его реализации.

Итак, для осуществления данного способа выполните следующее:

Например, это могут быть такие строки:

  • dev_mount sdcard/storage/sdcard0 emmc@xxxxxx
  • dev_mount sdcard2/storage/sdcard1 auto/xxxxxx

Для осуществления нужных изменений нам необходимо поменять путь в указанных строках местами, то есть, проще говоря, вместо 0 поставьте единичку в первой строке, а во второй вместо 1 поставьте 0.

После изменений эти строки будут иметь вид:

  • dev_mount sdcard/storage/sdcard1 emmc@xxxxxx
  • dev_mount sdcard2/storage/sdcard0 auto/xxxxx

Сохраните произведёнными вами изменения, а затем перезагрузите гаджет.

Ещё один вариант как сделать карту памяти основной на андроид:


Способ №2. Используем настройки ОС Андроид 6.0 и выше

Кроме первого способа, в котором я рассмотрел, как переключить память телефона на карту памяти, существует и другой способ, работающий только на настройках ОС Андроид 6.0 (Marshmallow) или выше, и позволяющий задействовать SD-карту как основную для сохранения файлов и работы с ними. Для его реализации рекомендую сделать копию данных с вашей SD-карты (если таковые на ней имеются), так как данная карта будет отформатирована системой.

Выполните следующее:

Заключение

В данной статье мной были рассмотрены варианты того, как SD-карту сделать основной памятью на Андроид. Важно учитывать, что данные способы работают далеко не всегда — первый требует рут прав и ОС Андроид ниже, нежели 4.4.2., а второй работает с ОС Андроид 6.0 и выше (при этом есть ряд современных устройство, например «LG G5», на которых реализация последнего способа невозможна по внутренним причинам). Также учтите, что реализация данных способов выполняется вами на свой страх и риск, и гарантировать 100%-процентный результат в данном случае вряд ли полагается возможным.

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

Как подключить флешку, как внутреннюю память

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

Первым делом необходимо зайти в Настройки , а затем перейти в раздел «Хранилище и накопитель », где следует нажать по SD-карте.

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

Здесь нужно выбрать пункт «Очистить и отформатировать » и дождаться завершения процесса очистки памяти. Затем может высветиться сообщение о том, что носитель работает медленно. Как правило, это обозначает, что используемая флешка не очень хорошего качества и её использование в качестве хранилища устройства может отразится и на производительности самого смартфона. Для хорошей и быстрой работы рекомендуется использовать накопители UHS Speed Class 3 (U3).

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

Особенности и ограничения использования SD-карты

Есть несколько особенностей, о которых следует знать, перед тем, как начинать использовать флэшку таким образом.

  1. После преобразования все данные, кроме некоторых приложений и обновлений для системы, будут помещаться на SD накопитель.
  2. При подключении к компьютеру, так же будет доступна для взаимодействия только эта часть памяти.

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

Форматируем карту с помощью ADB для использования в качестве внутреннего хранилища

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

Чтобы воспользоваться этим способом, потребуется совершить много действий. Нужно загрузить с сайта и произвести установку Android SDK , затем загрузить и установить с официального сайта драйвера для устройства , а так же, требуется включить «режим отладки по USB » на устройстве.

  • adb shell
  • sm list-disks (после выполнения будет выдан id в виде disk:ХХХ,ХХ его следует записать и ввести в следующей строке)
  • sm partition disk:ХХХ,ХХ private

Затем потребуется отключить телефон , перейти в настройки и нажать по sd, выбрать меню и кликнуть «Перенести данные ». Все, на этом действия закончены.

Как перевести карту памяти в стандартный режим

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