f3s_*_v2write()

Callback-обработчик для детектирования записи данных во флеш-устройство

Прототип:

#include <fs/f3s_flash.h>
int32_t f3s_*_v2write( f3s_dbase_t *dbase,
f3s_access_t *access,
uint32_t flags,
uint32_t text_offset,
int32_t buffer_size,
uint8_t *buffer );

Аргументы:

dbase
Адрес дескриптора базы данных сервиса флеш-памяти.
access
Адрес дескриптора-контейнера для сокета и службы сокетов драйвера флеш-памяти.
flags
Флаги:
F3S_ECC_WRITE
Защищенный режим записи (Error-Correcting Code memory, ECC).
F3S_VERIFY_WRITE
Функция должна проверять успешность записи посредством контрольного чтения. Тем не менее, даже этот механизм иногда не обнаруживает ошибки при записи.
0
Вызов из f3s_ext_write().
text_offset
Адрес блока данных во флеш-устройстве.
buffer_size
Размер буфера для чтения.
buffer
Адрес буфера для приема данных.

Библиотека:

libfs-flash3

Описание:

Эта функция записывает buffer_size байт из буфера buffer по адресу text_offset.

Возвращаемое значение:

>0
Успешное завершение операции, возвращается количество записанных байт.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EIO
Устранимая ошибка ввода/вывода (например, данные блока повреждены из-за низкого напряжения или произошла ошибка при записи, однако она была обнаружена и блок будет доступен для использования после стирания).
EFAULT
Неустранимая ошибка ввода/вывода (например, блок вышел из строя).
EROFS
Блок защищен от записи.
EINVAL
Некорректная команда.
ERANGE
Нарушение границ диапазона при доступе к флеш-памяти (посредством функции service->page).
ENODEV
Флеш-память больше недоступна (например, накопитель извлечен из системы).
ESHUTDOWN
Произошла критическая ошибка и необходимо завершить работу драйвера.

Классификация:

ЗОСРВ «Нейтрино», libfs-flash3

Тематические ссылки:

f3s_flash_t

Разработка драйвера флеш-памяти




Предыдущий раздел: перейти