Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
Dalvik VM 관련 문의드립니다.
작성자
작성일 2008-10-28 (화) 18:16
ㆍ추천: 0  ㆍ조회: 9681      
IP: 125.xxx.184
안녕하세요! 여기서 늘 좋은 정보 많이 보고 배우고 갑니다.
 
저는 휴대폰 S/W관련 일을 하고 있습니다. 안드로이드에 대해서 자료를 보다가
Dalvik VM을 알게되고,  여러모로 적용할 부분이 많을 것 같아서
퀄컴 CDMA보드에 Dalvik VM만 포팅해서 사용해보려고 합니다.
 
근데, VM만 포팅을 해본적이 없어서, 이 작업이 가능할까요?
이름아이콘 들풀
2008-10-28 19:01
dalvik VM을 사용할려고 하는 목적이 중요할 듯 합니다.
적어도 dalvik은 EABI, ARMv5 명령어 셋에 기반한다고 보아야 하기 때문에,
이 제약을 벗어나서 dalvik을 포팅한다는 것은 너무나 어려운 작업일 듯 합니다.

참고가 될 지는 모르겠지만, ARMv4 명령어를 사용하는 core를 지원하기 위해,
dalvik에서 수정되어야 하는 파일 목록입니다.

dalvik/vm/arch/arm/CallEABI.S
dalvik/vm/arch/arm/CallOldABI.S
dalvik/vm/mterp/armv5/OP_AGET_WIDE.S
dalvik/vm/mterp/armv5/OP_APUT_WIDE.S
dalvik/vm/mterp/armv5/OP_IGET_WIDE.S
dalvik/vm/mterp/armv5/OP_IGET_WIDE_QUICK.S
dalvik/vm/mterp/armv5/OP_IPUT_WIDE.S
dalvik/vm/mterp/armv5/OP_IPUT_WIDE_QUICK.S
dalvik/vm/mterp/armv5/OP_SGET_WIDE.S
dalvik/vm/mterp/armv5/OP_SPUT_WIDE.S
dalvik/vm/mterp/out/InterpAsm-armv5.S
dalvik/vm/oo/Object.h
   
이름아이콘 invain
2008-10-28 21:36
흐흐.....
참고로 ARMV5는  ARMv4의 Instructions을 모두 지원하므로 모호한 답변이지 싶습니다.
즉, 질문자의 퀄컴 CDMA보드의 CPU Core가 ARMV4 인경우 정말 달빅만 포팅하여 돌아가는 상황이라면, 사용하고 계시는 컴파일러로  Dalvik 을 큰 수정없이 동작되지 싶습니다.

오히려 달빅이 아시다시피 스택기반의  가상머신이라서
기존의 시스템에 달빅만 사용하고자 한다면
이 스택기반 디자인에 맞게 가지고 계신 시스템 레벨 컴포넌트들을 스택 오버플로우가
비대하게 발생치 않도록 수정작업도 감안되는 것이 옳습니다.

근본적인 문제는 정말 보유중이신 보드의  CPU가 ARMv4이라면,
부트루더,커널, 컴파일러,  C library(system level) , 기타 사용목적에 따라 필요한 파일들
모두  all rebuild 하는 것이 바람직합니다.

근데 질문자의 내용을 보면,
"퀄컴 CDMA보드에**" 라는 글을 보았을때 왠지 최근 CPU Core를 사용하고 있을것 같은데,
iphong님 사용하시고 계시는 보드의 CPU가 무엇인가요?
   
이름아이콘 들풀
2008-10-28 23:05
안드로이드 Dalvik이 armv5 instruction을 지원하도록 만들어져 있고,
target의 core가 armv4 instruction 기반이라면,
당연히 안드로이드 dalvik은 armv4에는 없는 armv5 instruction을 사용하는
구조를 갖게될 것이기 때문에, armv4 core에서는 동작하지 않을 수 있다는 말을 했던것이고,
더불어 dalvik은 stack-based가 아닌 register-based 구조의 vm 이라는 것도
이미 밝혀진 사실인데..~~ 이상타..!
   
이름아이콘 iphong
2008-10-29 13:57
들풀님, invain님  좋은 답변 감사드립니다.
확인해보니 QSC 6020을 쓰고 있어서 ARM 버전은 ARM926EJ-S을 쓰고 있고,
아키텍쳐는 ARMv5TEJ를 쓰고 있네요.
그럼, ARMv5 을 쓰는거니까 포팅이 가능한거네요? ^^
   
이름아이콘 들풀
2008-10-29 14:37
네..정확하게 그렇습니다.ㅎ
   
이름아이콘 인베인
2008-10-29 23:31
아 그렇군요.. 이제 머리가 오락가락 합니다. ㅎㅎ
* Android Runtime
Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.

Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.

The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
4853 화면에 텍스트, 이미지, 버튼 출력 관련 질문입니다... 2008-10-24 12242
4852 Re..소스파일 첨부 2008-10-24 8454
4851 [문의] ARM926EJS(Target)에 Android 올리기. 2008-10-24 10916
4850 android 1.0r SDK to read HW 포팅 질문 2008-10-24 8378
4849 [ZIP3] 처리되지 않은 win32 예외... 2008-10-27 11661
4848 Webbrowser 접근시 hidden되어 있는 안드로이드 소스파일을 어.. 2008-10-27 9762
4847 repo init 시 멈춤 2008-10-27 11761
4846 msm과 goldfish 빌드시 구분. 2008-10-27 9231
4845 에뮬레이터 이미지 추출 2008-10-28 8980
4844 mapview관련질문입니다. 2008-10-28 8550
4843 우선순위 문제. 2008-10-28 11177
4842 Dalvik VM 관련 문의드립니다. 2008-10-28 9681
4841 SDK 1.0 PORTING to HW 질문 2008-10-28 8528
4840 G1 USIM Unlock 문의 드립니다. 2008-10-29 8842
4839 map apikey관련해서 질문드립니다. 2008-10-29 8571
4838 M4300(사사미)에 포팅가능여부문의 2008-10-30 9488
4837 막히는 부분이 있어서 질문 드립니다. 2008-10-30 11163
4836 안드로이드 개발에 어떤 것들을 봐야 할까요??.. 2008-10-30 8271
4835 Parcel 클래스의 용도가 뭔가요?? 2008-10-31 9597
4834 그렇다면 Looper 클래스의 용도는 무엇인가요? 2008-10-31 8337
4833 리소스중 drawable를 xml로 정의 하는데 관련하여 참고할 문서.. 2008-10-31 8570
4832 현재 안드로이드는 어플을 만들면 어디서 배포 할수 있나요?.. 2008-10-31 8234
4831 포팅에러 질문드립니다.. 2008-10-31 10721
4830 안드로이드 단말기를 구하는 방법이 있을까요?.. 2008-10-31 8558
4829 App에 있는 VideoPlayer 에 관해서 입니다. 2008-11-01 8413
4828 MapView 질문입니다. 2008-11-02 8871
4827 LCD size 제약? 2008-11-02 9087
4826 도와주세요.ㅠ 2008-11-02 11051
4825 안녕하세요 질문이있습니다. 2008-11-03 8474
4824 Source Code 폴더 구조? 2008-11-03 9949
4823 T-Mobile USIM 가지고 계신 분 G1 USIM Unlock 부탁드립니다... 2008-11-03 8513
4822 windowsOS에서 MD5 fingerprint 획득 방법... 2008-11-03 8353
4821 에뮬레이터에서의 카메라 구동 관련 2008-11-03 10124
4820 Tslib 연결방법 문의 2008-11-03 11158
4819 ㅠㅠ 다시 Mapview 문의합니다..ㅠㅠ 2008-11-03 12881
4818 소스 에러좀 봐주세요. 2008-11-03 17302
4817 Re..에러요.ㅠㅠ 2008-11-03 8438
4816 XML과 setContentView 외에 View를 표시하는 방법이 있나요?.. 2008-11-03 11072
4815 T-Mobile G1을 USIM Unlock 하면 usb 디버깅 되나요? 2008-11-04 8557
4814 172번 포팅에러 재 질문 드립니다 2008-11-06 9354
4813 ubutu에서 eclipse 구동 오류 2008-11-06 8479
4812 Re..172번 포팅에러 재 질문 드립니다 2008-11-06 8724
4811 초보자가 질문하나만 드려요. 2008-11-07 14200
4810 프로그램 Signing 했습니다. 2008-11-07 9432
4809 텍스트색이요.ㅠ 2008-11-07 8463
4808 G1 어떻게 구입할 수 있을까요? 2008-11-09 8162
4807 안드로이드 플랫폼 질문 2008-11-09 10478
4806 간단한 질문드립니다~xml을 이용한 UI구성이후에요~.. 2008-11-09 8444
4805 안드로이드 초보 질문이에요~ 2008-11-10 8291
4804 Kernel Panic 문제. 2008-11-10 10746
12345678910,,,101