커맨드 라인으로 빌드하기

기술노트 47884

아키텍처:

All

컴포넌트:

general

업데이트:

2021-07-15 오후 9:31

소개

본 기술 노트는 IDE 밖에서, 커맨드 라인을 통해 IAR Embedded Workbench 프로젝트를 빌드하는 방법에 대해 예제를 통해 보여줍니다.

논의

아래의 대안들은 IAR Embedded Workbench for Arm을 위해 만들어진 예제들 입니다, 하지만 다른 타겟 디바이스에 대해서도 쉽게 수정할 수 있습니다.

대안 1 - 커맨드 라인으로 부터 IarBuild.exe 실행

Debug라는 설정으로 test.ewp라는 프로젝트 파일이 있는 경우, 다음의 커맨드 라인으로 프로젝트를 빌드할 수 있습니다:

<installation dir>\common\bin\IarBuild.exe test.ewp Debug

 

참고: 파라미터 없이 IarBuild.exe를 실행하여 사용법(usage) 정보를 가져올 수 있습니다.

 

프로젝트를 재 빌드하려면, 다음 명령(모든 컴파일러 메시지를 기록(log)하는 옵션과 함께 확장됨)을 사용합니다.

<installation dir>\common\bin\IarBuild.exe test.ewp -build Debug -log all

 

위의 재 빌드 명령은 다음과 같습니다:

<installation dir>\common\bin\IarBuild.exe test.ewp -clean Debug -log all
<installation dir>\common\bin\IarBuild.exe test.ewp -make Debug -log all

 

대안 2 – 커맨드 라인으로 컴파일, 링크

명령줄에서 <installation directory>\arm\bin 폴더의 모든 .exe 파일을 실행할 수 있습니다. 사용 가능한 명령줄 옵션 목록을 가져오려면 매개 변수 없이 iccarm.exe와 같은 각 명령을 실행합니다.

빌드 프로세스를 자동화하기 위해 각 원본 파일을 별도로 컴파일하는 .bat 파일을 생성할 수 있습니다. 명령줄 매개 변수를 보려면 IAR Embedded Workbench IDE에서 빌드 필터 All을 선택합니다.

Build 창에서 우클릭 한 뒤 Filter Level: All를 선택

이전 IDE 에서: Tools > Options > IDE Options > Messages > Show build messages: 'All' 

 

하나의 소스 파일을 컴파일하는 .bat 파일을 생성하려면 iccarm.exe의 전체 경로와 매개 변수(View > Messages > Build 창에서 복사)를 입력하십시오.

<installation dir>\arm\bin\iccarm.exe <source-file> <options>

 

하나의 소스 파일에 대해 작동하는 명령을 받으면 나머지 소스 파일에 대해 .bat 파일에 명령을 더 추가할 수 있습니다.

 

연결할 때 명령줄 옵션 -f <file>이 유용할 수 있습니다. 예를 들어:

<installation dir>\arm\bin\ilinkarm.exe -f options.xcl

 

빌드 창의 모든 링커 매개 변수를 options.xcl 파일에 배치합니다(각 매개 변수를 별도의 줄에 배치해야 함). 대부분의 경우 링커 명령줄이 매우 길 수 있으므로 명령 프롬프트 줄 길이에 문제가 발생하지 않도록 –f 옵션을 사용하는 것이 좋습니다.

결론

IarBuild.exe를 사용하거나 IAR C/C++ 컴파일러와 ILINK 링커를 별도로 호출하여 명령줄에서 IAR Embedded Workbench 프로젝트를 빌드할 수 있습니다. 명령줄 구성에 대한 자세한 내용은 명령줄에서 Building 제목 아래의 Help > IDE Project Management and Building Guide를 참조하십시오.

 

모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.

죄송하지만, 당사 사이트에서는 Internet Explorer를 지원하지 않습니다.보다 편안한 사이트를 위해 Chrome, Edge, Firefox 등과 같은 최신 브라우저를 사용해 주시길 부탁드립니다.