Подключение SD/MMC карт памяти к PIC-микроконтроллеру


sd_micro-250MMC (MultiMedia Card) и SD (Secure Digital Memory Card) карты на настоящий момент являются самым недорогим устройством большой емкости. Эти устройства  идеально подходят для встраиваемых систем где необходимо сбор большого количества данных, а также для простой возможности непосредственного переноса данных на ПК.

Карты памяти позволяют выполнять обмен информации по SPI интерфейсу,  который в основном присутствует в любом контроллере. И позволяет создать недорогой интерфейс обмена информацией.

Хороший сайт по информации о работе картами памяти (и не только) http://elm-chan.org/ рекомендую для ознакомления и получения дополнительной информации.

 


Габаритные размеры sdcard


Назначение выводом Микро SD для подключения по интерфейсу SPI.

sd_micro-03

Номер Обозначение Описание
1   Подключить к подтягивающему резистору
2 CS Выбор карты
3 DI Данные для записи в карту
4 Vdd Напряжение питания 2,7-3,3v
5 SCLK Синхроимпульсы шины SPI
6 Vss Общий
7 DO Данные чтения из карты
8   Подключить к подтягивающему резистору

Назначение выводом мини и SD карт для подключения по интерфейсу SPI.sd_mini-01

SecureDigitalMemoryCard

Номер Обозначение Описание
1 CS Выбор карты
2 DI Данные для записи в карту
3 Vss Общий
4 Vdd Напряжение питания 2,7-3,3v
5 SCLK Синхроимпульсы шины SPI
6 Vss Общий
7 DO Данные чтения из карты
8   Подключить к подтягивающему резистору
9   Подключить к подтягивающему резистору
10    
11    

   


Вариант подключения для микро SD. CATCATCAT_sd_micro_03  


Схема для тестового проекта. CATCATCAT_sd_micro_04

Проект предназначен ка обучающий для понимания работы с файловой системой, основан на FatFs — Generic FAT File System Module от ChaN. В программе присутствуют некоторые изменения для использования с PIC-контроллерами. Используется подключение через USB (эмуляция COM-порта) и HeperTerminal как управляющую панель, можно протестировать работу самой библиотеки и PIC-контроллеров по работе с DS/MMC картами памяти. Пример настроен на кодировку 866.


Управляющие последовательности.

Низкоуровневые последовательности для работы с диском:

di  — инициализация логического устройства

[spoiler title=»Пример, выполнения инициализации» open=»0″ style=»2″]
> di
The disc initialization. 0-ok,1-no.
rc=0
>[/spoiler]


dd [ <sector>] — чтение выбранного сектора с диска, просмотр на терминале (с загрузкой в буфер)

[spoiler title=»Пример, чтение сектора 0″ open=»0″ style=»2″]

>dd 0
Read sector:0
00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 …………….
000001C0: 0C 00 06 38 F8 B8 89 00 00 00 77 9F 3A 00 00 00 …8……w.:…
000001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA …………..U.
>[/spoiler]


ds — Просмотр состояния диска, устройства

[spoiler title=»Пример, выполнения команды» open=»0″ style=»2″]

>ds
Drive size: 3842048 sectors
Erase block: 8192 sectors
MMC/SDC type: 4
CSD:
00000000: 00 2E 00 32 5B 5A 83 A9 FF FF FF 80 16 80 00 91 …2[Z……….
CID:
00000000: 02 54 4D 53 42 30 32 47 00 08 30 17 D1 00 CA 45 .TMSB02G..0….E
OCR:
00000000: 80 FF 80 00 ….
SD Status:
00000000: 00 00 00 00 00 00 00 28 02 02 90 02 00 32 00 00 …….(…..2..
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
>[/spoiler]


bd <адрес> — Просмотр буфера с указанного байта

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>bd 0
Viewing Buffer R/W:
00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
>[/spoiler]


be <адрес> [<данные>] … — Редактирование буфера

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>be 5 0x33 0x45 0x67
Editor buffer data R/W:

>bd 0
Viewing Buffer R/W:
00000000: 00 00 00 00 00 33 45 67 00 00 00 00 00 00 00 00 …..3Eg……..
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
00000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
000001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
>[/spoiler]


br  <сектор> <количество секторов 1 — 255> — Чтение сектора или секторов

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>br 0 1
Reading data from the disk into the buffer: 0
rc=0
>[/spoiler]


bw <сектор> <количество секторов 1 — 255> — Запись буфера в сектор на диске  или запись буфера в несколько секторов на диске

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>bw 0 1
Writing data into the buffer: 0
rc=0
>[/spoiler]


bf <число> — заполнение буфера данными

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>bf 0x35
The buffer is filled with the number of: 0
>bd 0
Viewing Buffer R/W:
00000000: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000010: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000020: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000030: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000040: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000050: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000060: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000070: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000080: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000090: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000000A0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000000B0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000000C0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000000D0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000000E0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000000F0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000100: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000110: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000120: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000130: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000140: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000150: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000160: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000170: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000180: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
00000190: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000001A0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000001B0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000001C0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000001D0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000001E0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
000001F0: 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 5555555555555555
>[/spoiler]


Последовательности для работы с файловой системой

fi — быстрая инициализация устройства

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fi
rc=0 FR_OK
>[/spoiler]


fs [<путь>] — Показать состояния логического диска (каталога)

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fs
FAT type = FAT16
Bytes/Cluster = 32768
Number of FATs = 2
Root DIR entries = 512
Sectors/FAT = 235
Number of clusters = 60021
Volume start (lba) = 137
FAT start (lba) = 139
DIR start (lba,clustor) = 609
Data start (lba) = 641

13 files, 24096 bytes.
3 folders.
1920672 KB total disk space.
1919488 KB available.
>[/spoiler]


fl [<путь>] — Просмотр каталога. Без пути — текущего каталога

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fl
D—- 2013/06/16 15:37 0 123
D—- 2013/06/16 15:37 0 234
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2013/06/01 10:03 3011 footer.txt
—-A 2013/06/16 18:34 220 789.txt
—-A 2013/06/16 18:55 2391 4523.txt
4 File(s), 6908 bytes total
3 Dir(s), 1965555712 bytes free>

>fl 123
D—- 2013/06/16 15:37 0 .
D—- 2013/06/16 15:37 0 ..
—-A 2013/06/01 10:03 3011 123.txt
—-A 2013/06/01 10:20 1286 333.txt
—-A 2013/06/01 10:03 3011 4523.txt
3 File(s), 7308 bytes total
2 Dir(s), 1965555712 bytes free
>[/spoiler]


fo <режим> <имя файла> — открыть файл, режим: 0x01 — на чтение, 0x00 — , 0x80 — , 0x02 — на запись, 0x04 — создать новый файл, 0x08 — , 0x10 — , 0x20 — , 0x40 — .

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fo 4 nini.txt
rc=0 FR_OK

>fc
rc=0 FR_OK

>fl
—-A 2061/01/23 00:48 0 nini.txt
D—- 2013/06/16 15:37 0 123
D—- 2013/06/16 15:37 0 234
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2013/06/01 10:03 3011 footer.txt
—-A 2013/06/16 18:34 220 789.txt
—-A 2013/06/16 18:55 2391 4523.txt
5 File(s), 6908 bytes total
3 Dir(s), 1965555712 bytes free
>[/spoiler]


fc — Закрыть открытый файл

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fc
rc=0 FR_OK
>[/spoiler]


fe <ofs> — Переместить указатель в указанный адрес (внутри открытого файла, если файл на запись или внутри буфера если файл отрыт на чтение)

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fo 2 footer.txt  // открываем файл на запись
rc=0 FR_OK
>fe 0x12                 // перемещаем указатель
rc=0 FR_OK
fptr = 18(0x12)
>[/spoiler]


fr <количество байт чтения> — читать файл (данные загружаются в буфер)

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fr 200
200 bytes read with 0 kB/sec.
>[/spoiler]


fd <количество байт чтения> — чтение буфера, вывод на экран информации

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fd 200
00000000: EF BB BF 3C 3F 70 68 70 0D 0A 2F 2A 2A 0D 0A 20 …<?php../**..
00000010: 2A 20 46 4F 4F 54 45 52 0D 0A 20 2A 0D 0A 20 2A * FOOTER.. *.. *
00000020: 20 54 68 69 73 20 66 69 6C 65 20 63 6F 6E 74 72 This file contr
00000030: 6F 6C 73 20 74 68 65 20 65 6E 64 69 6E 67 20 48 ols the ending H
00000040: 54 4D 4C 20 3C 2F 62 6F 64 79 3E 3C 2F 68 74 6D TML </body></htm
00000050: 6C 3E 20 61 6E 64 20 63 6F 6D 6D 6F 6E 20 67 72 l> and common gr
00000060: 61 70 68 69 63 61 6C 0D 0A 20 2A 20 65 6C 65 6D aphical.. * elem
00000070: 65 6E 74 73 20 69 6E 20 79 6F 75 72 20 73 69 74 ents in your sit
00000080: 65 20 66 6F 6F 74 65 72 2E 20 59 6F 75 20 63 61 e footer. You ca
00000090: 6E 20 63 6F 6E 74 72 6F 6C 20 77 68 61 74 20 73 n control what s
000000A0: 68 6F 77 73 20 75 70 20 77 68 65 72 65 20 75 73 hows up where us
000000B0: 69 6E 67 0D 0A 20 2A 20 57 6F 72 64 50 72 65 73 ing.. * WordPres
000000C0: 73 20 61 6E 64 20 50 61 s and Pa
>[/spoiler]


fw <Количество байт для записи> <Значение записываемого байта> — запись в файл

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fw 100 0x36
100 bytes written with 100 kB/sec.
>[/spoiler]


fn <old_name> <new_name> — Изменения имени файла/каталога

[spoiler title=»Пример, выполнения, изменение имени каталога 123″ open=»0″ style=»2″]

>fl
—-A 2061/01/23 00:48 0 nini.txt
D—A 2013/06/16 15:37 0 mounfer
D—- 2013/06/16 15:37 0 123
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 00:03 3011 footer.txt
—-A 2013/06/16 18:34 220 789.txt
—-A 2013/06/16 18:55 2391 4523.txt
5 File(s), 6908 bytes total
3 Dir(s), 1965555712 bytes free
>fn 123 catalogMOBI
rc=0 FR_OK
>fl
—-A 2061/01/23 00:48 0 nini.txt
D—A 2013/06/16 15:37 0 mounfer
D—A 2013/06/16 15:37 0 CATALO~1 catalogMOBI
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 00:03 3011 footer.txt
—-A 2013/06/16 18:34 220 789.txt
—-A 2013/06/16 18:55 2391 4523.txt
5 File(s), 6908 bytes total
3 Dir(s), 1965555712 bytes free
>[/spoiler]


fu <path> — удаление файла или каталог (каталог должен быть пустым)

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fl
—-A 2061/01/23 00:48 0 nini.txt
D—A 2013/06/16 15:37 0 CATALO~1 catalogMOBI
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 00:03 3011 footer.txt
—-A 2013/06/16 18:55 2391 4523.txt
4 File(s), 6688 bytes total
2 Dir(s), 1965686784 bytes free
>fu 4523.txt
rc=0 FR_OK
>fl
—-A 2061/01/23 00:48 0 nini.txt
D—A 2013/06/16 15:37 0 CATALO~1 catalogMOBI
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 00:03 3011 footer.txt
3 File(s), 4297 bytes total
2 Dir(s), 1965719552 bytes free
>[/spoiler]


fv — урезать файл, файл урезается по установленному указателю

[spoiler title=»Пример, выполнения, урезание файла footer.txt до 1кБ» open=»0″ style=»2″]

>fl //смотрим каталог
—-A 2061/01/23 00:48 0 nini.txt
D—- 2061/01/23 01:28 0 cat01
D—- 2061/01/23 01:28 0 cat2
D—A 2013/06/16 15:37 0 CATALO~1 catalogMOBI
D—- 2061/01/23 01:28 0 car03
D—- 2061/01/23 01:29 0 cat03
D—- 2061/01/23 01:31 0 test
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 00:03 3011 footer.txt
D—- 2061/01/23 01:30 0 CAT2CA~1 cat2 cat77
D—- 2061/01/23 01:32 0 test03
3 File(s), 4297 bytes total
9 Dir(s), 1965490176 bytes free
>fo 2 footer.txt // открываем файл на запись
rc=0 FR_OK
>fe 1000 // устанавливаем указатель на 1000
rc=0 FR_OK
fptr = 1000(0x3E8)
>fv // урезаем размер файла
rc=0 FR_OK
>fc // закрываем файл
rc=0 FR_OK
>fl // смотрим каталог, что получилось
—-A 2061/01/23 00:48 0 nini.txt
D—- 2061/01/23 01:28 0 cat01
D—- 2061/01/23 01:28 0 cat2
D—A 2013/06/16 15:37 0 CATALO~1 catalogMOBI
D—- 2061/01/23 01:28 0 car03
D—- 2061/01/23 01:29 0 cat03
D—- 2061/01/23 01:31 0 test
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 01:40 1000 footer.txt
D—- 2061/01/23 01:30 0 CAT2CA~1 cat2 cat77
D—- 2061/01/23 01:32 0 test03
3 File(s), 2286 bytes total
9 Dir(s), 1965490176 bytes free
>[/spoiler]


fk <имя каталога> — Создайте каталог

[spoiler title=»Пример, выполнения создать каталог с именем test03″ open=»0″ style=»2″]

>fk test03
rc=0 FR_OK
>[/spoiler]


fa <атрибут> <маска> <имя файла или каталога> — Изменение атрибута  файла/каталога. Аnритут показывает какие флаги сбросить или установить 0 — сбросить, 1 — установить, маска какие влаги активировать, если использовать бинарные числа, то 0b000 — старший байт S, средний H, младший R.

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fa 0b000 0b111 nini.txt // сбросить все атрибуты файла
rc=0 FR_OK
>fl
—-A 2061/01/23 00:48 0 nini.txt
D—- 2061/01/23 01:28 0 cat01
D—- 2061/01/23 01:28 0 cat2
D—- 2061/01/23 01:28 0 car03
D—- 2061/01/23 01:29 0 cat03
D—- 2061/01/23 01:31 0 test
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 01:40 1000 footer.txt
D—- 2061/01/23 01:30 0 CAT2CA~1 cat2 cat77
D—- 2061/01/23 01:32 0 test03
3 File(s), 2286 bytes total
8 Dir(s), 1965654016 bytes free
>

>fa 0b101 0b111 nini.txt // установить флаги R-S и сбросить H
rc=0 FR_OK
>fl
-R-SA 2061/01/23 00:48 0 nini.txt
D—- 2061/01/23 01:28 0 cat01
D—- 2061/01/23 01:28 0 cat2
D—- 2061/01/23 01:28 0 car03
D—- 2061/01/23 01:29 0 cat03
D—- 2061/01/23 01:31 0 test
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 01:40 1000 footer.txt
D—- 2061/01/23 01:30 0 CAT2CA~1 cat2 cat77
D—- 2061/01/23 01:32 0 test03
3 File(s), 2286 bytes total
8 Dir(s), 1965654016 bytes free
>[/spoiler]


ft <year> <month> <day> <hour> <min> <sec> <name> — Изменить временную метку

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

[/spoiler]


fx <src_name> <dst_name> — Скопировать файл

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fx 11111.txt 456/11.txt // копируем файл 11111.txt с текущего каталога в каталог 456 с переименованием 11.txt
Opening «11111.txt»
Creating «456/11.txt»
Copying…
1286 bytes copied.
>fl 456
D—- 2013/06/16 15:37 0 .
D—- 2013/06/16 15:37 0 ..
—-A 2013/06/01 10:20 1286 11111.txt
—-A 2013/06/01 10:03 3011 222222.txt
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 01:40 1000 FOOTER~1.TXT
—-A 2013/06/01 10:20 1286 FUNCTI~2.TXT
—-A 2061/01/23 00:48 0 NINI-Š~1.TXT
—-A 2061/01/23 01:40 1000 footer.txt
—-A 2061/01/23 00:48 0 nini.txt
—-A 2061/01/23 00:15 1286 11.txt
9 File(s), 10155 bytes total
2 Dir(s), 1965260800 bytes free
>[/spoiler]


fg <path> — Изменить текущий каталог

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fl
—-A 2061/01/23 00:48 0 nini.txt
D—- 2061/01/23 01:28 0 cat01
D—- 2061/01/23 01:28 0 cat2
D—- 2061/01/23 01:28 0 car03
D—- 2061/01/23 01:29 0 cat03
D—- 2061/01/23 01:31 0 test
D—- 2013/06/16 15:37 0 456
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 01:40 1000 footer.txt
D—- 2061/01/23 01:32 0 test03
D—- 2061/01/23 01:30 0 test.dir
—-A 2061/01/23 01:40 1000 FOOTER~1.TXT
—-A 2013/06/01 10:20 1286 FUNCTI~2.TXT
—-A 2061/01/23 00:48 0 NINI-Š~1.TXT
—-A 2013/06/01 10:20 1286 11111.txt
—-A 2013/06/01 10:03 3011 222222.txt
8 File(s), 8869 bytes total
8 Dir(s), 1965260800 bytes free
>fg 456
rc=0 FR_OK
>fl
D—- 2013/06/16 15:37 0 .
D—- 2013/06/16 15:37 0 ..
—-A 2013/06/01 10:20 1286 11111.txt
—-A 2013/06/01 10:03 3011 222222.txt
—-A 2013/06/01 10:20 1286 FUNCTI~1.TXT functions.txt
—-A 2061/01/23 01:40 1000 FOOTER~1.TXT
—-A 2013/06/01 10:20 1286 FUNCTI~2.TXT
—-A 2061/01/23 00:48 0 NINI-Š~1.TXT
—-A 2061/01/23 01:40 1000 footer.txt
—-A 2061/01/23 00:48 0 nini.txt
—-A 2061/01/23 00:15 1286 11.txt
9 File(s), 10155 bytes total
2 Dir(s), 1965260800 bytes free
>[/spoiler]


fj — <номер диска 0, 1…> — Сменить текущий диск (если устройство разбито на несколько дисков).


fq — Показать путь текущей директории

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fq
0:/456
>[/spoiler]


fb — переместить указатель в конец файла, для до записывания информации

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fo 2 11.txt
rc=0 FR_OK
>fb
rc=0 FR_OK
>[/spoiler]


fm — <partition rule> <sect/clust> — Создание файловой системы

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>fm 1 1
The memory card will be formatted. Are you sure? (Y/n)=Y
Formats, please wait…
rc=0 FR_OK
>fl
0 File(s), 0 bytes total
0 Dir(s), 1950350848 bytes free
>fs
FAT type = FAT32
Bytes/Cluster = 512
Number of FATs = 1
Root DIR entries = 0
Sectors/FAT = 30017
Number of clusters = 3809280
Volume start (lba) = 0
FAT start (lba) = 2751
DIR start (lba,clustor) = 2
Data start (lba) = 32768

0 files, 0 bytes.
0 folders.
0 KB total disk space.
0 KB available.
>

>fm 1 0
The memory card will be formatted. Are you sure? (Y/n)=Y
Formats, please wait…
rc=0 FR_OK
>fl
0 File(s), 0 bytes total
0 Dir(s), 1962934272 bytes free
>fs
FAT type = FAT16
Bytes/Cluster = 32768
Number of FATs = 1
Root DIR entries = 512
Sectors/FAT = 8159
Number of clusters = 59904
Volume start (lba) = 0
FAT start (lba) = 1
DIR start (lba,clustor) = 8160
Data start (lba) = 8192

0 files, 0 bytes.
0 folders.
1916928 KB total disk space.
1916928 KB available.
>[/spoiler]


t  — [<year> <mon> <mday> <hour> <min> <sec>] установка и индикация системного времени

[spoiler title=»Пример, выполнения» open=»0″ style=»2″]

>t 2013 006 18 16 38 00
Setting the date and time
2013/6/18 16:38:00
>[/spoiler]


[box title=»Файлы для загрузки» color=»#521BDE»]Страница загрузки[/box]  

Добавить комментарий