일요일, 1월 13, 2008

WIPIC 에서 Error: L6218E: Undefined symbol Image$$ZI$$Limit (referred from sys_stackheap.o)

:: Re-implement __user_initial_stackheap() when using Scatterloading
http://www.arm.com/support/faqdev/1247.html

음... 위의 내요을 보면 ADS 1.1 이나 earlier version 에서 이러한 문제가 발생한다고 나와있으나 나의 경우엔 ADS 1.2 임에도 불구하고 이러한 문제가 발생한다.
다른 장소에서 같은 버전으로 테스트 해보았을 때 문제가 되지 않은걸 보면 source 에 나도 모르고 있는 어떤 code 가 추가되어있나 보다. 아래 방법 말고 다른 쉬운 방법이 있을것 같다.

일단 아쉬운대로, WIPIC 에서 ADS 1.1 or 1.2 로 build 시 아래와 같은 error 가 나올 때
Error: L6218E: Undefined symbol Image$$ZI$$Limit (referred from sys_stackheap.o)

다음과 같이 하자.


#1 우선 아래의 code 를 작성한다.

Filename: file.c
#ifdef WIN32
#else
#include <rt_misc.h>

__value_in_regs struct __initial_stackheap __user_initial_stackheap(
unsigned R0, unsigned SP, unsigned R2, unsigned SL)
{
struct __initial_stackheap config;

config.stack_base = 0x00080000;
config.heap_base = 0x00060000;

return config;
}
#endif

#2 이렇게 작성한 file.c 파일을 VC++ IDE 에서 추가하자.
(#ifdef WIN32 를 한것은 VC 에서 build 할 때 error 나는걸 방지하기 위함)

#3 ADS 로 build 한다.



Cheers,
godmode2k

댓글 없음:

댓글 쓰기