build/dts/api/bindings/mtd/fixed-partitions.html · build/dts/api/bindings/mtd/fixed-partitions.rst 공식 원문 ↗

Zephyr 3.7.0 · Devicetree · MTD · Generic or vendor-independent

고정 Flash Partition 바인딩

비휘발성 storage의 고정 partition layout를 정의하는 5개 property schema입니다.

Official pathbuild/dts/api/bindings/mtd/fixed-partitions.html
Source filebuild/dts/api/bindings/mtd/fixed-partitions.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

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

Part 1

요약·해설

공식 원문 182줄과 property 5행을 전수 대조해 address/size cell widths·child label/read-only/reg·relative offset semantics 제약을 보존했습니다.

Compatible

fixed-partitions

Vendor

Generic or vendor-independent

Properties

5 rows

Interface

Partition container + relative child offset/size

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 5CC1C3D9AEA2800489690C1EC64E0299F97B2C670AABA366F8007473DE3D8DD2
:orphan:

.. raw:: html

    <!--
    FIXME: do not limit page width until content uses another representation
    format other than tables
    -->
    <style>.wy-nav-content { max-width: none; !important }</style>

.. dtcompatible:: fixed-partitions
.. _dtbinding_fixed_partitions:

fixed-partitions
################

Vendor: :ref:`Generic or vendor-independent <dt_no_vendor>`

Description
***********



.. code-block:: none

   This binding is used to describe fixed partitions of a flash (or
   other nonvolatile storage) memory.

   Here is an example:

     &flash0 {
             partitions {
                     compatible = "fixed-partitions";
                     #address-cells = <1>;
                     #size-cells = <1>;

                     boot_partition: partition@0 {
                             label = "mcuboot";
                             reg = <0x00000000 0x0000C000>;
                     };
                     slot0_partition: partition@c000 {
                             label = "image-0";
                             reg = <0x0000C000 0x00076000>;
                     };
                     slot1_partition: partition@82000 {
                             label = "image-1";
                             reg = <0x00082000 0x00076000>;
                     };

                     /*
                      * The flash starting at 0x000f8000 and ending at
                      * 0x000fffff is reserved for use by the application.
                      */

                     /*
                      * Storage partition will be used by FCB/LittleFS/NVS
                      * if enabled.
                      */
                     storage_partition: partition@f8000 {
                             label = "storage";
                             reg = <0x000f8000 0x00008000>;
                     };
             };
     };

   Note that the usual name for this node is 'partitions'.
   The fixed-partitions node should be a child of the flash
   memory node. Note also that the flash memory node is usually
   different from the node representing the flash controller
   IP block.

   Above, slot0_partition's register address 0xc000 means that
   the partition begins at that offset from the parent flash
   memory flash0's base address. That is, partition addresses
   are relative; physical addresses must be calculated by adding
   the start address of flash0 in memory to each partition's
   reg address.

Properties
**********

Top level properties
====================


These property descriptions apply to "fixed-partitions"
nodes themselves. This page also describes child node
properties in the following sections.

.. tabs::

   .. group-tab:: Node specific properties

      Properties not inherited from the base binding file.

      (None)

   .. group-tab:: Deprecated node specific properties

      Deprecated properties not inherited from the base binding file.

      (None)

   .. group-tab:: Base properties

      Properties inherited from the base binding file, which defines
      common properties that may be set on many nodes. Not all of these
      may apply to the "fixed-partitions" compatible.

      .. list-table::
         :widths: 1 1 4
         :header-rows: 1

         * - Name
           - Type
           - Details

         * - ``#address-cells``
           - ``int``
           - .. code-block:: none

                Number of cells required to represent a child node's
                reg property address. This must be large enough to
                represent the start offset of each partition.



         * - ``#size-cells``
           - ``int``
           - .. code-block:: none

                Number of cells required to represent a child node's
                reg property address. This must be large enough to
                represent the size of each partition in bytes.






Child node properties
=====================

.. list-table::
   :widths: 1 1 4
   :header-rows: 1

   * - Name
     - Type
     - Details

   * - ``label``
     - ``string``
     - .. code-block:: none

          Human readable string describing the flash partition.



       See :ref:`dt-important-props` for more information.

   * - ``read-only``
     - ``boolean``
     - .. code-block:: none

          set this property if the partition is read-only


   * - ``reg``
     - ``array``
     - .. code-block:: none

          This should be in the format <OFFSET SIZE>, where OFFSET
          is the offset of the flash partition relative to the base
          address of the parent memory, and SIZE is the size of
          the partition in bytes.



       This property is **required**.

       See :ref:`dt-important-props` for more information.

Part 3

한국어 전문 번역

fixed-partitions

Vendor: Generic or vendor-independent

공식 설명

This binding is used to describe fixed partitions of a flash (or
other nonvolatile storage) memory.

Here is an example:

  &flash0 {
          partitions {
                  compatible = "fixed-partitions";
                  #address-cells = <1>;
                  #size-cells = <1>;

                  boot_partition: partition@0 {
                          label = "mcuboot";
                          reg = <0x00000000 0x0000C000>;
                  };
                  slot0_partition: partition@c000 {
                          label = "image-0";
                          reg = <0x0000C000 0x00076000>;
                  };
                  slot1_partition: partition@82000 {
                          label = "image-1";
                          reg = <0x00082000 0x00076000>;
                  };

                  /*
                   * The flash starting at 0x000f8000 and ending at
                   * 0x000fffff is reserved for use by the application.
                   */

                  /*
                   * Storage partition will be used by FCB/LittleFS/NVS
                   * if enabled.
                   */
                  storage_partition: partition@f8000 {
                          label = "storage";
                          reg = <0x000f8000 0x00008000>;
                  };
          };
  };

Note that the usual name for this node is 'partitions'.
The fixed-partitions node should be a child of the flash
memory node. Note also that the flash memory node is usually
different from the node representing the flash controller
IP block.

Above, slot0_partition's register address 0xc000 means that
the partition begins at that offset from the parent flash
memory flash0's base address. That is, partition addresses
are relative; physical addresses must be calculated by adding
the start address of flash0 in memory to each partition's
reg address.

Flash controller가 아니라 flash memory의 child

보통 이름이 partitions인 container를 flash memory node 아래에 둡니다. Flash controller IP node와 flash memory node는 일반적으로 서로 다릅니다.

flash0 base

Physical memory start

partition reg OFFSET

Relative to flash0

Physical partition

base + OFFSET, length SIZE

#address-cells는 가장 큰 child offset, #size-cells는 partition byte 크기를 표현할 만큼 커야 합니다. Child reg만 필수이며 label과 read-only는 선택입니다.

공식 예제에서 slot0의 0xc000은 절대 주소가 아니라 flash0 시작에서 0xc000만큼 떨어진 위치입니다. Boot, image-0, image-1, storage partition 사이의 비어 있는 범위는 application 예약 영역으로 남길 수 있습니다.

속성 전체 번역

공식 base 2개와 child 3개 property를 모두 번역했으며 node-specific 표는 없습니다.

Base binding property · 2개

공통 기본 바인딩에서 상속한 속성입니다. 이 compatible에서 사용하지 않는 속성도 공식 참조 문서에 실려 있으면 함께 표시합니다.

이름형식설명과 제약
#address-cellsint각 child partition 시작 offset을 표현하는 데 필요한 cell 수입니다.
#size-cellsint각 child partition byte 크기를 표현하는 데 필요한 cell 수입니다.
하위 노드 속성 · 3개

각 하위 노드에 적용되는 속성입니다.

이름형식설명과 제약
labelstringFlash partition을 설명하는 사람이 읽을 수 있는 이름입니다.
read-onlyboolean설정하면 해당 partition을 read-only로 취급합니다.
regarray 형식입니다. OFFSET은 parent memory base 기준 상대 offset이고 SIZE는 partition byte 크기입니다.
필수

Source

출처

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