samples/basic/minimal/README.html · samples/basic/minimal/README.rst 공식 원문 ↗

Zephyr 3.7.0 · Samples · Footprint

Minimal footprint

비어 있는 main과 configuration file을 조합해 reel_board에서 2~8KB ROM footprint를 비교합니다.

Official pathsamples/basic/minimal/README.html
Source filesamples/basic/minimal/README.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

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

Part 1

요약·해설

다섯 configuration file과 다섯 rom_report build 조합, 기준 ROM 크기를 모두 보존합니다.

Smallest

2-3 KB

Largest

7-8 KB

Target

reel_board · AArch32

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 50005802B31FAE60B84DF9E9EC5250BC6AEABF38F830A0D5191A9122B51A548F
.. zephyr:code-sample:: minimal
   :name: Minimal footprint

   Measure Zephyr's minimal ROM footprint in different configurations.

Overview
********

This sample provides an empty ``main()`` and various configuration files that
can be used to measure Zephyr's minimal ROM footprint in different
configurations.

The following configuration files are available:

* :file:`mt.conf`: Enable multithreading
* :file:`no-mt.conf`: Disable multithreading
* :file:`no-preempt.conf`: Disable preemption
* :file:`no-timers.conf`: Disable timers
* :file:`arm.conf`: Arm-specific disabling of features

Building and measuring ROM size
*******************************

The following combinations are suggested for comparing ROM sizes in different
configurations. They all target the :ref:`reel_board` (Arm Aarch32 architecture).

* Multithreading enabled

  * Reference ROM size: 7-8KB

  .. zephyr-app-commands::
     :zephyr-app: samples/basic/minimal
     :host-os: unix
     :board: reel_board
     :build-dir: reel_board/mt/
     :conf: "common.conf mt.conf arm.conf"
     :goals: rom_report
     :compact:

* Multithreading enabled, no preemption

  * Reference ROM size: 7-8KB

  .. zephyr-app-commands::
     :zephyr-app: samples/basic/minimal
     :host-os: unix
     :board: reel_board
     :build-dir: reel_board/mt-no-preempt/
     :conf: "common.conf mt.conf no-preempt.conf arm.conf"
     :goals: rom_report
     :compact:

* Multithreading enabled, no preemption, timers disabled

  * Reference ROM size: 3-4KB

  .. zephyr-app-commands::
     :zephyr-app: samples/basic/minimal
     :host-os: unix
     :board: reel_board
     :build-dir: reel_board/mt-no-preempt-no-timers/
     :conf: "common.conf mt.conf no-preempt.conf no-timers.conf arm.conf"
     :goals: rom_report
     :compact:

* Multithreading disabled, timers enabled

  * Reference ROM size: 4-5KB

  .. zephyr-app-commands::
     :zephyr-app: samples/basic/minimal
     :host-os: unix
     :board: reel_board
     :build-dir: reel_board/no-mt/
     :conf: "common.conf no-mt.conf arm.conf"
     :goals: rom_report
     :compact:

* Multithreading disabled, timers disabled

  * Reference ROM size: 2-3KB

  .. zephyr-app-commands::
     :zephyr-app: samples/basic/minimal
     :host-os: unix
     :board: reel_board
     :build-dir: reel_board/no-mt-no-timers/
     :conf: "common.conf no-mt.conf no-timers.conf arm.conf"
     :goals: rom_report
     :compact:

Part 3

한국어 전문 번역

개요

이 sample은 비어 있는 main()과 여러 configuration file을 제공해 서로 다른 configuration에서 Zephyr의 최소 ROM footprint를 측정합니다.

사용할 수 있는 configuration file은 다음과 같습니다.

  • mt.conf: Multithreading 활성화
  • no-mt.conf: Multithreading 비활성화
  • no-preempt.conf: Preemption 비활성화
  • no-timers.conf: Timer 비활성화
  • arm.conf: Arm 전용 기능 비활성화

Build와 ROM 크기 측정

다른 configuration의 ROM 크기를 비교할 때 다음 조합을 권장합니다. 모두 Arm AArch32 architecture의 reel_board를 target으로 합니다.

  • Multithreading 활성화
    • 기준 ROM 크기: 7-8 KB
    west build -b reel_board -d build/reel_board/mt samples/basic/minimal -- -DCONF_FILE="common.conf mt.conf arm.conf"
    west build -t rom_report -d build/reel_board/mt
  • Multithreading 활성화, preemption 비활성화
    • 기준 ROM 크기: 7-8 KB
    west build -b reel_board -d build/reel_board/mt-no-preempt samples/basic/minimal -- -DCONF_FILE="common.conf mt.conf no-preempt.conf arm.conf"
    west build -t rom_report -d build/reel_board/mt-no-preempt
  • Multithreading 활성화, preemption과 timer 비활성화
    • 기준 ROM 크기: 3-4 KB
    west build -b reel_board -d build/reel_board/mt-no-preempt-no-timers samples/basic/minimal -- -DCONF_FILE="common.conf mt.conf no-preempt.conf no-timers.conf arm.conf"
    west build -t rom_report -d build/reel_board/mt-no-preempt-no-timers
  • Multithreading 비활성화, timer 활성화
    • 기준 ROM 크기: 4-5 KB
    west build -b reel_board -d build/reel_board/no-mt samples/basic/minimal -- -DCONF_FILE="common.conf no-mt.conf arm.conf"
    west build -t rom_report -d build/reel_board/no-mt
  • Multithreading과 timer 비활성화
    • 기준 ROM 크기: 2-3 KB
    west build -b reel_board -d build/reel_board/no-mt-no-timers samples/basic/minimal -- -DCONF_FILE="common.conf no-mt.conf no-timers.conf arm.conf"
    west build -t rom_report -d build/reel_board/no-mt-no-timers

Source

출처

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