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

로드맵

펌웨어 · 과목 14

펌웨어 설계와 품질

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

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

먼저 볼 과목 MCU 펌웨어

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

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

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

  2. 모듈화와 인터페이스

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

  3. 코딩 규칙

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

  4. 단위 테스트

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

  5. 정적 분석

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

  6. 버전 관리

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

  7. 로그와 디버그 출력

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

  8. 펌웨어 업데이트

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