본문 바로가기
MISC.

IAR 컴파일러 [Li016] 에러

by irmus 2012. 7. 3.

IAR EWARM 이야기입니다.

kickstart 버전은 최종 바이너리 사이즈 제한이 있는 버전입니다. 32KB 이상의 바이너리는 만들 수 없는 대신 기한 제한은 없습니다.

반면 evaluation 버전은 바이너리 사이즈 제한은 없는 대신 30일 기한 제한이 있습니다.



가끔 고객 요청에 의헤 IAR EWARM을 쓸 경우가 있습니다. 간단한 검증 목적이기 때문에 kickstart 버전을 이용합니다. 

오늘 테스트 대상은 32KB 미만이었습니다만 몇가지 테스트 코드를 넣다 보니 넘어버렸습니다. [Li016] size limit exceeded 라는군요.


음...방법이 없군요. 30일 기한제한이 있는 evaluation 버전을 다운로드 받아 설치하였습니다. 다시 빌드 돌렸는데 똑같은 에러가 납니다. 이건 뭥 -_-;; 사이즈 제한 없다며!!

버럭하다 여기저기 구글링 시작. IAR은 포럼이 없어서 아쉽군요. 이런 정도의 문제는 주로 포럼 뒤지면 답이 나오는데... 돈주고 사서 쓰는 사람에겐 전화 서비스 하겠죠 뭐. 에잇 더러운 세상...;;

없는 자료 뒤지다보니 중국의 어느 게시판 글이 걸렸습니다. 물론 구글로 번역해서 읽어보니 가장 마지막 코멘트에서 힌트를 발견했네요. 요즘 MCU는 중국이 정말 많이 하는것 같아요. 뒤져보면 거의 중국어로 나오고, 영문 포럼에도 중국어 게시글들이 자주 올라오고...

여튼 결론은 kickstart 버전에서 빌드 된 라이브러리 파일이 포함된 경우 size limit에 걸린다 입니다. 해당 라이브러리들 역시 evaluation 버전에서 다시 컴파일 해 줘야 합니다.

동일한 문제가 kickstart->evaluation 사이에서 뿐만 아니라 kickstart->정식버전 에서도 발생하는것 같습니다. 이건 독일의 어느 게시판에서 이런 증상이 있다고 질문이 올라와있더라구요. 역시 구글 번역;;;


몇가지 테스트 해 보니 라이브러리 뿐만 아니라 개별 obj 파일들 중 한개라도 kickstart에서 컴파일된 녀석이 포함되어 있으면 안되는것 같습니다. 혹시 이런 경우 겪으신 분들 참조하시라고 글 남겨 봅니다.