
도와주세요!!
글 수 15,339
2002.08.28 01:06:12 (*.246.22.96)
8026
안녕하세요.
모두들 일은 잘 되시나요?
매번 바로 질문에 들어가서 이번에는 다른 말을 좀 넣을까 했는데..
썰렁하군요 ^^
전 리눅스를 ezboard에 올리지 않고, ezboot를 기반으로 해서
다른 프로그램을 만들고 있습니다.
host는 debian/woody이구요...
프로그램을 만들다가 double(and float) 형을 써야 하는데...
sa-1110이 Floating Point Unit이 없잖아요...
그래서 software적으로 emulation하는 방법이 있다구 그러더라구요..
좀 찾아봤는데... gcc에 옵션으로 -msoft-float이 있습니다.
그래서 컴파일시에 옵션을 넣었는데...
double형을 선언하고
간단한 사칙연산 루틴이 있는것은 컴파일이 되고 실행됩니다.
그런데 printf(using ezboot)를 사용하면 그 부분에서 멈춥니다.
- %f 가 안되는것 같아요...
그리고 아래와 같은
double da = 2.1;
if (da > 2.3)
GPIOSetLED(0x0f);
else
GPIOSetLED(0xf0);
하고 컴파일 하면
undefined reference to '__gtdf2'
가 뜨거든요?
그건 libgcc.a에 그런 symbol(?)을 가진 object 가 없는거죠?
맞나요?
음 어떻게 해야 soft-float을 쓸수 있지요?
아님 다른 방법이라도...
모두들 일은 잘 되시나요?
매번 바로 질문에 들어가서 이번에는 다른 말을 좀 넣을까 했는데..
썰렁하군요 ^^
전 리눅스를 ezboard에 올리지 않고, ezboot를 기반으로 해서
다른 프로그램을 만들고 있습니다.
host는 debian/woody이구요...
프로그램을 만들다가 double(and float) 형을 써야 하는데...
sa-1110이 Floating Point Unit이 없잖아요...
그래서 software적으로 emulation하는 방법이 있다구 그러더라구요..
좀 찾아봤는데... gcc에 옵션으로 -msoft-float이 있습니다.
그래서 컴파일시에 옵션을 넣었는데...
double형을 선언하고
간단한 사칙연산 루틴이 있는것은 컴파일이 되고 실행됩니다.
그런데 printf(using ezboot)를 사용하면 그 부분에서 멈춥니다.
- %f 가 안되는것 같아요...
그리고 아래와 같은
double da = 2.1;
if (da > 2.3)
GPIOSetLED(0x0f);
else
GPIOSetLED(0xf0);
하고 컴파일 하면
undefined reference to '__gtdf2'
가 뜨거든요?
그건 libgcc.a에 그런 symbol(?)을 가진 object 가 없는거죠?
맞나요?
음 어떻게 해야 soft-float을 쓸수 있지요?
아님 다른 방법이라도...