임베디드·시스템 검증 실무 — 펌웨어·직렬 통신·CAN·계측 장비·xIL·장애 주입
장치·통신·실시간·안전 동작을 하드웨어와 소프트웨어의 경계에서 검증한다. MCU·펌웨어·드라이버·RTOS·인터럽트·메모리의 구조를 테스터 관점으로 해부하고, UART·SPI·I2C 프레임과 흔한 결함, CAN·CAN FD·CAN XL과 UDS 진단의 검증 포인트를 익힌다. 오실로스코프와 로직 분석기의 트리거·디코딩으로 결함 증거를 만들고, MIL·SIL·PIL·HIL 환경 계층에서 무엇을 어디서 잡는지 정한다. 전원 강하·브라운아웃·워치독·타이밍·센서 이상을 장애 주입으로 시험하고, 부트로더·펌웨어 업데이트·롤백과 현장 로그를 추적 가능한 증거로 관리한다. 마지막으로 하드웨어 접근을 떼어내 호스트에서 C 단위 시험을 돌리고, 최악 실행 시간(WCET)과 응답 시간 분석으로 마감을 판정하며, AUTOSAR 계층 구조에서 BSW 설정을 명세와 대조해 검증한다.
★ 임베디드 결함은 화면이 아니라 신호와 타이밍에 남는다 — 계측이 곧 증거다.
학습 목표
이 모듈 한 줄 요약 — "화면도 로그도 없는 곳에서 결함을 찾는 법". 웹 서비스의 결함은 화면과 로그에 남는다. 임베디드 시스템의 결함은 신호와 타이밍에 남는다. 센서를 읽는 간격이 2밀리초 늦거나, 전원이 순간 떨어졌다 올라오거나, 통신 한 토막이 깨지는 순간은 어디에도 안 보인다. 그래서 장비로 재는 일이 시험의 일부가 된다.
웹 서비스의 결함은 화면과 로그에 남는다. 임베디드 시스템의 결함은 신호와 타이밍에 남는다. 센서 값을 읽는 간격이 2밀리초 늦어지거나, 전원이 순간적으로 떨어졌다 올라오거나, 통신 프레임 하나가 깨지는 순간은 화면에도 로그에도 보이지 않는다. 그래서 임베디드·시스템 검증은 하드웨어와 소프트웨어의 경계 에서 일하고, 계측 장비가 곧 증거 수집 도구다.
이 모듈은 커리어 지도의 기술 스페셜리스트 경로 중 임베디드·시스템 검증 역할을 다룬다. 먼저 MCU·펌웨어·드라이버·RTOS·인터럽트·메모리를 테스터가 알아야 할 수준으로 해부한다. 이어서 UART·SPI·I2C 직렬 통신의 프레임과 흔한 결함, CAN·CAN FD·CAN XL과 UDS 진단의 검증 포인트를 익힌다. 오실로스코프와 로직 분석기의 트리거·디코딩으로 결함 증거를 만들고, MIL·SIL·PIL·HIL 환경 계층에서 무엇을 어디서 잡을지 정한다. 전원 강하·브라운아웃·워치독·타이밍·센서 이상을 장애 주입으로 시험하고, 마지막으로 부트로더·펌웨어 업데이트·롤백과 현장 로그를 추적 가능한 증거로 관리한다.
모듈 35(기능안전)가 어떤 기법을 얼마나 강하게 적용해야 하는가 의 규격 쪽이라면, 이 모듈은 그 기법을 실제 보드와 장비 앞에서 어떻게 하는가 의 실무 쪽이다.
이 모듈을 관통하는 문장은 하나다. 임베디드 결함은 화면이 아니라 신호와 타이밍에 남는다 — 계측이 곧 증거다.
완료 후 할 수 있는 것
- MCU·펌웨어·드라이버·RTOS·인터럽트·메모리 구조를 테스터 관점에서 설명하고, 각 층에서 생기는 전형적 결함을 말할 수 있다
- UART·SPI·I2C의 프레임 구조와 설정 불일치·타이밍·풀업·클럭 스트레칭 결함을 시험 케이스로 설계할 수 있다
- CAN·CAN FD·CAN XL의 차이와 DBC 기반 신호 검증, 오류 카운터와 버스 오프, UDS 진단 서비스의 시험 포인트를 설명할 수 있다
- 오실로스코프와 로직 분석기의 트리거·프로토콜 디코딩으로 간헐적 결함의 증거를 잡고 결함 보고서에 첨부할 수 있다
- MIL·SIL·PIL·HIL의 차이를 설명하고 결함 유형별로 가장 싸게 잡을 수 있는 환경을 고를 수 있다
- 전원 강하·브라운아웃·워치독·타이밍·센서 이상·통신 두절을 장애 주입으로 시험하고 안전 상태 전이를 판정할 수 있다
- 부트로더·펌웨어 업데이트·롤백을 시험하고, 버전·보드 리비전·현장 로그를 추적 가능한 증거로 관리할 수 있다
채용시장에서의 위치
자동차 전장(ECU·ADAS·인포테인먼트), 가전·IoT, 의료기기, 산업 제어, 로봇, 반도체 장비, 방산이 임베디드 검증 인력을 꾸준히 찾는다. 공고는 "SW 검증", "HILS 시험", "펌웨어 테스트", "ECU 통합 시험", "시스템 검증 엔지니어" 같은 이름으로 나오고, 자격요건에 C 언어, CAN·UART 등 통신 규격, 오실로스코프·로직 분석기, CANoe·dSPACE 같은 도구 경험이 자주 들어간다.
웹·앱 QA 경력자에게 이 분야는 진입 장벽이 있지만, 그만큼 공급이 적어 경력 대비 협상력이 높다. 테스트 설계 기법·결함 보고·위험 기반 사고는 그대로 가져가고, 새로 쌓아야 하는 것은 하드웨어 감각과 계측 습관 이다. 면접에서 힘을 갖는 이야기는 "HIL 환경에서 테스트했다"가 아니라 "간헐적 재부팅을 오실로스코프 트리거로 잡아 전원 레일이 2.9V까지 떨어지는 순간 브라운아웃 리셋이 걸리는 것을 증명했다" 같은 계측 기반 원인 규명 이야기다.
레슨 (10개)
- 고급약 40분
임베디드 시스템 해부 — MCU·펌웨어·드라이버·RTOS·인터럽트·메모리를 테스터의 눈으로
임베디드 시스템을 검증하려면 먼저 층을 알아야 한다. MCU와 주변장치, 부트로더·펌웨어·드라이버·응용 계층, 베어메탈과 RTOS의 차이, 인터럽트와 우선순위 역전, 스택·힙·플래시·EEPROM 메모리 구조를 테스터가 알아야 할 수준으로 정리하고, 층마다 생기는 전형적 결함과 그 결함을 드러내는 시험 방법을 연결한다.
- 고급약 40분
직렬 통신 검증 — UART·SPI·I2C의 프레임·설정 불일치·타이밍 결함을 시험 케이스로
보드 안의 칩과 칩, 보드와 PC는 대부분 UART·SPI·I2C로 이야기한다. 세 프로토콜의 프레임 구조(시작·데이터·패리티·정지 비트, CPOL·CPHA 모드, 7비트 주소와 ACK)를 테스터가 알아야 할 수준으로 정리하고, 보드레이트 오차 허용 범위, 프레이밍·오버런 오류, SPI 모드 불일치 증상, I2C 풀업·클럭 스트레칭·버스 고착 복구 같은 전형적 결함을 경계값 시험 케이스 표로 바꾼다.
- 고급약 45분
CAN·CAN FD·CAN XL과 UDS 진단 — DBC 신호·주기·오류 카운터·버스 오프·진단 서비스 검증
자동차와 산업 장비의 ECU는 CAN 버스로 이야기한다. 클래식 CAN·CAN FD·CAN XL의 차이와 ID 기반 중재를 정리하고, DBC 파일로 신호의 스케일·오프셋·바이트 순서·범위를 검증하는 법, 주기와 타임아웃 감시, TEC·REC 오류 카운터와 버스 오프 복구 시험, ISO 14229-1 UDS 진단 서비스(세션·보안 접근·DID 읽기 쓰기·DTC·리셋)와 부정 응답 코드의 시험 포인트를 다룬다.
- 고급약 40분
오실로스코프와 로직 분석기로 증거 만들기 — 트리거·샘플링·프로빙·간헐 재부팅 포착
임베디드 결함의 증거는 파형이다. 아날로그 현상(전압 레벨·잡음·상승 시간·전원 레일 강하)을 보는 오실로스코프와 여러 디지털 채널을 프로토콜로 해독하는 로직 분석기를 언제 쓰는지 가르고, 에지·펄스 폭·런트·프로토콜 트리거와 단발 트리거로 간헐적 현상을 잡는 법, 신호 주파수의 4~10배 이상이라는 샘플링 규칙, 프로브 접지 함정, 간헐 재부팅 포착 절차, 파형을 결함 보고서에 첨부하는 작성 예를 다룬다.
- 고급약 40분
xIL 환경 계층 — MIL·SIL·PIL·HIL에서 무엇을 가장 싸게 잡는가
임베디드 소프트웨어는 실제 차량이나 장비에 올리기 전에 여러 단계의 시뮬레이션 환경을 거친다. 모델과 플랜트를 모두 모델로 돌리는 MIL, 생성·작성된 코드를 호스트에서 컴파일해 돌리는 SIL, 목표 프로세서에서 돌리는 PIL, 실제 ECU에 실시간 플랜트 시뮬레이션과 물리 입출력을 붙이는 HIL의 차이를 정리하고, 결함 유형별로 가장 싸게 잡히는 계층, MIL과 SIL의 백투백 시험, HIL 장비의 비용·가용성과 자동화, ISO 26262와 Automotive SPICE SWE.4~6 매핑을 다룬다.
- 고급약 45분
장애 주입 시험 — 전원·워치독·타이밍·센서·통신 고장과 안전 상태 전이 판정
정상 조건에서 동작하는 것은 시작일 뿐이다. 임베디드 시스템은 전원이 흔들리고, 태스크가 멈추고, 센서가 끊기고, 통신이 사라질 때 안전하게 행동해야 한다. 브라운아웃·전압 강하·느린 상승·역전압·플래시 쓰기 중 전원 차단 같은 전원 고장, 워치독의 세 가지 판정(멈추면 발동, 최악 부하에선 발동 안 함, ISR에서만 갱신 금지), 지터와 마감 시간 초과, 센서 단선·단락·범위 이탈·고착·잡음, 통신 두절을 주입하는 방법과 안전 상태 전이 판정, 장애 주입 매트릭스 양식을 다룬다.
- 고급약 45분
펌웨어 업데이트와 현장 증거 — 부트로더·A/B 롤백·서명·전원 차단·호환성·추적성
현장에 나간 장치를 고치는 유일한 방법은 펌웨어 업데이트이고, 업데이트가 실패하면 장치는 벽돌이 된다. 부트로더 시험, A/B 파티션과 롤백, 이미지 서명·무결성 검사, 업데이트 모든 단계에서의 전원 차단, 하드웨어 리비전·펌웨어·설정의 호환성 매트릭스, OTA와 UNECE R156을 다루고, 저장 공간이 제한된 장치에서 링 버퍼와 크래시 덤프로 현장 로그를 설계하는 법, 요구사항에서 시험·빌드 해시·보드 시리얼까지 잇는 추적성과 감사 대응 증거 관리로 모듈을 마무리한다.
- 고급약 45분
임베디드 C 단위 테스트 — 하드웨어 없이 돌리기 위한 경계 설계
임베디드 C 코드를 호스트에서 단위 시험하려면 하드웨어에 닿는 부분을 떼어낼 수 있어야 한다. 레지스터 접근과 로직이 섞인 코드를 분리하는 설계, 하드웨어 추상화 계층을 모킹하는 방법, 인터럽트·타이머·전역 상태를 다루는 패턴, 그리고 호스트 결과로 대상 동작을 보장할 수 없는 경계를 다룬다.
- 고급약 45분
RTOS 스케줄링 분석 심화 — 최악 실행 시간(WCET)과 응답 시간
실시간 시스템에서 "빠르다" 는 판정이 아니다. 판정은 최악의 경우에도 마감을 지키는가다. 측정한 최대값이 WCET 가 아닌 이유, 고정 우선순위 선점 스케줄링의 응답 시간 분석식이 무엇을 더하는지, 우선순위 역전과 블로킹이 분석을 어떻게 바꾸는지, 그리고 QA 가 분석 결과를 시험으로 검증하는 방법을 다룬다.
- 고급약 45분
AUTOSAR 계층 구조와 기본 소프트웨어(BSW) 설정 검증
AUTOSAR 환경에서는 코드를 쓰는 것보다 설정을 맞추는 일이 많고, 결함도 대부분 설정에서 나온다. 계층 구조를 읽는 법, 설정이 코드로 바뀌는 생성 흐름에서 검증 지점이 어디인지, 통신·진단·메모리 스택의 설정 불일치가 어떤 증상으로 나타나는지, 그리고 QA 가 설정 자체를 검증 대상으로 다루는 방법을 설계한다.