포럼 회원으로 등록하신분만 다운로드가 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

MV6410의 android gps

조회 수 13108 추천 수 0 2009.07.29 22:32:27
소스는 freerunner_gps.c를 이용했습니다. 원본의 gps_qemu.c와 완벽하리 만치 동일합니다.컴파일은 그냥 원본 파일의 설정 그대로 이용했습니다. libgps.so이렇게 생성하지 않고. 그냥 libhardware_legacy.so에 들어가도록 했습니다. 
gps_dev_power()에서 power on/off하는 부분이 있는데 이놈을 죽였습니다. 그대로 두면 예외처리로 인해 바로 return되면서 thread가 실행되지 않더군요. 시간나면 이 기능도 살려서 함 해봐야 겠습니다. 그리고 gps_stat_init()에 보면 device를 open하는 부분이 있는데 여기 gps연결된 serial port를 바로 넣었습니다.
GPS_DEBUG가 0으로 되어 있는데 이놈을 1로 바꿔 주시고 컴파일 한 다음 부팅하면 gps관련NMEA 파싱 메시지가 쭈~욱 올라오는 것이 보입니다. 여기까지 오면 기능이 제대로 동작하지 않더라도 밑단은 의심하지 마세요. 응용단에서 문제를 찾아야 합니다.
대부분 gps가 위성과 연결되지 않아 생기는 문제일 가능성이 큽니다.
SDK1.5의 구글 맵을 띄운후 메뉴중에 내위치를 선택하면 현재 위치를 확인할수 있습니다.
freerunner_gps.c원본소스 첨부합니다.


고현철

2009.07.30 01:40:49
*.59.122.199

와오.....감사합니다...^^

gps라....음, 이건 실제 타겟에 붙어 있어야 하는 것인데, 돌려볼 일이 생길래나 모르겠네요.
그래도 자료는 감사합니다.

정낙주

2009.07.30 07:02:06
*.183.237.58

혹시 BoardConfig.mk에서 Default로 되어 있는 USE_QEMU_GPS_HARDWARE := true 관련 설정은 그대로 사용하셨나요?
그리고, gps 폴더의 Android.mk는 어떻게 수정하셨나요?
저도 이러저리 해 보고 있는데, 잘 되지 않네요. 위 소스를 가지고 libgps.so도 만들어 보고 gps_qemu.c를 수정해서 libhardware_legacy.so에도 넣어 봤습니다만, 제대로 처리가 되지 않네요.. 제가 빌드하는 설정상에 문제인지, 아니면 실행하는
target의 환경 문제인지 감으 못 잡겠네요..

gps_qemu.c를 그대로 사용해봤을때는, gps_get_qemu_interface() 는 호출되지만, 이후에 qemu_gps_init() 등은 호출되지 않네요.
또, gps_freerunner.c를 적용해서 libgps.so를 만들었을때는 gps_get_hardware_interface() 조차도 호출되지 않네요.
제가 gps_freerunner.c를 사용할 때는 BoardConfig.mk에서 USE_QEMU_GPS_HARDWARE 는 주석처리하고, BOARD_GPS_LIBRARIES := libgps 로 설정해서 작업했었습니다.



고현철

2009.07.30 11:00:08
*.59.122.199

freerunner BoardConfig.mk 를 보니 이렇게 되어 있네요.

BOARD_HAVE_BLUETOOTH    := true
BOARD_USES_ALSA_AUDIO   := true
BOARD_HAVE_FREERUNNER_GPS := true
#BOARD_USES_GENERIC_AUDIO   := true
HAVE_HTC_AUDIO_DRIVER   := false
HAVE_WEXT_WIFI_DRIVER   := true
USE_PRODUCT_WIFI_CONF   := true
CONFIG_CTRL_IFACE       := y
TARGET_NO_BOOTLOADER    := true
TARGET_NO_KERNEL        := true
TARGET_PROVIDES_INIT_RC := true
USE_CAMERA_STUB         := true
USE_LED_TYPE            := generic
USE_QEMU_GPS_HARDWARE   := false
USE_SENSOR_TYPE         := moko
USE_VIBRATOR_TYPE       := led
#This builds Android with the PacketVideo Player and codecs that
#require licensing. Comment the line below to include these codecs.
#BUILD_WITH_PV  := true
# The jpeg assembly doesn't currently suport armv4t
ANDROID_JPEG_NO_ASSEMBLER   := true

BOARD_GPS_LIBRARIES := libfreerunner_gps

박상민

2009.09.12 01:07:19
*.61.205.18

gps 관련 작업을 하다가 참조해 보았는데..해당 소스를 어디에 넣어야 하는지요.. Android.mk 어떻게 되는지요..
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
64 삼성 안드로이드폰(갤럭시) 리눅스 커널 소스코드 file [3] 유형목 2009-09-01 15909
63 Android 2.1 source tree 설명 file [20] 고도리 2010-09-02 15901
62 [실습-03] android source compile시 battery 부분 patch하기 [7] 고도리 2010-05-24 15897
61 S3C6410 프로세서용 Andoird Kernel 2.6.29 이식 방법 #1 [2] 김재훈 2009-09-04 15823
60 S3C6410 Android ADB USB-OTG 동작 화면 file [8] 김재훈 2009-07-09 15621
59 Power Management from Linux Kernel to Android file [10] 최종환 2009-11-01 14996
58 Google 의 새로운 코덱 VP8 Video Codec 규격자료를 올려 봅니다... file [1] 장석원 2010-05-24 14955
57 [강좌]안드로이드 1.5 compile해서 NFS root filesystem으로 만들... file [1] 고도리 2009-07-18 14140
56 [정보] 안드로이드 소스코드 빌드해보기 [3] 유형목 2008-10-26 13997
55 [실습-01] android 개발환경 세팅과 source download [2] 고도리 2010-05-17 13781
54 [번역] Android OpenCore multimedia framework-part1 file [7] 고현철 2009-08-04 13768
53 안드로이드 6410 보드 관련 s3c-ts touch 잡기 [5] 김한철 2009-04-16 13738
52 [실습-02] android에서 new product 만들고 compile하기 file [7] 고도리 2010-05-18 13223
» MV6410의 android gps file [4] 주재경 2009-07-29 13108
50 CodeViser 활용 aESOP-C100 보드 Android 디버깅 가이드 file pottery 2010-09-16 12840
49 [안드로이드 포팅 책] 1쇄 binder관련 그림 교체와 수정사항 file 고도리 2011-07-23 12774
48 [이론-00] Android의 개요와 구성 part0 [2] 고도리 2010-05-17 12471
47 [실습-00] android eclair porting을 위한 ubuntu 설치하기 file [6] 고도리 2010-05-17 12321
46 [안드로이드] screen power save로 들어가는거 막는 부분 [2] 고도리 2010-10-28 12240
45 Android 초보도 가능한 Touch 잡기. [1] 2009-04-23 12229

사용자 로그인