[Target Environment]
1. 실제 장비
– 개발 환경(Build 및 Interface 환경)을 시험 환경에 그대로 적용할 수 있음.
– 통신 및 센서 데이터 등을 연동하여 시험 가능
– 실제 장비에 시험을 위한 인터페이스 및 (메모리가 부족할 경우의) 별도의 인터페이스의 환경을 구축
2. Simulator
– Target 없이 Host에서 시험 수행할 수 있음
– 실제 장비와 Memory, 외부 인터페이스 등이 일치하지 않아 별도의 시험 환경 Memory Map을 구성해야 함
3. Evaluation Board
– 실제 장비가 Test에 용이한 인터페이스를 갖고 있지 않아, MCU는 같지만 인터페이스를 가지고 있는 평가보드
– 개발 환경(Build 및 Interface 환경)을 시험 환경에 그대로 적용할 수 있음.
– 통신 및 센서 데이터 등을 연동하여 시험 가능
– 실제 장비와 Memory, 외부 인터페이스 등이 일치하지 않아 별도의 시험 환경 Memory Map을 구성해야 함
시험 환경을 구축할 경우 조직, 시험일정, 프로세스에 따라 개발환경을 고려 해야합니다.
[Interface]

Interface란 신뢰성 시험을 수행하기 위하여 Target에 Download하고 시험 어플리케이션을 실행시키며 결과를 Host 환경으로 보내는 것으로, Debugger, Serial, Uart, CAN, LIN, TCP/IP 등이 있으며 MCU, IDE, Debugger에 따라 Interface가 결정됩니다.
[IDE]
IDE란, Integrated Development Environment의 약자로 통합개발환경을 말합니다. IDE는 프로젝트를 생성하여 빌드 환경을 관리하고, Debugging 기능과 외부 인터페이스를 지원합니다.

IDE를 선택함에 있어 Build 및 Debugging 등 신뢰성 시험을 위한 요구 조건이 반영된 것을 기본으로 선택해야합니다.
[MCU]
MCU란, Micro Controller Unit의 약자이며 일반적으로 마이크로컨트롤러라 부릅니다. 다양한 전자 기기에 탑재 되는 핵심 부품으로 프로그래밍을 통해 다양한 ‘제어’ 나 ‘연산 작업’ 이 가능합니다.
MCU는 SW 신뢰성 시험 환경 구축 사례 분석에서 개발 SPEC에 맞춰서 결정됩니다. 하지만 개발 ID 및 Interface가 달라 시험 환경을 구축할 수 있는 MCU를 선택해야 합니다.
Texas Instrument – Code Composer studio
- Ver3.3의 경우 외부 Interface가 Perl로 지원
- Ver5.0의 이상의 경우 외부 Interface가 Java Script로 지원
NXP (구:Freescale)
- 다양한 컴파일러가 지원
- CodeWarrior(NXP)
- GHS(Green Hills Compiler)
- IAR Compiler
[RTOS]
RTOS란, Real Time Operating System의 약자로 실시간 운영체제를 말합니다. RTOS는 다음과 같은 특징을 갖습니다
- RTOS가 개발환경에 포함되어 있을 경우 RTOS가 지원하는 IDE와 디버깅 환경이 개발환경에 포함
- File System을 지원하는 RTOS의 경우 시험 환경의 인터페이스를 단순화
- RTOS의 Application 부분의 코드는 Hardware 관련 코드가 적고 printf등 System Library를 다양하게 지원하므로 시험 환경 구축에 용이

기본적으로 RTOS는 개발환경 및 Debugging 환경을 포함하고 있으므로 개발환경 구축 시, 신뢰성 시험 구축을 위한 기능을 확인하여 반영해야 합니다.
[Debugger]

Debugger는 기본적으로 신뢰성 시험을 위한 환경 구축을 진행하는 데 많은 기능을 지원합니다. Debugger의 대표적인 기능으로는 다음과 같습니다
- Break Point
- Interface : 메모리를 직접 읽어드릴 수 있으므로 다른 통신 인터페이스가 필요하지 않음
- Script 등 외부 인터페이스가 지원되는 경우 Test Result를 직접 File로 생성
하지만 외부 인터페이스가 지원되지 않는 경우 Test Result를 Target으로부터 받기 위한 별도의 인터페이스가 필요합니다.
[개발방법]
개발 방법은 개발환경에서 대부분 도구를 이용함으로써 구축합니다. 그렇기 때문에 각 도구의 인터페이스 지원 사항을 꼭 확인 해야 합니다.

1. 모델 기반 개발방법론
- Simulink
- Rhapsody
- SCADE
2. 객체지향 방법론









