강좌 & 팁
이번 시간은 예전에 올렸던 시리얼 통신 예제를 가지고 직접 임베디드 보드에서 실행 시켜 보았습니다.
샘플 소스 참고: http://forum.falinux.com/zbxe/index.php?document_srl=806941
사양
CPU : SAMSUNG S3C6410-533/667MHz ARM11 SOC
memory : 128M
OS : linux
java : ejr-1.7.0_71 (Embedded Java)
시리얼 보드 : 회사 자체 개발 되어 있는 보드를 사용
6410 참고 : http://wiki.falinux.com/doku.php?id=product:em-s3c6410
제가 테스트 할 내용은 아래와 같은 순서 입니다.
1. 프로그램 실행 하기전의 메모리 확인
2. 프로그램 실행,
3. 프로그램 실행후의 메모리 확인
4. 프로그램 종료
원래는 키보드 입력 메세지가 나오면 바로 Ctrl+C키를 눌러 종료를 시켜야 하지만,
실행후의 메모리를 확인 해야 하므로 조금 늦게 Ctrl+C키를 눌렀습니다.
1. 프로그램 실행 하기전의 메모리 확인
실행하기전에 텔넷으로 보드에 접속해 현재 메모리 상태를 확인 해 보았습니다.
보드에서 사용하고 있는 메모리양은 대충 50M정도 이네요.
그럼, 콘솔로 접속해 프로그램을 실행해 보겠습니다.
2. 프로그램 실행
실행 할때 time명령을 앞에 붙이면 프로그램 끝날때 시간이 나옵니다.
위 그림은 제가 메모리 확인 하느라 2초정도 늦게 종료를 한 것 입니다.
3. 프로그램 실행후의 메모리 확인
메모리를 실행 전과 실행 후를 확인 해보면, 대충 5M정도 차이가 나네요.
그렇다면, Java프로그램을 기동 시켰을 경우에 사용되는 메모리는 5M정도가 되겠군요.
기동시간은 실행후 메모리 확인한 시간을 2초빼면 실제 기동 시간은 5초 정도가 되겠네요.
지금 이프로그램 말고, 테스트로 시리얼 통신과 모드버스 TCP슬레브를 만들어 실행 시켜 보았습니다.
라이브러리 사용은 RXTXComm.jar, jamod-1.2-SNAPSHOT.jar라이브러리를 사용하여
실전에서 사용 할 만한 프로그램을 한번 만들어 실행 시켜 보았습니다.
기동 시간은 약 28초 정도이고, 사용 메모리는 10M정도 사용 되더군요.
기동 시간이 느린것 외에는 문제 없이 잘 돌아 갑니다.
Java로 임베디드 개발 할때 참고 하세요.
감사합니다.