Embedded Board 에 JDK 설치하기

 

지난 주에 강좌와 팁 게시물 중  '[Java]Linux_ARM용 Java SE가 새로 나왔습니다. - 이병복' 이라는 글을 이어 받아서 적어보도록 하겠습니다. (허락 받았습니다!! ㅋ)

 

기존에 임베디드 보드에서 Java를 돌리려면 openjdk을 받아서 필요한 파일들을 가져와서 넣거나 Java를 별로도 포팅해서 작업하는 불편함이 아주 많아~~~~~~~~~~~~~~~~았습니다.

 

이번에 Oracle에서 Java Embedded 7 버전이 공개되어서 임베디드 보드에 자바를 구동하기 위한 준비 작업이 훨씬 편해졌습니다. ^^*

 

 

1. JDK 다운로드

 

Java 홈페이지에서 Java SE 다운로드 페이지로 가면 됩니다.

 

현재 다운로드 페이지 주소 :
http://www.oracle.com/technetwork/java/javase/downloads/jdk7u7-downloads-1836413.html

 

화면을 아래로 조금만 내리면 아래와 같이 Linux ARM 항목을 볼 수 있습니다.

 

Accept License Agreement를 선택하고 다운로드 받으면 됩니다.

 

 

 

 

 

2. 임베디드 보드에 jdk 설치하기

 

자사 제품은 V210 모듈을 사용하고 있는 개발 보드에서 테스트를 하였습니다.

 

링크 : 에프에이리눅스 v210 모듈 제품군 >>

 

jdk-7u6-linux-arm-sfp.gz 파일의 압축을 해제하면 150MB 정도 됩니다.

일반 램디스크 모드로는 용량이 부족하기 때문에 yaffs 모드로 변환 후에 사용하시기 바랍니다.

 

보드의 app 폴더로 복사한 다음에 압축을 해제하였습니다.

 

[root@falinux ~]$ cd app
[root@falinux app]$ tar zxvf jdk-7u6-linux-arm-sfp.gz
.
.
.
[root@falinux app]$ ls
jdk1.7.0_06

 

압축을 해제하면 jdk1.7.0_06 폴더가 생깁니다.

이제 JAVA_PATH를 등록해줄 차례입니다.

 

계정 홈디렉토리에서 bash_profile를 vi 편집기로 열어줍니다.

 

[root@falinux ~]$ vi .bash_profile

 

아래와 같은 내용을 입력해줍니다.

 

JAVA_HOME=/app/jdk1.7.0_06
CLASSPATH=.:$JAVA_HOME
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

export JAVA_HOME
export CLASSPATH
export PATH

 

수정한 bash_profile를 적용시킬 차례입니다.

 

[root@falinux ~]$ $ source .bash_profile

 

java 가 제대로 실행되는지 확인해 보려면 버전을 확인해보면 됩니다.

 

[root@falinux ~]$ $ java -version

 

 

3. 테스트 프로그램

 

정말 임베디드 보드에서 Java 가 제대로 동작하는지 궁금할거 같아서 샘플 프로그램을 만들어보도록 하겠습니다.

(자세한 Java 컴파일 방법은 생략하도록 하겠습니다.)

 

아래와 같이 메시지를 출력하는 프로그램을 하나 만들어봅니다.

 

import java.lang.*;

public class hello_world {
    public static void main(String[] ar){
        System.out.println("Hello Java!!");
    }
}

 

컴파일을 하면 hello_world.class 파일이 생성되는데 이클립스에서 컴파일을 하면 workspace 안에 bin 아래 생성이 됩니다.

해당 class 파일을 보드에 복사합니다.

 

실행할 때는 아래와 같이 .class 확장자를 빼고 이름만 지정한 후 실행하면 됩니다.

 

[root@falinux app]$ $ java hello_world
Hello Java!!

 

 

~(^_ ^ )~

 

임베디드 보드에서 Java 프로그램을 돌릴 수가 있습니다.

기존 임베디드 시스템에선 프로그램을 C 위주로 작성했는데, 이제 Java 로도 많은 개발을 할 수 있습니다!!!