이번 글에서는 프로젝트 옵션에서 hex 또는 binary 형식으로 실행 코드를 생성하는 방법과 command line의 명령어들을 빌드 시 사용하는 방법 등에 대해 알아보고 Static Analysis와 Runtime Checking 기능도 함께 살펴보도록 하겠습니다.

IAR Embedded Workbench for ARM(이하 EWARM)은 .out 확장자를 가진 ELF/DWARF 형식의 실행 코드가 생성됩니다. 그러나 경우에 따라서는 바이너리 또는 HEX등의 다른 형식의 실행 이미지 파일이 필요합니다.

[그림 1] Output Converter

Output Converter의 Output 탭에서는 추가적인 형식의 실행 이미지를 생성할 수 있습니다. Generate additional output을 선택하면 화면 아래의 Output format 항목이 활성화되고 필요한 출력 형식을 선택하면 됩니다. 이 옵션을 설정하고 빌드를 하면 .out와 .bin과 같이 선택한 파일 형식이 추가적으로 함께 생성됩니다.

Custom Build는 툴 체인에 추가적인 외부(커스텀) 툴의 실행을 제어합니다. Filename extension은 외부 툴에서 사용하는 파일 확장자를 지정합니다.

여러 종류의 확장자를 분리하기 위해서는 컴마, 세미콜론, 빈공백 (commas, semicolons, blank spaces)을 사용합니다. 예를 들면 .htm; .html과 같이 입력합니다. Command line항목은 실행할 외부 툴을 명시합니다. Output files 항목에는 외부 툴에서 사용하는 출력 파일 이름을 입력합니다.

Additional input files 에는 빌드 동안에 외부 툴에서 사용할 입력 파일 이름을 나열합니다. Run this tool before all other tools를 선택하면 다른 툴이 실행되기 전에 외부 툴을 먼저 실행합니다.

[그림 2] Custom Build
[그림 3] Build Action

외부 툴이 실행되어 헤더(.h) 파일을 생성하는 경우라면 필요한 선택 사항입니다
Build Actions Configuration은 빌드 전(pre-build)과 빌드 후(post-build) 작업을 명시합니다. Pre-build command line은 빌드 시작 전에 실행해야 할 명령어 라인을 입력합니다. Post-build command line은 빌드 작업이 끝나고 나서 실행할 명령어 라인을 입력합니다.

예를 들어 소스 코드의 내용을 빌 드전에 명령어 라인에서 실행시켜 변경하려는 경우는 Pre-build에 지정하면 됩니다. 실행 파일이 생성된 이 후에 실행 파일을 복사 하는 등의 작업이 필요한 경우에는 Post-build를 이용하면 됩니다. batch파일을 활용한다면 여러 프로그램을 실행 시킬 수 있습니다.

다음은 EWARM에서 플러그인 형식으로 지원되고 있는 코드 분석 툴에 대해 살펴보도록 하겠습니다.

Select C-STAT Checks…를 클릭하여 상세 검사 항목들을 <그림 5>와 같이 설정 할 수 있습니다. 또한 선택된 항목을 별도로 저장하여 사용할 수 있도록 Import/Export Settings 기능이 지원됩니다. Enable parallel analysis에서는 병렬 처리를 지정하며 사용할 프로세스 수를 명시합니다.

Enable module timeout은 타임아웃 시간을 초단위로 설정합니다. Enable false-positives analysis는 일반적으로 거짓 양성으로 간주되는 잘못된 메시지들을 제외시키게 됩니다. Limit messages per check and file은 검사와 파일마다 생성되는 메시지의 최대 개수를 지정합니다.

[그림 4] Static Analysis
[그림 5] Select C-STAT Checks

C-STAT에서 검사를 실행하는 방법은 C-STAT Static Analysis > Analyze Project를 클릭합니다.
실행한 결과를 C-STAT 윈도우에 표시 하며, 목록의 라인을 더블 클릭하면 해당 소스코드의 파일이 편집 창에 나타납니다. 또한 +를 클릭하여 세부 항목에 대한 표시 여부를 지정할 수 있습니다.

[그림 6] Analyze Project
[그림 7] C-STAT 검사 결과
[그림 8] C-STAT Full HTML Report

그리고 Project > C-STAT Static Analysis > Generate Full HTML Report를 실행하면 다음의 <그림 8>과 같은 HTML형식의 결과 리포트를 생성할 수 있습니다. 이러한 분석을 통해 검사된 내용을 토대로 코드에 대한 수정과 보충 작업이 이루어 지면 보다 안정적인 코드를 생성할 수 있습니다.

C-RUN 런타임 오류 검사는 Arithmetic checking, Out-of-bounds checking, Heap checking 기능을 수행합니다. 프로젝트 옵션에서 Runtime Checking 카테고리를 선택하고 검사할 항목에 대해 선택합니다.

[그림 9] Runtime Checking

Rebuild All을 실행하여 C-RUN 옵션에서 설정된 검사를 하도록 테스트 코드가 포함된 실행 코드를 생성합니다. 어플리케이션을 실행하면 C-RUN 실행 분석에 대한 결과를 C-RUN Message 윈도우에 표시합니다. 실시간으로 코드를 실행하면서 발생되는 문제점을 찾아 냅니다.

C-RUN Message에 표시되는 내용을 조절하는 것은 C-RUN Message Rules 윈도우에서 지정합니다. View 메뉴에서 C-RUN 항목을 선택하여 Messages 윈도우와 Rules 윈도우를 열 수 있습니다.

[그림 10] C-RUN Message 윈도우
[그림 11] CRUN 메뉴

C-RUN Message 윈도우의 목록에서 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴를 호출합니다. 

Add Rule for 항목을 선택하여 C-RUN Message Rules 윈도우에 등록합니다. 등록된 내용의 Action은 항목을 더블 클릭 또는 마우스 오른쪽 버튼을 이용하여 Stop, Log, Ignore으로 변경할 수 있습니다. 이런 방식으로 메시지에 대한 규정을 설정하여 C-RUN Message의 표시 내용을 조정할 수 있다.

[그림 12] C-RUN Messages


맺음말  
EWARM의 프로젝트 옵션에 대해 여러 회에 걸쳐 전체적인 항목에 대해 살펴 보았습니다. 프로젝트 옵션에서 지원되는 기능들을 잘 활용하면 프로젝트를 보다 효율적으로 관리할 수 있습니다. 또한 코드 분석 툴을 이용하면 보다 안정된 코드를 작성하는데 많은 도움이 됩니다. 감사합니다.

 

고성용 이사 / IAR 시스템즈
Sung-Yong.Ko@iar.com

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지