Microsoft의 Windows Embedded Compact 7 관련 내용을 보자.
A. Windows Embedded Compact 7 (이하 WinCE 7 또는 Windows Compact 7) 시작
1. microsoft의 WinCE 7 사이트에 잘 설명이 되어 있다.
http://msdn.microsoft.com/en-us/library/default.aspx2. 위의 사이트에 보면, MSDN Library 항목 밑으로 개발에 대한 서브 항목들이 있다.
서브 항목은 아래와 같이 구성이 되어 있다. 하나씩 보면서 필요한 것들 위주로 보자.[MSDN Library]
|_ [Mobile and Embedded Development]
|_ [Windows Embedded]
|_ [Windows Embedded Compact]
|_ [Windows Embedded Compact 7]
|_ [What's New]
|_ [Getting Started]
|_ [Developer Guides]
|_ [Code Samples]
|_ [Reference (Compact 7) Glossary Additional Resources]
|_ [Troubleshooting Support Release Notes for Windows Embedded Compact 7]
위의 항목 중에 'Getting Started' 를 먼저 보자.
[Getting Started]
|_ [Prerequisties]
|_ [Installation]
|_ [Update Windows Embedded Compact [FrontMatter]]
|_ [Set Up a Virtual Device]
|_ [Design Your First OS]
|_ [Create an SDK]
|_ [Create an Application]
|_ [Download the OS to the Device]
|_ [Run the Application]
|_ [Debug the Application]
|_ [What's Next]
이제 항목 하나씩 진행해 보자.
B. Getting Stated
0. 여기에서 나오는 것은 ARM과 x86 기반의 디바이스를 기준으로 설명하고 있다.
1. Prerequisties
- WinCE 7을 설치하기 위한 최소 사양에 대한 내용이다.- 요즘 나오는 노트북이나 데스크탑의 경우엔 거의 최소 사양을 맞출 것으로 보인다.
- 다만 OS에서 Windows 8인 경우에는, Windows 8 Pro 이면 좋겠다
(Windows 8인 경우엔 지원안되는 기능이 있음).
2. Installation
- WinCE 7을 설치하기인데, 문서의 후반부는 실제 설치시와 약간 다른 것 같다(7~11번 항목들).- 'Full Installation' 보다는 'Customize Installation'을 하는 것이 좋겠다(문서 내용 참조).
- 문서에 나와있는 것과 같은 component들만 설치하는 것이 좋을 것 같고,
필요없다면 일본어 문서 component는 빼도 될 듯 하다.
3. Set Up a Virtual Device
- 이 항목은 실제 디바이스가 없는 상황에서, 가상의 디바이스를 잡는 것이다.- x86의 기반의 가상 디바이스만 만들 수 있다.
- x86이 아닌 다른 실제 디바이스를 갖고 있는 경우에는, 이 과정을 넘어가도 될 듯 하다.
4. Design Your First OS
- 실제 디바이스나 가상 디바이스에서 사용할 OS를 만든다.- x86기반으로 설명하며, ARM기반으로 만들 경우에는 BSP만 ARM으로 변경해서 만들면 된다.
- 빌드 옵션 등은 별도로 수정하지 않았고, 관련 있는 경우에만 수정하면 될 것 같다.
5. Create an SDK
- 만든 OS를 이용할 수 있도록 SDK를 만든다.- 만약 Platform Builder안에서 Application을 만든다면 SDK를 사용하지 않겠지만,
Platform Builder를 쓰지 않으면 SDK를 사용해야 한다.
- 물론 SDK는 앞서 만들었던 OS Design 프로젝트에서 생성해야 한다.
- 관련 설명은 http://msdn.microsoft.com/en-us/library/jj823234.aspx 에서 볼 수 있다.
: 'Getting Started' 다음 항목인 'Developer Guides' 안의 'Application Development' 항목이다.
6. Create an Application
- 앞서 만들었던 OS Design 프로젝트의 서브프로젝트로 Application을 만든다.- 예제 코드를 넣어 빌드한다.
7. Download the OS to the Device
- 앞서 만들었던 OS Design을 가상 디바이스에 다운로드 하는 것이다.- 문서대로 따라하면 가상 디바이스를 띄우는데 그리 어려운 문제는 없다.
- 다만, 주의할 점이 몇가지 있기에 적어 본다.
: [주의 1] 개발 PC가 Windows 7 Pro라고 가정한다.
i. 문서대로 진행하면서, 뒷 부분에 보면 run-time image를 다운로드 하기 위해
'Device Status' 창과 'BOOTME messages'를 보내는 창이 떠 있을 것이다.
i. 이 때, 다운로드가 진행이 안되면서, 에러를 표시할 것이다.
<에러 내용>
* ERROR: BootTransportPb: TFTP timeout occured!
* ERROR: BootDownloadBin!ImageType: BootTransportRead Failed!
<관련 사이트 > : http://social.msdn.microsoft.com/Forums/en-US/34db2cc5-4034-4089-b324-f0a54258f158/virtual-cepc-image-download-error
* 나와 똑같은 에러가 난 상황에 대하여 논의된 내용들이다.
i. 해결 방법
* UDP CRC Checksum을 '사용 안 함' 으로 한다.
* 위치 : [시작] - [제어판] - [네트워크 및 공유 센터] -
[네트워크 상태 및 작업 보기] - [어댑터 설정 변경] -
[로컬 영역 연결] 우클릭하여 '속성' 열기 -
'연결에 사용할 장치'의 '구성' 버튼 누르기 - '고급' 탭 누르기 -
'UDP 체크섬 오프로드(IPv4)' 의 값을 '사용 안 함' 으로 변경
* 이렇게 수정을 하고, 다시 해보면 정상적으로 다운로드가 진행된다.
: [주의 2] OS를 ARM 기반으로 만들고, 가상 디바이스에 다운로드 하면
'Device Status' 창이 닫히면서, 중단된다.
i. 앞서 만들었던 OS Design은 x86 기반으로 만든 경우에는,
여기서 다운로드가 되어 가상 디바이스를 실행할 수 있다.
i. 해본 것은 아니지만, ARM기반으로 OS를 만들어서,
실제 디바이스에 다운로드하는 것은 될 것으로 본다.