문제 요약

Zephyr RTOS의 samples/ 디렉토리 내 다수의 샘플이 README 문서 없이 배포되고 있는 문제. 사용자가 샘플의 목적, 요구사항, 빌드 방법을 파악하기 어려움.

작업 내용

5개 샘플에 대해 소스 코드(main.c), 설정(prj.conf, sample.yaml), 보드 overlay를 분석하여 Zephyr 표준 포맷(:orphan:, zephyr-app-commands directive)에 맞춘 README.rst를 작성함.

샘플내용
espressif/ethernetESP32 Ethernet Kit DHCP/DNS/NET_SHELL
mec172xevb/qmspi_ldmaQMSPI SPI 플래시 읽기/쓰기/검증 (Dual/Quad)
mec172xevb/rom_apiROM API 기반 SHA-224/256/384/512 해시 검증
nordic/nrf_sys_eventnRF 상수 지연 모드 및 RRAMC 웨이크업
ipm_mcux/remoteNXP LPC 메일박스 IPM 리모트 코어 에코

활동 로그

  • 2026-02-24: 5개 샘플 README.rst 작성 및 PR #104439 제출.
  • 2026-02-24: 메인테이너 @kartben 리뷰 피드백 수신:
    • 표준 템플릿(doc/templates/sample.tmpl) 미준수 → 형식 재작성 필요.
    • 5개 샘플을 개별 PR로 분리 제출할 것 (각 플랫폼 메인테이너 리뷰 필요).
    • 보드 문서 링크 추가 필요.
  • 2026-02-25: 피드백 반영하여 samples/subsys/pm/device_pm README.rst를 표준 템플릿 기반으로 재작성, qemu_x86에서 빌드/실행 검증 후 PR #104503 제출.
    • 빌드 시 발생하는 Sphinx 경고(Doxygen group name 등) 수정 커밋 추가.
  • 2026-02-26: 리뷰어 @JordanYates 리뷰 피드백 반영:
    • 샘플 코드 내의 잘못된 API 사용(pm_device_runtime_enable 대신 pm_device_driver_init 사용)을 수정하여 불필요한 초기 suspend 로그 출력 제거.
    • 수정된 샘플 코드 동작 결과를 반영하여 README.rst의 Expected Output 항목 업데이트.
  • 2026-02-27: 추가 리뷰 피드백 반영 및 CI 실패 수정:
    • prj.confCONFIG_PM_DEVICE_RUNTIME_DEFAULT_ENABLE=y 추가 — 이 설정 없이는 런타임 PM이 실제로 활성화되지 않는 문제 해결.
    • CI twister 테스트 실패 원인 분석: sample.yaml harness regex가 이전 출력 패턴(pre-main suspending 메시지)을 기대하여 120초 타임아웃 발생.
    • sample.yaml harness regex 패턴을 새 출력에 맞게 수정하여 CI 테스트 통과 가능하도록 반영.
  • 2026-02-28: PR CI Compliance 검사 실패(커밋 메시지 너비 75자 초과) 확인 및 커밋 메시지를 72자로 줄바꿈(wrap)하여 강제 푸시 완료.
  • 2026-03-02: 메인테이너 @kartben의 추가 피드백을 반영하여 수정 커밋 푸시. SonarCloud Quality Gate 검사 통과 확인.
  • 2026-03-04: PR got merged. Done.