그라운드 임베디드 EN 유튜브 구독

로드맵

펌웨어 · 과목 14

펌웨어 설계와 품질

현업 펌웨어는 몇 년씩 여러 사람이 고칩니다. 동작하는 코드와 유지되는 코드는 다릅니다.

목표: 다른 사람이 읽고 고칠 수 있는, 오래 가는 펌웨어를 설계할 수 있다.

  • 중급난이도
  • 약 3주하루 1시간 기준
  • 8개주제
  • 0개실험실

먼저 볼 과목 MCU 펌웨어

다음 과목 자동차 소프트웨어

지도에서 보기 →
  1. 계층 구조

    HAL, 드라이버, 서비스, 애플리케이션으로 나누고 의존 방향을 정합니다.

  2. 모듈화와 인터페이스

    헤더로 경계를 정하고 내부를 숨기는 방법.

  3. 코딩 규칙

    MISRA C가 금지하는 것들과 그 이유.

  4. 단위 테스트

    하드웨어 없이 PC에서 펌웨어 로직을 테스트합니다.

  5. 정적 분석

    컴파일러 경고, cppcheck 같은 도구로 실행 전에 버그를 찾습니다.

  6. 버전 관리

    Git 브랜치, 커밋 단위, 릴리스 태그로 펌웨어 이력을 관리합니다.

  7. 로그와 디버그 출력

    printf 디버깅, 링 버퍼 로그, 실시간 트레이스.

  8. 펌웨어 업데이트

    현장에 나간 기기를 안전하게 업데이트하는 OTA 구조.

확인 과제

기존 프로젝트를 계층으로 다시 나누기

앞에서 만든 펌웨어를 드라이버, 서비스, 애플리케이션 계층으로 나누고 상태 머신으로 정리합니다.

세 가지에 모두 체크할 수 있으면 다음 과목으로 넘어가도 됩니다. 체크는 이 브라우저에만 저장됩니다.