코드 크기 제한이 지속됨

기술노트 24687

아키텍처:

All

컴포넌트:

general

업데이트:

2021-06-04 오전 7:41

소개

IAR Embedded Workbench 툴은 예상하는/원하는 실행 파일 대신 너무 많은 코드에 대한 에러 메시지를 출력합니다.

해당하는 진단 메시지

Error[Li016]: size limit exceeded
Error[Li016]: size limit exceeded ##### > 12288
Fatal Error[e89]: Too much object code produced (more than x bytes) for this package

가능한 원인

두 가지 시나리오가 있을 수 있습니다.

시나리오 A

PC에 설치한 "코드 크기 제한(code size limited)" 라이센스(예시로 KickStart)나 이 "코드 크기 제한" 라이센스가 "사용중(in use)"인 경우.

시나리오 B

올바른 IAR Embedded Workbench가 "사용중"이지만 문제가 지속되는 경우.

해결방안

시나리오 A

적절한 IAR Embedded Workbench 제품군(즉, 크기-제한없음)을 사용중인지 확인합니다.

이 절차는 사용되는 라이센스 관리 시스템에 따라 다릅니다. (2012-2013까지 쓰인) 오래된 시스템(lagacy system)을 사용 중인 경우, 아래 추가 정보를 참조하십시오.

IAR Embedded Workbench IDE의 Help 메뉴에서 "License Manager"를 선택하여 라이센스 관리자를 엽니다.

"selected license"에 "32K Kickstart"와 같은 항목이 보인다면, 라이센스는 크기 제한이 걸린 것입니다. "_KS"혹은 "_BL"로 끝나는 기능이 있는 경우(예로 ARM_EW_COMPILER_KS)도 마찬가지 입니다.

  • 드롭 다운 목록에서 OK license가 있는 경우, 이 옵션을 선택합니다.
  • 그렇지 않다면, 가능한 제품을 사용하세요. (세일즈 팀에 연락하시기 바랍니다.)

시나리오 B

프로젝트의 모든 오브젝트 코드가 (사이즈 제한 없이) 올바르게 빌드되었는지 확인합니다. 적절한 버전을 사용하고 있는지 확인되었으면 다음 작업을 수행:

  • 프로젝트의 모든 소스 코드를 컴파일 / 어셈블
  • 메뉴: Project > Clean
  • 메뉴: Project > Rebuild All
  • 또한 소스 코드 없는 오브젝트 코드(그 예로 3rd party 라이브러리)를 올바른 에디션으로 반드시 빌드 해야합니다.
  • IAR Embedded Workbench for ARM이 사용되고 초과 제한이 12288 byte 인 경우 C-RUN을 비활성화 합니다(크기 제한 모드에서 활성화됨):
    Project > Options > Runtime Checking - 체크박스 'Enable' 체크 해제

배경

IAR Embedded Workbench 에디션의 오브젝트 코드를 링크된 코드에 대한 크기 제한 없이 혼합하면 제한은 계속 적용됩니다(높은 우선순위/우선순위).

레거시 버전 (2012-2013 보다 이전)

시나리오 A

라이센스 관리 시스템 버전 1에서는 서로 다른 이진 파일이 서로 다른 기능을 제공합니다. 따라서 sign-on 메시지는 킥스타트, 기준선 등인지 여부를 표시합니다. 예: IARC/C++ 컴파일러 V6.12.1.40500, Atmel AVR의 기본 버전

sign-on 메시지는 다음에서 찾을 수 있습니다:

  • 컴파일러 리스트 파일 헤더
  • IAR Embedded Workbench 에서 빌드 로그 창
  • 커맨드 라인 컴파일러를 실행하는 경우, 표준 출력

PC에 적절한 에디션이 설치되어 있다면, 해당 버전을 사용하십시오.

그렇지 않은 경우 설치하시기 바랍니다.

시나리오 B

상기 조치와 LMS2의 시나리오 B와 동일합니다.


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

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