분류1

임베디드시스템

제목

JVM(Java Virtual Machine) Porting Guide

- 2005. 11. 15 에 pdf 문서 및 필요한 패키지가 업로드 되었습니다. pdf 문서를 확인해보시기 바랍니다. - JVM Porting Guide 본 문서는 BLACKDOWN JAVA를 EMPOSII(LINUX)에 포팅하는 과정을 담고있다. - JDK (Java Development Kit) - JRE (Java Runtime Environment) 1. 필요한 소스를 다운 로드 받는다. (참조사이트: http://www.blackdown.org) - jdk118_v2_arm15a-n.tar.bz2 - jre_v2_arm15a.tar.bz2 - additional-ipaq-stuff.tar.gz - expr.tar.gz 2. 다운 받은 소스의 압축을 풀고 환경을 설정한다. a. jdk의 압축을 풀어 jdk118_v2아래 파일을 확인한다. # tar xjvf jdk118_v2_arm15a-n.tar.bz2 # ls jdk118_v2 jdk118_v2_arm15a-n.tar.bz2 b. 필요한 라이브러리를 복사한다. # tar xzvf additional-ipaq-stuff.tar.gz # ls # lib usr # cp –dpR lib/* jdk118_v2/lib/arm/green_threads/ 다음은 타겟보드에서 실행하도록 한다. 호스트에 압축을 푼 jdk118_v2의 용량이 크기 때문에 NFS를 통하여 타겟보드에 jdk118_v2라는 디렉토리를 생성하여 연결하도록 한다. 여기에서는 jdk118_v2를 타겟보드의 램디스크의 최상위 디렉토리(/jdk118_v2)에 놓고 진행하였다. 즉 호스트의 jdk118_v2는 타겟보드의 /jdk118_v2 디렉토리에 NFS로 연결되어 있다. c. 경로를 설정한다. (타겟 보드) # export PATH=/jdk118_v2/bin:$PATH 3. /jdk118_v2/bin/java를 실행 시킨다. Error 발생 시 다음과 같은 순서로 해결 한다. 단 이 부분은 호스트 PC에서 크로스 컴파일 하여 나온 expr 바이너리만 타겟보드의 램디스크로 다운로드 하여 사용 하도록 한다. - 에러 1. ./java: expr: command not found 해결방법) expr.tar.gz를 다운 받아 Makefile의 CC=gcc를 arm-linux-gcc로 수정 하여 컴파일 하여 arm용 expr을 생성한다. CC=arm-linux-gcc -g OBJS=$(patsubst %.c,%.o,$(wildcard *.c)) LIBS=-lm all:$(OBJS) ${CC} -o expr $ $ clean: rm -f *.html *.o *~ # make # ls expr 생성된 expr을 램디스크의 /bin 에 복사해 넣는다. - 에러 2. java was not found in ./../bin//green_threads/java 해결방법) 램디스크에 arch 가 없어서 발생하는 문제임. 타겟보드에서 직접 작업하도록 한다. # echo “uname –m” > arch # chmod 755 arch # ./arch armv5tel arch를 램디스크의 /bin 아래 복사해 넣는다. # mv arch /bin - 에러 3. java was not found in ./../bin/armv5tel/green_threads/java 해결방법) jdk118_v2의 bin/과 lib/ 아래 armv4l를 armv5tel로 변경하고 armv4l 링크를 생성한다. 타겟보드의 NFS로 연결된 디렉토리에서 직접 작업하도록 한다. # cd bin/ # mv armv4l armv5tel # rm –rf arm # ln –s armv5tel arm # ln –s armv5tel armv4l # cd ../lib # mv armv4l armv5tel # rm –rf arm # ln –s armv5tel arm # ln –s armv5tel armv4l 4. jre(java runtime environment)를 실행 시키기 위해 다음 과 같은 순서로 jre를 추가 한다. jre_v2_arm15a.tar.bz2 의 압축을 풀고 생성된 파일을 jdk118_v2 아래로 복사한다. 이것은 호스트 PC에서 작업하도록 한다. # tar xjvf jre_v2_arm15a.tar.bz # ls jre jdk118_v2 jdk118_v2_arm15a-n.tar.bz2 jre_v2_arm15a.tar.bz #cp –f jre/bin/jre jdk118_v2/bin/ #cp –dpR jre/lib/i18n.jar jdk118_v2/lib/ #cp –dpR jre/lib/rt.jar jdk118_v2/lib 5. HOST에서 HelloWorldApp.java를 생성하고 javac으로 HelloWorldApp.class를 생성한다. class HelloWorldApp { public static void main (String args[]) { System.out.println("Hello World!"); } } # javac HelloWorldApp.java # ls HelloWorldApp.class HelloWorldApp.java 6. HelloWorldApp.class를 타겟으로 전송한 후 JVM(Java Virtual Machine)을 통해서 실행시켜 본다. # cd /jdk118_v2/bin/ # ./java HelloWorldApp Hello World! # ./jre HelloWorldApp Hello World!

첨부파일 다운로드

확장자는zipblackdown.zip

등록자송영호

등록일2004-07-15

조회수5,596

  • 페이스북 공유
  • 트위터 공유
  • Google+ 공유
  • 인쇄하기
 
스팸방지코드 :
번호 제목 등록자 등록일 조회수
98 임베디드시 HBE-Allinone 연습문제 해답 관련

HB_MCU

2013.10.14 28,061
97 유비쿼터스 TinyOS 2.0 소스코드를 ZigbeXStudio에서 사용하고자 할 때

HB_USN

2010.08.25 26,992
96 임베디드시 [SMII-P320] Mplayer 포팅가이드

임베디드팀

2010.06.15 26,396
95 유비쿼터스 [ZigbeX II] 온습도값이 안나오는 경우 해결방법

정윤호

2010.06.10 26,028
94 임베디드시 P320 장비계열 ADB 설치문서

박한수

2010.04.07 14,824
93 임베디드시 [Android] Eclipse 실행 시 오류 해결 방법

S/W팀

2010.04.02 13,563
92 유비쿼터스 WinAVR로 만든 ZigbeX2 LED제어 예제

이철희

2010.03.09 13,614
91 임베디드시 Android 탑재 제품에서 사용가능한 USB 무선랜 및 USB GPS

S/W팀

2010.03.04 15,031
90 임베디드시 Windows Embedded CE 6.0 개발툴 다운로드 링크

HB_Embedded

2009.11.04 13,816
89 임베디드시 CDMA2관련 질문!!

이강은

2008.12.11 5,902