회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

미리 말씀드리자면 이 내용을 팁이나 강좌로 안올리는 이유는..

아직 완벽하게 정리가 된게 아니라.

어느 정도의 가능성을 확인한 상태에서 올리는 거라..

일단 자유게시판에 올립니다.


오드로이드를 가지고 이것 저것 시도해볼 요량으로..

오드로이드에 탑재된 플랫폼을 이리 저리 뜯어보던중에..


플랫폼을 뜯어서 조금 고쳐서 확인하려고 하니..

메모리 카드를 빼서 연견해서 기존 데이타 지우고 다시 써놓고..

다시 오드로이드에 넣고 부팅시키고... 하는 과정이 너무 번거롭던 차에..


이제현님 글과 주재경님의 글로 usb를 통한 NFS 환경울 구성했습니다.


이렇게 구성을 하면 문제가 발생되는 부분이 코드내에서 LOG를 뿌려주던 것들을

LogCat을 통해 확인 할 수 없다는 문제가 발생이 되었습니다.


USB가 하나 밖에 없는 차에 그걸 usbnet을 사용하였으니.. adb를 통한

디버깅은 불가능하게 되었죠.


이걸 어떻게 해야하나 고민하다가 부트 메세지가 뿌려지는 시리얼 콘솔로 로그를

나오게끔 하면 되겠다라고 생각하고..

이리 저리 구글링을 해본 결과


저와 같은 상황에 놓인 사람들이 별반 없는지 확실한 솔루션이 나오질 않았습니다.


그래서 소스코드를 디벼파던 중..


init 이라는 프로세스가


./system/core/init/util.c  안에

void log_int(void) 라는 함수에서..


내부적으로 "/dev/__kmsg__" 라는 디바이스 파일을 통해 시리얼 콘솔로 자체로그를

출력하는 걸 알았습니다.


그래서 들었던 생각이..


이 부분을 이용해서 시리얼 콘솔 로그 데몬을 만들면 되겠다라고생각하고..


서비스를 만들어서.. 


void _koim_log_init(void)
{
    static const char *name = "/dev/__koimmsg__";
   
    if (mknod(name, S_IFCHR | 0600, (1 << 8) | 11) == 0)
    {
        koim_log_fd = open(name, O_WRONLY );
        fcntl(koim_log_fd, F_SETFD, FD_CLOEXEC);
        unlink(name);
    }
}


위와 같이 디바이스를 만들어서 열고..

해당 파일 디스크립터로 write를 했더니.. 로그가 잘 뜨는군요.


이제 다른 프로세스에서 메세지를 보내도 제대로 출력되는지 확인이 되면..


init.%PRUDOCT%.rc에 해당 데몬을 온 오프시키는 키워드를 추가해서

처리할 생각입니다.


현재까지는 시리얼 콘솔로 로그가 출력되는 것만 확인했는데..

지금보니 별것도 아닌데...


해당 플렛폼의 내부구조를 모르니 역시 헤맬일 수 밖에 없군요..


그럼 모두들 수고하십시요..



고임


이제현

2010.07.09 21:24:59
*.90.137.102

좋은 방법 감사합니다.


그런데, 디버그 보드를 연결하여 시리얼 포트로 logcat을 볼수 있습니다.

NFS는 디버그 보드의 TTA 커넥터를 통해 USB로 연결하면 되고요~~

이 방법이 좀 더 간단할것 같습니다.

naviro

2010.07.09 21:37:08
*.181.29.70

좋은 아이디어이네요. (다소 제약 사항은 있지만) 새로운 시도를 하시는 모습이 아름답습니다.  ^-^

범수아빠

2010.07.09 21:45:03
*.137.88.49

아그런가요? ㅠㅠ

제가 잘못 알고 있었나 보군요.


지금 제가 디버그 보드 사용해서 NFS로 동작시키는 중인데..

logcat 을 rc에서 서비스를 실행하는줄 알고 있었는데.. -_-


지금 확인해보니..  아니군요..

다시 해봐야겠습니다.


조언 감사드립니다.


좋은 하루되세요.

범수아빠

2010.07.09 22:05:11
*.137.88.49

확인해봤더니..

결국 제가 잘못 알고 있었던 거군요..


그런데 궁금한 점이


rc 파일에

service logcat /system/bin/logcat
oneshot


이런 식으로 추가 했는데.

화면에 출력이 되질 않아서..


그냥 쉘에서 logcat을 직접 실행시켜줬습니다.

그랬더니.. 실시간으로 화면에 출력이 되는군요..


rc 파일에 작성한 부분이 뭔가 잘못된 거라도 있는 걸까요?


그리고 또 문제점이 발생된게.. logcat이 실행이 되면..

다른 쉘명령은 못내리는 게 맞는 건지..


화면에 실시간으로 출력되는건 좋은데..

쉘명령이 안먹네요..


해결책을 찾았다는 즐거움과 동시에 문제점이 또 생기는군요.. 

리눅스도 그렇고 임베디드쪽도 처음해보는 거라..


상식적인 부분에 있어서 부족하니 쉽진 않네요.



고임

유형목

2010.07.09 22:44:18
*.29.224.62

logcat을 실행하고 나서도 쉘명령어가 동작하도록 하려면 백그라운드로 실행하시면 됩니다.


# logcat &



범수아빠

2010.07.09 23:10:12
*.137.88.49

아 감사합니다. 


service logcat /system/bin/logcat -f /dev/kmsg
oneshot


이런 식으로 등록하니. 이유는 모르겠지만 잘동작하네요.. 


막상 LOGD.. LOGI..  등으로 로그가 잘 떨어지니.. 이것도 뭔가 문제가 좀 생기는군요..

LOGD.. LOGI 등의 함수를 사용한 다른 어플들의 로그도 우수수 떨어지니.....

알아보기가 좀 힘드네요.


아무래도 전용 로그 데몬을 만드는게 편할 듯.. 싶습니다. ㅠㅠ


고임

한기태

2010.07.10 01:34:29
*.107.79.37

header file 에


#define LOG_TAG     XXXX


설정 하시고


# logcat -s  XXXX:<priority> &


실행하시면 XXXX가 정의된 LOG 들만 출력됩니다.

여기서 proirty는 V,D,I,W,E,F,S중에 하나입니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 교육 홍보 및 광고는 "교육 및 세미나 홍보" 게시판을 이용해 ... 관리자 2010-07-15 108026
1290 구글, 안드로이드용 온라인 개발툴 발표. file [2] 유형목 2010-07-13 4569
1289 7인치 ODROID? [3] 김장균 2010-07-12 3787
1288 우분투에 lxr 설치경험 있으신분 부탁드려요 럭셔리70 2010-07-11 3860
1287 S5PC110 구매처! [4] 조예족 2010-07-11 4659
1286 오드로이드s에 관해서 [4] 압둘x9 2010-07-11 3681
» 오드로이드를 NFS를 이용해 개발할때 LOG를 시리얼 콘솔로 보... [7] 범수아빠 2010-07-09 5084
1284 대사가 참으로 ㅋㅋ [4] 류종택 2010-07-09 3760
1283 ARM 도서 추천좀 부탁드려요.. [4] 비네팅 2010-07-09 4762
1282 Tester day once more? 류종택 2010-07-08 4146
1281 [오드로이드-T 케이스]카메라 모듈을 받았습니다. file [3] 도찬구 2010-07-08 4758
1280 MES-DNW 실행문제(3일째입니다) [1] 스캉이 2010-07-08 4532
1279 깜빡이는 Froyo를 봐도... ^^ [4] 착한이 2010-07-08 5985
1278 갤럭시S 속안이 궁금하신 분들.. [7] 유형목 2010-07-07 7553
1277 고현철님 ... 핸폰번호로 연락드리고 싶은데요 ... 장석원 2010-07-07 3932
1276 Odroid-T 멀티터치 정말 멋지군요... [3] 김장균 2010-07-05 4658
1275 잡다한 얘기들.. [2] 도찬구 2010-07-04 3884
1274 파라과이 응원녀 "우승땐 알몸 세레모니 펼칠 것" [3] 류종택 2010-07-02 4505
1273 Odroid-S 동영상 및 음악 파일 연속 재생 시간? [1] 김상범 2010-07-01 4444
1272 오드로이드-S 컴파일시 변경해야할 부분들(처음하시는분들 참고하세... [2] arel 2010-07-01 4802
1271 쟁이의 문서작업 [5] 요셉 2010-07-01 3910

사용자 로그인