모토롤라 Shole 폰에 안드로이드 2.1을 올리고 root 권한으로 사용할 수 있게 만드는 방법을 요약한다. http://androidforums.com/all-things-root-milestone/75460-milestone-2-1-update-root-guide.html 페이지에 멋지게 정리되어 있는 글을 한글로 옮긴다. 한글로 대강을 파악한 다음 원글을 살펴보면 좋을 것 같다. 내 페이지가 좀 부실해서 원글을 보는게 좋다.

참고로 이것이 모토롤라 Shole 폰...



Motorola Shole 폰 root 만들기
1. 폰 배터리 풀 충전
2. USB 드라이버와 RSD Lite 설치하기
3. 폰이 완충되면 USB 케이블을 뽑고 셧다운하기
4. 폰을 부트로더 모드로 시작시키기
    - 키패드 화살표를 윗방향 (화면방향)으로 누른 상태에서 파워버트을 누른다.
5. USB를 연결
6. RSD Lite에서 2.1 SBF를 선택하고 flash 시작
    - 1. device 선택
    - 2. SBF 파일 선택
    - 3. Start 버튼 선택
7. RSD Lite가 flash를 완료할 때까지 대기
    - Status 컬럼이 "Finished"로, Result 컬럼이 "PASS"로 표시될 때까지 기다린다.
    - 중간에 부팅 시퀀스가 진행된다. 당황하지 말고 기다리자.
(폰이 부팅되고 set up 하라는 문구가 나오면 폰 전원을 내리고 3번부터 다시 시작)
    - 이번엔 vulnerable recovery SBF를 flash 한다.
8. 윈도 탐색기로 milestone_root.zip을 폰의 SD 카드 루트에 복사하고 이름을 update.zip으로 변경
9. 폰을 셧다운 시키고 recovery mode로 시작
    - 1. 
        - bootloader가 90.78일 경우 키패드의 'x'키를
        - bootloader가 90.78보다 낮을 경우 '카메라 키'를 
        누른채로 파워버튼을 누른다.
    - 2. 모토롤라 로고가 뜨면 파워버튼에서 손을 뗀다. 하지만 다른 키는 계속 누른다.
    - 3. 공사중 화면이 뜬다.
    - 4. 볼륨 업 버튼과 카메라 버튼을 같이 누른다. (recovery mode 시작)
10. (recovery mode에서) apply sdcard:update.zip"을 선택
    - 화면에 "Rooting your phone..." 이라는 메시지가 뜬다.
    - 커맨드 명령이 다시 나타나면 "reboot system now"를 선택한다.
11. 폰이 재시작되면 초기 설정을 진행하거나 건너뛴다.
    - app이 root 권한을 요구하면 '승인'을 묻는 화면이 팝업될 것이다.

이제 ADB shell에서 'su'를 입력하면 당당한 루트 프롬프트 '#'를 볼 수 있다.
(끝)
Posted by ingeeC
,

GPS 원리 요약

Dev 2010. 6. 27. 14:58

GPS 시스템의 구성
우주부분, 제어부분, 사용자부분으로 구성된다.

우주부분
GPS 위성들은 현재 시각과 위성의 궤도 정보(ephemeris)를 50bps 속도로 지속적으로 방송한다.

제어부분
GPS 위성을 관리하는 본부에서 GSP 위성들의 시각을 동기화 하고 궤도정보(ephermeris)를 조정한다. GPS 위성들은 아주 정밀한 시계를 갖고 있으며 같은 시간을 공유한다.

사용자부분
GPS 수신기의 시계를 이용해서 수신기의 현재 시간과 위성이 발송한 시간과의 차이를 구하면 위성과 사용자의 거리를 파악할 수 있다. 위성과 수신기 사이의 거리는 우주적인 거리다. 전파가 빛의 속도로 위성을 떠나 수신기 까지 도달할 때까지 유의미한 시간이 소요된다. 위성과 수신기는 같은 시계를 공유하고 있기 때문에 전파가 도착할 때까지 소요된 시간을 측정하면 위성과 수신기 사이의 거리를 구할 수 있다 (거리 = 시간 * 속도).
3개 이상의 위성과 수신기 사이의 거리를 파악하면 3각측량법을 이용해서 사용자의 위치를 판단할 수 있다.

Posted by ingeeC
,

NDK 언제 쓰나?

Dev 2010. 6. 11. 00:46
언제 안쓰나?
NDK는 어플리케이션 패키지에 네이티브코드를 포함시킬 수 있도록 제공되는 도구다. 단말에 내장되는 엔진 성격의 시스템을 만드는데는 적합하지 않다. 단말에 내장되는 엔진 성격... 좀 설명이 거시기한데... 암튼 공장에서 단말을 찍어낼 때 포함되는 바이너리를 만들 때에는 NDK를 고려할 필요가 없다. 그런 모듈은 활용 가능한 모든 라이브러리를 끌어모아 최고의 성능을 추구해야 한다.

언제 쓰나?
어플리케이션을 만들 때 사용한다. NDK는 포터블을 염두에 두고 구글이 버전을 관리한다. NDK로 만든 네이티브 코드는 개념상 컴파일만 다시하면 모든 단말에서 실행을 보장한다. 포터블해야 하는 어플리케이션을 만들 때, 자바로 해결할 수 없는 성능 이슈가 있다면 NDK를 사용한다. 어쨌든 NDK를 쓰는 어플리케이션이 추구하는 목표는 성능/기능보다는 가능한 모든 안드로이드 단말에서 실행시킬 수 있는 '이식성 (portability)'이다.
Posted by ingeeC
,

http://android-developers.blogspot.com/ 블로그에서 NDK를 키워드로 기사를 검색해서 4개의 포스트를 찾았다. 4개 기사의 내용을 요약한다. 영어다. 갑갑한가? 나는 환장하겠다. 당분간 영어로 포스트를 올리게 될 것 같다. -_-;;


http://android-developers.blogspot.com/2010/05/android-22-and-developers-goodies.html
"Android 2.2 and developers goodies."
Posted by Xavier Ducrohet, Android SDK Tech Lead on 20 May 2010 at 9:00 AM
 - 20/May/2010 Android 2.2 announced. (7th platform release since Android 1.0)
 - (on the native side,) add new APIs to access Skia bitmap
 - tools update
  - Android SDK Tools, Revision 6, Eclipse plug-in 0.9.7
  - Android NDK, Revision 4

http://android-developers.blogspot.com/2010/03/android-ndk-r3.html
"Android NDK r3"
Posted by David Turner on 08 March 2010 at 11:25 AM
 - NDK r3 can used to target devices running Android 1.5 and higher
 - use GCC 4.4.0 (previously used GCC 4.2.1)
  so, generate slightly more compact and efficient machine code
 - support OpenGL ES 2.0

http://android-developers.blogspot.com/2009/09/now-available-android-16-ndk.html
"Now available: Android 1.6 NDK"
Posted by David Turner on 29 September 2009 at 10:00 AM
 - NDK is a companion to SDK
 - NDK is used to generate and embed ARM machine code within your App Package
 - NDK 1.6 features
  - support OpenGL ES 1.1
  - many fixes to the NDK build scripts

http://android-developers.blogspot.com/2009/06/introducing-android-15-ndk-release-1.html
"Introducing Android 1.5 NDK, Release 1"
Posted by David Turner on 25 June 2009 at 10:30 AM
 - finally, android App-developers can use native code for their App
 - provide libc, libm, JNI, libz, and liblog libraries


(끝)

Posted by ingeeC
,

JavaScriptCore 현황

(JSC SquirrelFish, SFX의 관계에 관해)

 

 

요약

l  SquirrelFish SquirrelFishExtreme(SFX) JavaScriptCore의 아키텍처를 개선하여 실행성능을 향상시킬 목적으로 WebKit 엔지니어들이 시작한 프로젝트의 코드네임

n  SquirrelFish bytecode VM 방식을 구현하기 위해 시작한 프로젝트

n  SFX (SquirrelFishExtreme) native code JIT 방식을 구현하기 위해 시작한 프로젝트

l  2008 6 SquirrelFish WebKit SVN trunk에 통합됨

n  (SquirrelFishWebKit SVN main trunk에 통합된) 현재 상황에서 JSC SquirrelFish, SFX는 동일함

l  현재 Linux ARM JIT는 지원하나 WinCE ARM JIT는 지원하고 있지 않음

 

 

WIKI 백과 중에서
http://en.wikipedia.org/wiki/WebKit#JavaScriptCore

l  2008/6/2 WebKit 프로젝트가 JavaScriptCore“SquirrelFish (bytecode interpreter)” rewrite 했음을 발표함

l  2008/9/18 x86 JIT (SFX: SquirrelFishExtreme)를 발표함

l  2009/1 Mac OSX on x86-64 JIT 발표함

 

 

뉴스그룹 중에서

2008/5/18/공지
http://old.nabble.com/The-SquirrelFish-Cometh-to17298445.html#a17298445

l  기존 JavaScriptCore AST 기반 인터프리터였다. 성능에 관한 아키텍처적 문제가 있었다

l  그래서 bytecode VM 아키텍처의 SquirrelFish 프로젝트를 시작했다

l  별도의 SVN repository에서 작업을 진행했으나 조만간 main trunk에 통합할 것이다

 

2008/6/98/질문: WebKitGtk 최신 소스에 SquirrelFish JS-engine이 적용되어 있는가?
http://old.nabble.com/Get-SquirrelFish-for-Webkit-in-linux-to17724999.html#a17724999

ð  2주전에 merge됐다.

 

2008/6/13/공지
http://old.nabble.com/JavaScriptCore-directory-reorganization-to17816031.html#a17816031

l  SquirrelFish가 완료되어 SVN trunk JavaScriptCore 디렉토리를 변경한다

 

2008/12/24/질문: SFX non-x86 JIT를 지원하는가?
http://old.nabble.com/SquirrelFish-Extreme-for-non-x-86-platforms-td21159116.html

ð  JIT는 아직 x86만 지원한다

ð  JIT를 기타 CPU로 포팅하는 것을 고려 중이다

ð  JITbytecode 모델보다 효율적일지 판단 중이다. JIT는 메모리를 압도적으로 많이 사용한다

 

2009/12/11/질문: WinCE JIT 어찌되어 가나?
http://old.nabble.com/JIT-on-Windows-CE-to26740395.html#a26740395

ð  개발 중이다.

 

 

 

(이상입니다.)

 


Posted by ingeeC
,