Devin.KR

통합 검증과 신입 포트폴리오

센서 기록기 전체를 반복 검증하고 구성·통신·오류·측정 근거를 인계합니다.

진도 0%

레슨

  1. 오류 주입 시험표

    센서 분리·NACK·시간 초과·큐 초과·시각 순환의 재현 조건과 기대 동작을 시험표로 제출합니다.

  2. 결정적 재생과 장시간 검증

    고정 seed 입력과 가상 24시간 이벤트를 재생하고 sanitizer·버퍼 한계를 검사합니다.

  3. 측정 로그를 근거로 요약하기

    센서 기록기 로그에서 오류 수·최대 지연·복구 성공 수를 정해진 형식으로 집계합니다.

  4. 구성과 면접 설명 인계

    HAL 구성·통신 규격·전이도·실측 조건·신입 면접 답변을 연결한 인계 문서를 제출합니다.

통합 검증과 신입 포트폴리오 미션

m09-resource-measurement의 검증된 solution 전체 소스·HAL·회귀를 포함한 starter에서 release.c 두 함수와 evidence/ 인계 문서를 완성합니다. 제품 기록 용량을 늘리는 대신 검증된 프레임을 내보내는 시험 sink를 추가합니다.

요구사항

  • release_next에서 uint32_t xorshift32 좌13·우17·좌5 XOR 연산과 seed 갱신을 구현하고 release_due에서 100ms 주기와 시각 순환을 보존합니다.
  • make evidence로 seed20261009·가상24시간864000건을 재생합니다. UART decode·SPI 바이트 대조 후에만 시험 sink가 저장 공간을 반환합니다. 개별 로그가 아닌 시간당 관찰 집계임을 표시합니다.
  • make test에 기존 누적 회귀·동일 seed2회·다른 seed·시각 순환·잘못된 인자·UBSan 검사를 유지합니다. 분리·NACK·20/21ms·큐16/20건·나이299/300ms·저장 한계 fixture를 대응표에 연결합니다.
  • evidence/CONFIG.md·PROTOCOL.md·FAULTS.md·MEASUREMENTS.md·INTERVIEW.md에 구성·통신·실패 재현·실측 조건과 모델 가정·면접 답변 근거를 작성합니다. raw.csv·summary.json·environment.json과 실제 회귀 출력을 첨부합니다.
  • C11 -Wall -Wextra -Werror -pthread로 빌드하며 Python은 표준 라이브러리만 사용합니다. 실행 증거를 실제 장치24시간·최악 실행 시간·전체 메모리·보드 전류 검증으로 소개하지 않습니다.

완료 기준

  • make test 종료0, 기존 queue·pipeline·state-recovery·resource 회귀와 release 9조건 실패0, 정상864000건 errors0·dropped0·queue_high1·max_latency_ms2입니다.
  • 동일 seed의 CSV가 바이트 단위로 일치하고 다른 seed30건은 달라집니다. 시작4294967246ms의20건 재생과 잘못된 인자 종료2 검사가 통과합니다.
  • UBSan 빌드의864000건 및pipeline경계 검사가 진단 없이 종료0입니다. raw.csv가 실제재생과, summary.json이 원시집계와 일치합니다.
  • 문서5개가 존재하고 TODO가 없으며 사람이 각 주장과 소스·명령·로그를 대조합니다. 기계 검사는 길이와 TODO 여부만 확인하므로 내용의 타당성은 rubric으로 검토합니다.
make test
미션 시작 코드
모범 답안모범 답안 내려받기

검토 기준

  • 요구사항과 테스트 fixture의 대응이 드러납니다.
  • 하드웨어 의존 경계와 실패 처리의 선택 이유를 설명합니다.
  • 미션별 측정·관찰 증거를 실제 실행한 결과로 남깁니다.