회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

이솝프로젝트에 관심을 갖고 있지만.. 저는 소프트웨어쪽의 개발자입니다.

사실 임베디드쪽은 갖고 놀기에 재미있을 것 같아서 손을 살짝 대었던 일인데, 어쩌다보니 거의 주가 되었습니다. 원래는 CS환경 개발자였습니다. 어쩌다 POS쪽 개발을 하다가 보니, PDA용 POS개발까지 제 몫이 되더군요.

산업용 PDA의 대부분이 WINCE를 채택하고 있는 덕에 어쩔 수 없이 WINCE에서 개발을 하는데 .NET CF 기반에서 작업을 합니다.

아시는 분은 아시겠지만 산업용 PDA 중에서 한국에선 이름 난 곳의 제품을 사용하는데, 이 제품의 롬파일에 접근할 수 없습니다.  플래쉬롬을 통해 하드리셋 혹은 리셋 시에 처리할 내용을 세팅이 가능하긴한데.. 이솝처럼 롬을 제어해서 기본 설치환경을 미리 세팅하는 것과는 많은 차이가 납니다.

일단, 현재 가장 해결해야 하는 문제는.. 해당 회사의 단말기(PDA)가 새로 나오면서 시스템이 왕창 바껴버렸다는 겁니다.

운영체제는 WIN CE 4.2    ->  WIN CE 5.0(CORE OR PRO)
닷넷버전은 .NET CF 1.1   -> .NET CF 2.0

이런 식으로 변경되었습니다.

운영체제는 별 차이가 없다고 알고 있었는데.. 어째서인지 4.2기반으로 만든 EVC라이브러리가 5.0기반에서는 구동을 하지 않더군요. 그러려니하고 5.0SDK로 재컴파일 했지만.. 비정상 작동을 하더군요.

결국 .NET CF 2.0기반의 네트워크 라이브러리들을 이용해서 신규로 라이브러리를 만들 수 밖에 없었습니다.

재미있는 것은 통신 부분이야 이해를 하겠는데... GC(가베지 콜렉터)가 어떻게 바뀐 건지.. .NET CF 1.1에서 잘 돌아가던 소스가 비정상 작동하는 사태가 벌어졌습니다.

현재 잦은 다운 증상과 느린 속도를 보이는 PDA POS를 볼 때 마다 한숨만 나오더군요.



결국 내린 결론은 .NET CF 2.0에 맞혀서 대대적으로 커스트 마이징 하자는 것으로 맞추고 진행을 해나가고 있는데 이미 WINCE 6이 나온데다, 곧 WINCE 7이 나올 예정인데 이렇게 해서 얼마나 유지할 수 있을 지 걱정입니다.

하드웨어 벤더야 더 좋은 환경을 제공하기 위해서 업그레이드를 하는 거겠지만.. 그덕에 소프트웨어 개발자는...


PDA에서 단순한 일정관리등의 프로그램이었다면 지원 영역에 대해 가볍게 작업이 가능하지만, 포스라는 환경의 특수성 때문에 여러가지 처리가 필요하게 되고, 결과 API사용을 남발해야지만 원하는 기능을 구현할 수 있게 되더군요.(전원관리, 무선네트워크 관리 등)

물론 OPENNETCF라는 좋은 라이브러리 덕에 잘 사용했지만... 이 라이브러리가 WINCE 4.2까지만 서포트 된 라이브러리라서 WINCE 5.0에서 현재 여러 문제를 안겨 주고 있습니다. 게다가 이놈의 소스를 보면 환상적인 스태틱 함수의 사용으로 인해서 몇몇 라이브러리만 사용해도 화끈한 메모리 점유율을 자랑합니다.(WINCE의 대부분의 기능을 .NET에서 사용 가능하도록 처리되어 있습니다.)

OPENNETCF의 후신으로 SDF라는 라이브러리가 존재하는데.. 이놈은 오픈소스가 아닙니다.
라이센스 정책상으로 저희 회사의 경우엔 라이센스를 구매할 필요까지는 없지만 소스를 보면서 작업하기 위해서 구매를 해야만 가능하더군요.

OPENNETCF를 써보신 분은 아시겠지만... 이 라이브러리에 개발자들은... 개발자답게 메뉴얼을 너무 심플하게 만들어 놔서 메뉴얼만 봐서는 이걸 어떻게 만들어야 할 지 답이 안나옵니다.

WINCE API에 대해서 안다고 해도 구현 방식같은 경우엔 개발자들 마음대로 되어 있기 때문에 처리를 위해 델리게이트가 필요한지 인터페이스로 구현해야 할 지 등의 경우엔 죄다 객체 탐색기를 뒤지면서 작업해야만 가능합니다.


가장 답답할 때는 어떤 클래스를 사용해야 할 지는 보여서 생성을 하고 접근을 할려고 하면 접근이 안되는 경우입니다. (무선 네트워크에서 많이 겪었습니다. ㅠㅠ)

우리나라 개발자들 중에서도 오픈 소스에 공짜기 때문에 사용자가 많을 것 같은데.. 어째 이놈을 사용해서 뭘 처리했다는 사용자는 없고 이놈을 건드려봤다라는 사용자만 있더군요.

결국 영문 사이트를 뒤져야 하는데... 문제는 API명이라도 알면 쉽게 검색할 수 있지만, 아예 그 기능이 있는 지 없는 지도 모르는 상황이라면... 답이 안나옵니다.


물론 저도 정보의 교류에 많이 약한 편에 속하지만, 나름 각종 기술서 등은 만들어서 웹에 뿌리고 다녔는데(이솝에도.. 몇개 남아있더군요. 무명인으로 되어 버렸지만..)... 저만큼이라도 하는 사람이 거의 없는 것에 한이 맺힙니다. (한동안은 영어 공부한다고 난리를 쳤습니다.)



그런데 가장 화가 나는 것은... 정보가 아예 없지는 않다는 것입니다. 정보가 없지는 않은데, 검색할 수가 없다는 것. 이건 정말 답이 없더군요. WINCE커뮤니티나, WINCE 개발자 포럼등에 가면 대충이라도 해당 정보를 얻을 수 있습니다. 그런데.. 엄청난 폐쇄정책을 펼쳐서 사이트에 가입을 안하면 검색도 할 수 없게 만들어 놨습니다.

정말이지 정떨어지는 현실인거죠.



리눅스 진형은 그나마 정보의 공유는 잘 되고 있는 것에 비하면.. 정말이지..(근데 재미있는 건 리눅스 진형에서 대부분의 글을 작성한 분들은.. 이솝의 운영진들...ㅋㅋ)



맘은 아픈데, 일정이다 뭐다 바쁜데다 쉬는 날은 잠자기에 바뻐서 요즘은 오픈소스 활동이나, 오픈 DOC 작업을 안 하고 있는 자신을 보면.... OTL




일하다가 일도 안 풀려서 그냥 두서없이 타자 좀 쳐 봤습니다.
에고..

장병남

2008.10.22 00:17:17
*.90.136.177

CE쪽 잘 모르겠다고 질문 올려놓으면 MSDN에서 찾아보세요 라는 답변을 참 많이 받았던것 같습니다.. 그 정보의 바다 MSDN에서 허우적거렸던 지난 1년.. ㅠㅠ 물론 리눅스로 전업해도 마찬가지 입니다. 제가 너무나 아는것이 없어서,, 여튼 고생하시는만큼 실력이 되실거라 확신합니다. 윈도우즈쪽은 정보공개가 그만큼 안되서 노하우를 잘 정리해 놓으시면 몸값도 쑥쑥(?)오르실듯,, 게다가 금값이라고 하는 어플을 다루시니,, 찬구님 힘내시고, Windows CE6.0은 건너띄셔도 되지 않을지..? ㅎㅎ 조만간 7.0 나온다고 하는데,,그게 대박이라고 하네요,,

한영민

2008.10.22 06:48:13
*.14.30.76

7.0에서 추가되는 내용이 상당하지요 . IE가 포함될지도 모른다는 소문이 돌더군요.

CE에서도 6.0으로 개발해본 사람 많지 않습니다.
지금도 많은개발자들이 5.0으로 주로 개발하고 있습니다.

아마도, 6.0은 지나가는 버젼이 되지 않을까 싶기도 합니다. (개인적인 생각이지만요.)

해외와 다르게 WinCE는 기술적인 정보를 오픈할시에 엄청나게 빠르게 님과 같은 제품을 만들 수 있습니다.
이건 님도 잘 아실꺼라고 생각합니다.

그렇기에 다들 밥은 먹고 살아야 하기에. ㅡㅡ... 그래서 인지 몰라도 조금 폐쇄적이긴 합니다.
하지만, 또 아는 사람들끼리는 그나마 조금씩 공유가 되기도 합니다.

님께서 어떤것을 원하시느냐에 따라 다르지 않을까요?

Linux에서는 어떻게 어떻게 하라 howto가 있지만, CE는 없습니다.
다만 이렇게 이렇게는 해바라 .. <- 이런류의 조언이 대다수지요.

님께서 느끼시는 것들을 저도 많이 느끼고, 지금도 느끼고 있습니다.

그냥 그러려니 합니다. ㅋㅋㅋ
어찌합니다. 만약에 제가 그걸 안다면, 그들의 밥벌이를 빼앗을수도 있는 걸요?
그래서 그냥 그러려니 합니다.


참고로 5.0에서 사용하는 어플은 6.0에서 그나마 사용 가능하다고 합니다.
(물론 안되는 것도 많지만요)

4.2 -> 5.0 보다는 그나마 낫다고 하던데 ;;..

저는 아직 초보 UI만 해봐서 버젼에 따라서 안되는 것은 별로 보질 못했습니다.
API로 해서 그런지는 몰라도요.


그냥 그러려니 하는게 마음이 편합니다. ^_______^....

도찬구

2008.10.22 09:22:12
*.255.53.72

에고 어째 푸념이 더 늘게 되는 리플들이.. ㅠㅜ;

맘 같아서는 리눅스 베이스로 포스를 개발하고 싶지만... 왠수 같은 포스 하드웨어 벤더의 드라이버 때문에 이러지도 저러지도 못합니다. ㅠㅠ

영민님 말씀 들으니 그럴 듯 하긴 합니다.
게다가 PDA 혹은 임베디드 기반의 포스 쪽은.. 안정성 등에 이유로 각광 받을 수 밖에 없는 환경이죠. 일단 하드가 나가버리거나, 사용자가 딴 짓을 하기 힘들기 때문에... 좋죠.



현재 WM 5.0 제품과 WM 6.0제품의 경우 제가 직접 구입해서 테스트해 본 바에 따르면, 이상없이 잘들 돌아가더군요.
제가 한국 벤더의 프로그램은 되도록 안구하고 있어서 한국쪽의 상황은 모르겠지만..(양심의 가책으로 인해 한국제품은 ADDON제품만을 테스트 해봐서 정확히는 모르겠습니다.)

다만 5.0 혹은 4.X 기반의 프로그램의 경우 잘 돌아가다가 이상현상이 벌어지거나, 프리즈되는 경우는 종종 봤습니다. 프리즈가 아니더라도 이해할 수 없을 정도의 느린 처리가 벌어지는 경우도 있더군요.

뭐 이것의 경우엔 4.X기반에서 EVC로 개발된 것으로 보이는 프로그램 중 UI용 어플리케이션이 아닌 장치 제어에 가까운 부분에서 발생되더군요.(장치라고 해봐야 시리얼 연결이나 모니터링 프로그램들이었지만 말이죠.)

이솝에도 CE개발자 분들이 계시군요. 그런데 병남님과 영민님은 하드웨어 벤더 쪽으로 알고 있었는데(게시물의 내용 등으로 봐서는..) 일반 어플 쪽도 손을 대고 계시는 군요.

보통 부트이미지 쪽 등의 개발과 어플 개발은 나눠져 있지 않은가보네요. 어쩌면 이놈의 임베디드 인력들이 구하기 힘들어서 어쩔 수 없이 맡고 계신 건가요.(제가 그런 형편이라... 임베디드쪽은.. 임금 비싸더군요. 제가 업무를 맡기 전에 담당자가 없어서 잠시 외부 인력을 투입했었는데, 그 때 받는 금액 듣고 어이를 상실했었습니다. 무슨 DB튜닝도 아니고... 쩝. 더 서러운 것은... 잡에어리어는 늘었는데... 임금은.. 동결 ㅠㅠ)

역시 그러려니 하는게 좋겠지요. ㅠㅠ

고현철

2008.10.22 10:55:18
*.111.183.146

음....여러가지로 고민이 많으시네요.

저는 주로 리눅스만 개발합니다만, 한동안 win32/delphi/C++ builder/VB
까지 잡다하게 다 써봤습니다.

pc용은 거의 다 손대본게 되겠네요.....ㅎㅎ

wince의 경우는 지금도 저도 속터지는 상황에 약간 처해있습니다.
개발자들 구하기도 힘들고, 여러가지로 난감하더군요.

리눅스 입장에서 보자면 그다지 힘든일은 아닌데, wince에가서 보면
힘들어 보이는 부분이 있더군요.

물론, 반대의 경우도 많습니다.

wince는 여러가지 좋은점이 많지만, 역쉬 money를 요구하는 경우가 많고
리눅스는 money는 덜 들지만, 몸이 고달프다는거......ㅎㅎ

=========================

이번에 omap3530을 시작하게 되면 지금까지 제가 하고자 했던 여러가지
일들이 어느정도는 해소가 될 듯합니다.

그래서 디바이스 드라이버나 포팅은 올해로 접을까 생각중입니다.
앞으로도 약간씩은 하겠지만....

리눅스가 살아남고 저같이 리눅스에 푹 빠져 사는 사람들 입장에선
역시 app만이 유일한 길이라고 보여집니다.

다행히 저번에 공부를 했던 wxWidget등과 같은 좋은 library가 있어서
X windows만 원활히 돌아간다면 함 도전해 봐도 나쁘지 않을 듯 합니다.

================================================
이래저래 고민도 많고, 힘든일도 많겠지만........한가지 일을 꾸준히
한다면 언젠가는 웃고 지낼일이 있을거라고 생각합니다.

저도 아직 그러지는 못하지만요............ㅎㅎ

언젠가는 엔지니어들이 대접받는 날이 오겠지요...^^

한영민

2008.10.22 19:26:58
*.14.30.76

저는 원래 H/W였고 지금도 하고 있습니다.

H/W 하다보면, 닥치는것이 테스트입니다. 원활한 테스트를 하기위해
S/W 을 시작하게 되었습니다.

일반 UI쪽은 잘 다루지 못합니다. 그냥 winmain() 짜는 정도?

쪼금들어가면, 바로 기브업합니다.

이것도 역시 밥먹고 살기위해 ㅠㅠ....... 아. 슬프다

도찬구

2008.10.22 20:47:42
*.110.74.247

임베디드 리눅스의 경우엔 일단 리눅스 개발자가 접근하기엔 편하잖아요.

바이너리 호환성은 떨어지지만 라이브러리 호환성은 유지할 수 있으니, 컴파일만 다시 하고 필요한 라이브러리가 있다면 X86기반의 제품이 약간의 수정(WINCE보다는 확실히 적죠..)으로 다 돌아가니 말이죠.

그래도 문제는 리눅스 개발자라고 할 만한 사람이 적다는 것.. ㅋㅋ
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 교육 홍보 및 광고는 "교육 및 세미나 홍보" 게시판을 이용해 ... 관리자 2010-07-15 108050

[건의] 임베디드 리눅스 초짜들을 위한 스터디 모임 [20]

[문의] 장석원님 혹시 제가 아는 분인가요? [2]

자료요청 부탁 file

wince 6.0을 보니... 역시 MS... [8]

VMWare가 이렇게 숨어 있었네요,, 떱,, [2]

[건의] 임베디드 리눅스 초짜들을 위한 스터디 모임 관련 두... [13]

[잡담] Beagle Board 부팅시켜본 소감. [5]

[잡담] Beagle Board 추가되었으면 하는 사양. [4]

[OMAP3530] 다음주 쯤에나 이래저래 정리해서 올리던지 하겠습...

[OMAP3530] Beagle clone 진행..... [8]

[잡담] Meet The Architect : 아키텍트의 논리와 직관 [3]

[신세한탄] WINCE가 미워집니다. [6]

S3C6400을 하려고 하다 omap으로 전환하게 되면서.... [12]

앞으로 대기업/중소기업 구조조정 한다는데 ... [1]

정말 힘든 windows xp와 리눅스..........ㅠ.ㅠ [6]

[re] 오늘 기사 입니다 .... 구조조정이 시작되었다네요 ... [1]

[AspirinBoard] Beagle Board Clone Project Launching [11]

VirtualBox에서 TFTP 및 NFS연결 성공

[정보] 구글폰과 아이폰의 비교 [1]

[화면] 안드로이드 소스코드 빌드한후 에뮬레이터 띄운 모습 file [2]

사용자 로그인