connectivity/bluetooth/api/mesh/blob_flash.html · connectivity/bluetooth/api/mesh/blob_flash.rst 공식 원문 ↗

Zephyr 3.7.0 · Connectivity · Bluetooth Mesh

BLOB Flash Reader와 Writer

Client는 flash에서 직접 읽고 Server는 page·write-block 정렬을 지키며 씁니다.

Official pathconnectivity/bluetooth/api/mesh/blob_flash.html
Source fileconnectivity/bluetooth/api/mesh/blob_flash.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

Reader·Writer의 초기화, 단일 transfer 제한과 flash alignment 조건을 설명합니다.

Reader

Client

Writer

Server

Parallelism

1 transfer

Padding

0xff

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 11BCE03E80E26F3E2FBAC69540FE5CFC4AFF37EAF75F44EB7D2EEC58EB47C652
.. _bluetooth_mesh_blob_flash:

BLOB Flash
##########

The BLOB Flash Readers and Writers implement BLOB reading to and writing from flash partitions
defined in the :ref:`flash map <flash_map_api>`.


BLOB Flash Reader
*****************

The BLOB Flash Reader interacts with the BLOB Transfer Client to read BLOB data directly from flash.
It must be initialized by calling :c:func:`bt_mesh_blob_flash_rd_init` before being passed to the
BLOB Transfer Client. Each BLOB Flash Reader only supports one transfer at the time.


BLOB Flash Writer
*****************

The BLOB Flash Writer interacts with the BLOB Transfer Server to write BLOB data directly to flash.
It must be initialized by calling :c:func:`bt_mesh_blob_flash_rd_init` before being passed to the
BLOB Transfer Server. Each BLOB Flash Writer only supports one transfer at the time, and requires a
block size that is a multiple of the flash page size. If a transfer is started with a block size
lower than the flash page size, the transfer will be rejected.

The BLOB Flash Writer copies chunk data into a buffer to accommodate chunks that are unaligned with
the flash write block size. The buffer data is padded with ``0xff`` if either the start or length of
the chunk is unaligned.

API Reference
*************

.. doxygengroup:: bt_mesh_blob_io_flash
   :project: Zephyr

Part 3

한국어 전문 번역

BLOB Flash

BLOB Flash Reader와 Writer는 flash map에 정의된 partition에서 BLOB을 읽고 그 partition에 씁니다.

BLOB Flash Reader

Reader는 BLOB Transfer Client와 상호작용해 flash에서 BLOB data를 직접 읽습니다. Client에 전달하기 전에 bt_mesh_blob_flash_rd_init을 호출해 초기화해야 합니다. Reader 하나는 한 번에 transfer 하나만 지원합니다.

BLOB Flash Writer

Writer는 BLOB Transfer Server와 상호작용해 BLOB data를 flash에 직접 씁니다. 공식 원문은 Server에 전달하기 전에 bt_mesh_blob_flash_rd_init으로 초기화한다고 명시합니다. Writer 하나도 한 번에 transfer 하나만 지원합니다.

Block size는 flash page size의 배수여야 합니다. Flash page보다 작은 block size로 transfer를 시작하면 거부됩니다.

Writer는 flash write block size에 맞지 않게 정렬된 chunk를 처리하기 위해 chunk data를 buffer로 복사합니다. Chunk 시작 위치나 길이가 정렬되지 않았으면 buffer data를 0xff로 padding합니다.

API Reference

공식 bt_mesh_blob_io_flash Doxygen group이 flash 기반 BLOB stream API를 생성합니다.

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.