기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

Host : ubuntu 10.04 LTS
U-boot
Kernel 2.6.35.7
Android 2.3.3
S5PV210을 사용하고 있습니다.


주기적으로 함수를 실행시키고 망고보드에서 동작 시간을 측정하기 위해서 타이머를 사용하려고 하는데
ndk-build를 이용해서 실행파일을 만들려고 하니 에러가 나네요

현재 문제점 : ndk-build시 다음과 같은 에러가 나옵니다.
undefined reference to `sigset' collect2: ld returned 1 exit status

sigset(SIGALRM, my_timer_callback);//에러가 나는 부분
위와 같이 에러가 나는 부분을 주석처리 하고 하면 컴파일이 잘 되고 실행도 잘 됩니다.

헤더파일은 ndk폴더에 c library들을 살펴보니 다 참조가 되어 있는것 같고...
타이머 소스의 sigset부분이 에러가 나는데 도통 이 에러가 왜 나는지 해결방안이 어떤것인지 모르겠네요
혹시 해결 방법을 아시는 분은 답글 부탁드립니다.

기타 질문 : 진행하면서 궁금했던 점이나 검색 능력 부족으로 구글님의 해결을 얻지 못한 의문점

1.ndk-build가 아닌 arm-2009q3 툴체인으로 컴파일한 바이너리 파일을 진저브레드가 올려진 망고보드에 실행시
아래와 같이 되는데 왜 이런 현상이 나오는 것인가요? 
ndk-build나 gcc 크로스 컴파일러나 동일한 컴파일러를 사용하는것이 아닌가요?
# ./test
/bin/sh: ./test: not found

2. adc 디바이스 드라이버는 삼성커널에서 제공하는 것을 사용하고 있습니다.
adc값을 읽는 것은 성공했으나 조금 이상한 점을 발견했습니다.
터치 스크린을 연결했을 경우와 연결하지 않고 측정할때 값이 다릅니다.
연결된 경우 => 정상적으로 값이 읽어짐
연결하지 않은 경우 => 제대로 된 값이 읽히지 않고 일정한 쓰레기값(?)이 나옴 
100번 읽어서 평균을 내보면 항상 값이 +- 50 오차율.. 사인파를 넣든 dc를 넣든...
이런 현상이 나오는 이유는 도대체 무엇일까요...ㅡ.ㅡ?


Android.mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := timer
LOCAL_SRC_FILES := timer.c

include $(BUILD_EXECUTABLE)
컴파일 하려는 간단한 타이머 파일의 소스입니다.
#include <signal.h>
#include <stdio.h>
#include <sys/time.h>
void my_timer_callback( unsigned long data )
{
printf( "my_timer_callback called .\n" );
}
int main()
{
struct itimerval time_val;

sigset(SIGALRM, my_timer_callback);//에러가 나는 부분
time_val.it_interval.tv_sec = 1;
time_val.it_interval.tv_usec = 0;
time_val.it_value.tv_sec = 1;
time_val.it_value.tv_usec = 0;

if(setitimer(ITIMER_REAL, &time_val, NULL) == -1)
{
perror("Failed to set virtual timer!\n");
exit(1);
}

if(getitimer(ITIMER_REAL, &time_val) == -1)
{
perror("Faild to get virtual timer B!!!!\n");
exit(1);
}

while(1)
{
printf("it_value.sec = %d\ it_value.usec = %d\n", (int)time_val.it_value.tv_sec,
(int)time_val.it_value.tv_usec);
 sleep(1);
}
return 0;
}


bradkim

2012.06.01 00:32:32
*.139.137.131

sigset을 지원을 안하네요 ndk에서는

지원하는 API 사용해서 해결했습니당..

새삶

2012.06.01 18:38:32
*.192.178.206

기타질문 1번은 혹시 -static 옵션 주고 컴파일 하셨나요.?

보드 사용한지 좀 되어서 정확하지 않아서 답변 안달았는데 답변이 없어 아는 내용만 올립니다.

그냥 amr_linux_gcc -o test test.c 이런식으로 하면 위에 같은 메시지가 나왔고 옵션을 줘야 했는데 -static이었는지는 정확하지 않네요..

bradkim

2012.06.01 23:21:53
*.139.137.131

답글 감사합니다 ^^ 새삶님 말씀대로 static 옵션을 주니 정상 작동하네요!

arm-none-linux-gnueabi-gcc -static -o hello hello.c 

List of Articles
번호 제목 글쓴이 날짜 조회 수sort

arndale board 구입후 포팅 여부 판단 방법 [3]

  • monad
  • 2012-12-20
  • 조회 수 1529

Arndale Board용 linaro Kernel Build 방법? [1]

  • Supsupi
  • 2014-08-05
  • 조회 수 1528

해외사이트에서 임베디드 보드 구매시 관세, 부가세, 배송료, 배송기... [3]

프레임 버퍼 픽셀 값 쉬프트 연산하는 방법 [1]

ODROID X2 codec 지원 리스트? [3]

[AESOP 관리자님께]터치스크린 컨트롤러 IC 에 대해 문의드립니다... [3]

[도움요청] S3C6400 [7]

[ALL-100] ALL-100 롬 라이터 사용법 질문 드립니다. [완료] [4]

[CGI 관련 질문] 웹 페이지에 이상한 글자가 표시되요.. file [2]

  • 허경
  • 2012-02-10
  • 조회 수 1524

제목 : gcc로 ucos 이숍보드에 포팅하기 관련 질문 - 하이버스용 링... [10]

[질문 수정했음] RTC 드라이버 포팅 관련 .... file [5]

Alsa record 관련 질문 드립니다. [9]

  • jaeokbr
  • 2012-08-06
  • 조회 수 1523

aesop v210보드 안드로이드 소스 [2]

CHIP ID 가 안읽어지는 경우 [3]

진저브레드에서 이동식 디스크(UMS) 2개 연결하는 방법? [2]

  • 텡구
  • 2011-06-18
  • 조회 수 1522

제가 만든 어플리케이션을 보드가 부팅했을 때 자동으로 실행 되게하... [7]

c100 보드, 커널 및 안드로이드 관련 소스 [2]

directfb + gtk2 + webkit 1.2.7 (without X11)관련 문의 [3]

회로도 관련 질문이 있습니다. [7]

  • sonbong
  • 2012-03-27
  • 조회 수 1520

S5pv310의 GPL2(0)를 인터럽트로 사용 하려면 어떻게 해야 되지요.? [3]

사용자 로그인