3주차 1교시에 학습한 프로그램개발 절차에서 소스 파일을 기계어로 생성하는데 필요한 개발 툴은 컴파일러이다 다양한 컴파일러들의 특징과 장점 및 단점을 분석하여 정리해 보세요 IAR Embedded Wo
3주차 1교시에 학습한 프로그램개발 절차에서 소스 파일을 기계어로 생성하는데 필요한 개발 툴은 컴파일러이다. 다양한 컴파일러들의 특징과 장점 및 단점을 분석하여 정리해 보세요.
IAR Embedded Workbench
펌웨어 개발에 사용되는 통합 개발 환경 중 IAR Systems 사의 IAR Embedded Workbench 가 있다. IAR Embedded Workbench는 MCU 제어의 펌웨어 개발을 위한 통합 개발 환경으로서 소프트웨어의 프로젝트 생성, 관리, 코드의 편집, 크로스 환경의 컴파일, 링커를 포함한 빌드 툴, 다양한 디버깅 환경을 제공하며 현재 펌웨어 개발에 가장 많이 사용되고 있다.
IAR Embedded Workbench의 가장 큰 장점은 코드의 개발 시작부터 빌드, 디버깅까지 한 번에 진행될 수 있도록 다양한 기능을 지원한다. 특히, 다양한 디버깅, 코드 분석 기능이 포함되어 코드 품질 향상에 많은 도움을 주며 기존 단위 테스트에 주로 많이 사용되었던 CUnit, Valgrind 등의 테스트 도구의 기능을 대체하여 단위 테스트 진행이 가능하다.
IAR Embedded Workbench 에는 코드를 개발하는 Editing 기능과 타깃에 맞춘 Compiling, Assembler, Linking의 기능 외 실제 실행코드를 타깃에 다운로드 후 디버깅을 할 수 있는 기능이 포함되어있다. 디버깅할 수 있는 환경을 C-SPY Debugger 라고 한다. 또한, C- STAT의 정적 분석 기능, C-RUN의 동적 분석 기능을 제공하고 있어 디버깅과 코드 검증을 동시에 할 수 있다.
IAR Embedded Workbench에서 제공되는 주요 디버깅 기능을 단위 테스트의 진행과 결과 확인에 활용 가능하다. 주요 디버깅 기능으로 Breakpoints, Disassembly, Watch, Live Watch, Register view, Code Coverage, Function profiler, Power Debugging, SWO Trace 등이 있다. 이 외 IAR Embedded Workbench에서 추가 사용할 수 있는 정적, 동적 코드 분석 기능과 같은 단위 테스트에 필요한 다양한 기능이 내장되어 있다. 정적 분석과 동적 분석은 단위 테스트의 품질을 크게 향상할 수 있다.
Win AVR
WINAVR는 Notepad프로그램을 이용해 C언어로 컨트롤러 동작을 위한 프로그램 코딩을 하면 이 코딩된 C프로그램을 컨트롤러가 알아들을 수 있는 2진 코드(0, 1)로 구성된 HEX파일로 만들어주는 프로그램이다.
WINAVR는 AVR Edit와 마찬가지 AVR-GCC를 내부에 가지고 있으면서 사용자 가 쉽게 AVR-GCC를 사용할 수 있게끔 통합개발환경(Integrated Developement Environment)을 제공하는 툴이다. 여기서 GCC는 C컴파일러를 의미한다. 이를 이용하면 윈도우 환경에서 AVR를 위한 C소스들을 에디팅하고 컴파일 할 수 있다.
C컴파일러는 학습자가 WINAVR의 Notepad(에디터)프로그램을 이용해 C언어로 컨트롤러 동작을 위한 프로그램 코딩을 하면 코딩된 C프로그램을 기계어 즉, 컨트롤러가 알아들을 수 있는 2진코드(0, 1)로 구성된 HEX파일로 만들어(컴파일) 준다. C프로그램을 컴파일한 것을 예제로 들어본다면,
#include
int main(void)
{
outp(0xFF, DDRA);
oupt(0xFF, PORTA):
}
이현도(2017). 통합 개발 환경(IDE)의 기능을 활용하는 펌웨어 단위 테스트 기법. 강원대학교 산업대학원, 석사학위 논문.
서외진(2011). 마이크로프로세서를 이용한 공학캠프프로그램의 개발 및 적용. 한양대학교 교육대학원, 석사학위 논문.

분야