분류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,646

  • 페이스북 공유
  • 트위터 공유
  • Google+ 공유
  • 인쇄하기
 
스팸방지코드 :
번호 제목 등록자 등록일 조회수
38 임베디드시 porting_guide_for_irda

송영호

2004.09.08 4,643
37 임베디드시 EMPOS2에 Bluetooth와 GPS를 붙이는 회로도가 있습니다.

test

2004.09.04 4,943
36 시스템온칩 TFTP를 통한 파일 다운로드

차종인

2004.08.18 5,367
35 광통신 [FAQ]HBE-OPT-303이 동작하지 않습니다.

김형준

2004.08.07 5,067
34 디지털회로 [APP] MAX 7064 보드 제작 회로도

이장겸

2004.07.23 4,628
33 디지털회로 [APP] MAX 7128 보드 제작 회로도

이장겸

2004.07.23 4,867
32 임베디드시 Kernel Configuration for USB Keyboard

송영호

2004.07.15 4,450
31 임베디드시 JVM(Java Virtual Machine) Porting Guide

송영호

2004.07.15 5,647
30 임베디드시 부팅시 로고를 출력하는 방법1

한백전자

2004.06.17 5,301
29 디지털회로 [FAQ] 7-Segment 제어 schematic

이장겸

2004.06.07 5,058