본문 바로가기

작업일지/Embedded

Embedded용 GUI를 뭘로 선택 해야하나...

산업용이 아닌 포터블용 임베디드 제품은 GUI가 꽤 큰 비중을 차지한다.
포터블 제품에 많이 쓰이는 OS로는 Windows CE, Windows Mobile, Embedded Linux, Android(플랫폼이라고 해야할지 OS라고 해야할지...), iPhone의 OSX정도가 있다.
이중 Windows CE, Embedded Linux를 제외하면 나름 GUI가 꽤 쓸만하거나 좋다
그러나 Windows CE, Embedded Linux는 GUI가 없거나 쓸수 없을 정도로 열악하다.


아래는 Windows CE


이게 Windows CE 5.0의 화면이다. 보면 얼마나 배고프게 생겼는지 알 수 있다.
잘 감이 안오는가..
아래는 PC에 해당하는 '내컴퓨터 등록정보' 화면이다.



요즘 GUI입장에서 보면 상품의 가치가 없다.
결국 상품의 가치를 높이기 위해 개발자들이 열심히 그림 오려 붙여서 제품을 내놓기는 하지만 이런 노가다는 제대로된 GUI플랫폼이 나오지 않는 이상 계속 될것이다.
또한 OS마다 노가다들도 다르게 해야 하기에 그 고충은 더 크다.
예를들어 똑같은 프로그램인데 Windows CE, Linux, iPhone, NDS, PSP 이렇게 OS가 다르다고 하자.
지금과 같은 상황에선 똑같은 기능을 가진 5개의 프로그램을 개발해야 한다.
임베디드는 그런 경우가 PC에 비해 크기때문에 이런 몹쓸 상황이 안되게 애초에 크로스플랫폼을 고려해야 한다.

그래서 여러가지 찾아본 결과 크로스플랫폼 지원이 잘되는 SDL을 선택했고 이 SDL기반의 GUI로 ParaGUI를 가지고 개발을 했다.
ParaGUI를 가지고 영문 기반에서 프로그램을 다 적성해 놓고 나중에 중국어 지원을 하는데..이라이브러리는 폰트 로딩이 장난 아니게 시간이 걸리더라.
결국 ParaGUI를 버리고 쓸만한 GUI를 찾지못했 결국 만들어야만 했다.







아래는 SDL로 GUI를 만들고 이를 이용해  만든 Application들이다.
이들은 크로스플랫폼을 지원하기에 Windows, Windows CE, Linux상에서 돌아간다.
더불어 아직 테스트는 안했지만 iPhone, MacOS, MacOSX, MiNT, NanoX, NDS, AmigaOS, BeOS, PSP, OS2, PicoGUI, QNX, Qtopia, RISCOS, Symbian, Watcom등의 OS에서 무리없이 돌아 갈것이다.
안돌아 가면 조금 무리를 하면 돌아 갈것이다.
(Linux는 몇가지 더 손보고 있는 중이다.)


Dialer

이건 간단한 Dialer다.
주소록이나 폰북의 기능은 없고 대신 FM Transmeter기능이 있어서 자동차의 스피커를 통해 통화 소리를 들을수 있다.

(전화 번호가 028-8888-8558처럼 앞자리가 3자리로 된것은 이게 중국향 이기에 그렇다.)






Ebook

중국어가 잘 찍히나??
중국어 지원하고 파일 용량은 무한대 이다.










Photo Album

 
포토앨범의 파일리스트 화면이다.
별다른거는 없고, 아이폰 처럼 '촤르르~~륵'스크롤이 된다는거.
(저작권 보호로 모자이크를 수작업 처리 했다. 이렇게 하면 안걸리려나??)







Radio

라디오 인데, RDS기능이 있다.
이거는 주파수 게이지 막대기가 네온 스타일 이다.










Recorder

녹음기.











Shell

미거가 메인메뉴다.
시계하고 달력이 화면 중앙에 있고,
하단에 프로그램을 호출하는 아이콘이 있으며 이 아이콘들은 좌우로 스크롤 된다.
시계는 눈금을 다 없애고 시,분,초침만 있으며 시침과 분침에 시간과 분을 표시해서 그대로 숫자를 읽으면 된다.
정말 편하지 않은가...
이 시계는 아날로그와 디지탈의 합성.




이외의 프로그램들은 덤프뜨기 귀찮아서 패스~








'작업일지 > Embedded' 카테고리의 다른 글

QEMU  (0) 2009.09.03
ARM 아키텍처에 따른 프로세서 구분  (0) 2009.08.30
new, delete연산자 오버로딩을 이용한 메모리 누수 체크  (0) 2009.08.23
QEMU 에뮬레이터  (0) 2009.08.22
Critical Section Block  (0) 2009.08.20