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

현재 개인적으로 네이버의 "Embedded Crazy Boys" 카페에서 구입한 S3C6410을 사용한 Mango64 보드에

u-boot와 linux kernel, 그리고 android를 포팅해 보고 있습니다. u-boot와 kernel을 포팅하고 동작을 확인한 후 Android를

Build해서 올려 보았는데, Key 입력에 따른 동작에 문제가 있어서 경험이 있으신 분의 도움을 받고자 글을 남깁니다.

 

Kernel은 최근의 2.6.28.6-samsung-20091215과 2.6.29-android-20100112 버전을 사용하였습니다.

카페와 FA-Linux, 그리고 MDS 에서 제공되는 Build 된 Android Cupcake File-System을 사용하여 Touch, SD-Card, Sound,

GPIO-Key의 동작을 확인하였습니다.  사용할 수 있는 Push Button이 4개라서 Menu, Back, Volume Up/Down을 Mapping

하여 사용하고 있습니다.

 

그런데, 제가 빌드한 File-System에서는 무슨 문제가 있는지 Key 입력에 대해 정상적으로 반응을 하지 않고 있습니다.

여러 버전의 Android를 다운로드 받아서 Build 하여 실행을 해 보았고, Ubuntu 버전도 변경해 보았지만 동일한 현상이

나타나고 있습니다. 그리고 "Embedded Crazy Boys" 카페에서 제공되는 Kernel을 사용해도 동일한 현상이 발생합니다.

발생되는 현상은 다음과 같습니다.

 

1. Menu Key

     - 정상 동작 : 화면의 하단에 메뉴가 나타나며, 다시한번 Key를 입력하면 메뉴가 사라짐.

     - 이상 동작 : 화면 상단의 상태바를 제외한 나머지 화면이 검게 바뀐 후 Home 화면으로 전환.

 

2. Volum Up/Down Key

     - 정상 동작 : Volume Control 창이 나타나고, 변경된 Volume이 적용되는 Beep 음이 발생.

     - 이상 동작 : Menu Key 입력때와 동일하게 화면이 전환되고, Volume이 변경되는 Beep 음이 발생.

 

3. Back key

     - 정상 동작 : 이전 화면으로 전환.

     - 이상 동작 : Menu Key 입력때와 동일하게 Home 화면으로 이동하거나, 이전 화면으로 전환.

                            간헐적으로 다음과 같이 메시지가 콘솔에 출력됨.

 

                binder: 1831:1831 transaction failed 29189, size52-0
                binder: 1831:1976 transaction failed 29189, size52-0
                binder: 1963:1963 transaction failed 29189, size88-0
                binder: 1831:1835 transaction failed 29189, size52-0
                binder: 1963:1963 transaction failed 29189, size88-0
                binder: 1963:1963 transaction failed 29189, size88-0
                binder: 1963:1963 transaction failed 29189, size88-0
                binder: 1963:1963 transaction failed 29189, size88-0

 

위 메시지는 Kernel의 drivers//staging/android/binder.c의 binder_transaction() 함수 내에서 출력하고 있었습니다.

         1643 err_no_context_mgr_node:
         1644     if (binder_debug_mask & BINDER_DEBUG_FAILED_TRANSACTION)
         1645         printk(KERN_INFO "binder: %d:%d transaction failed %d, size"
         1646                 "%zd-%zdn",
         1647                proc->pid, thread->pid, return_error,
         1648                tr->data_size, tr->offsets_size);

 

4. 그리고 Home Key도 Mapping 해 보았는데, Home Key에 대해서는 반응이 없었습니다.

    정상 동작했던 다른 파일 시스템에서도 동일하게 반응이 없었습니다.

    Home Key 인식을 위해서 추가적인 작업이 필요한 것인지 문의 드립니다.

 

Volume Key에 대해 Control 창이 나타나지 않을 뿐, Beep 음이 나면서 Volume이 조정되는 것을 보면 Key 입력에 대한

응답 및 Kernel로 부터의 Key Code가 정상적으로 전달되고 있는 것도 같은데, 무슨 문제인지 정상적인 화면이 출력되고

있지 않습니다. Build 단계에서의 문제인지는 모르겠지만, 혹시 관련된 경험이 있으시거나,  디버깅 포인트를 알고 계신분이 있으시면 답변 부탁드립니다. 첨부된 파일은 Build와 Init 메시지를 저장한 파일입니다. 혹시 참고가 될까 해서 첨부합니다.

 


고현철

2010.01.26 07:30:07
*.226.23.224

1. rootfs의 system/usr/keylayout/qwerty.kl 파일을 보신 후

2. 일단 input device driver로부터 적절한 key값이 올라오는지 확인하시고

3. 그 후에는 자동으로 동작할겁니다만...

 

back key는 정상일경우도 binder 관련 메세지가 나옵니다.

 

기본적으로 back, menu key 두개는 동작을 합니다만....home/send/end key 등은 device_provisioned flag가 enable되어야 합니다.

 

인터넷에서 SdkSetup 혹은 aesop의 android쪽에 제가 올려놓은 글을 참고하시기 바랍니다.

 

인터넷에서 찾을때는 2가지 방법이 나올텐데

 

SdkSetup 으로 검색하시거나, sqlite3 device_provisioned 로 검색하시면 됩니다.

김상범

2010.01.26 08:58:51
*.146.5.169

답변 주셔서 감사합니다.

답변 주신데로 찾아보고 확인해 보도록 하겠습니다.

감사합니다.

파일럿

2010.01.26 18:28:06
*.136.60.126

터미널에서 input keyevent를 이용해서 키를 한번 날려보세요. 그래도 동일하게 화면이 이상하다면 뭔가 컴파일에 문제가 있는듯...

김상범

2010.01.27 03:01:39
*.146.5.169

오늘 혹시나 해서 /system 아래의 모든 파일 및 디렉토리의 권한 모드를 755로 변경을 해 보았는데, Key 입력에 대해 정상적으로 동작을 하였습니다. NFS로 Android를 사용하는 경우 권한 모드의 변경이 필요한 것으로 알고는 있었지만,  처음에 Android Main 화면까지 이상없이 나타나서 신경을 쓰지 않고 있었는데 이것이 문제의 원인이었네요. Android를 Build하고,  "chmod 755 -R system" 만 실행해 주니 정상적으로 실행하였습니다. 최근에 올라온 donut과 eclair 2.1도 확인해 보았는데, 일단 정상적으로 실행이 되었습니다. 그런데 잠깐 실행해 보았지만, s3c6410에 RAM 128M라서 인지 eclair는 cupcake에 비해 화면 전환간에 Delay가 생기는 것 같습니다. Home Key는 아직 적용해 보지 않았는데, 이제 테스트해 보아야 겠습니다.  답변 주신 분들께 감사드립니다.

김상범

2010.01.27 08:09:19
*.146.5.169

좀 더 확인해 보니 정확하게는 /system/usr/keychars/ 아래의 파일들의 권한이 640으로 되어 있었습니다. 이 파일들을 644로 권한 모드를 변경하니 문의했던 문제가 해결되었습니다. /system 아래의 모든 파일을 변경할 필요는 없는 것 같습니다. /system/usr/keychars/ 아래의 파일만 변경을 하면 될 것 같습니다. 그리고 고현철님께서 알려주신 것과 같이  Home Key를 적용하니 이상없이 동작을 하였습니다. 

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 교육 홍보 및 광고는 "교육 및 세미나 홍보" 게시판을 이용해 ... 관리자 2010-07-15 107989

재 오픈 축하드립니다. file [1]

혹시 ODROID-T 에 진저브레드 올리신 분은 안계신지? [3]

  • shkim
  • 2011-05-04
  • 조회 수 9630

Google이 별 짓 다하네요 - chromecast [3]

다시 만드셨군요.. 감사합니다. [2]

Exynos-4210 (ODROID-A) ICS 포팅 상황 [2]

안녕하세요.. [1]

이솝 S5PV210 보드 설계 완료 및 샘플 PCB 발주 진행 중 ... file [18]

혹시 DAVINCI DM355 용 jtag 장비 대여 가능할까요? [3]

사이트 글 올림의 문제사항 [10]

Android NDK 관련 책 하나 추천.. [1]

반가워요 [1]

aesop board에 uCOS-II 포팅 [5]

지금 제일 갖고 싶은 Android 책.. [48]

Ubuntu 13.10 과 DisplayPort Monitor file [16]

Galaxy-S2 Phone 프레임버퍼 읽은 동작 모습 입니다 ... file [3]

android key 입력에 따른 화면 전환 문제. file [5]

MP2530F Linux 2.6.20 NFS/AC97/DMA/GPIO 잡았습니다. file [4]

SMDK 6410, 안드로이드 사진 file

사이트 재오픈 축하드립니다 ... [2]

Magiceyes MP2530(mmsp2+) linuxkernel 2.6.20 ramdisk부팅 완료. [4]

사용자 로그인