2013년 7월 3일 수요일

[WinCE 7] Windows Embedded Compact 7 개발(3) - Getting Started


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.aspx


2. 위의 사이트에 보면, 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를 만들어서,
         실제 디바이스에 다운로드하는 것은 될 것으로 본다.

8. Run the Application

- 앞서 만들었던 Application을 가상 디바이스 및 실제 디바이스에서 실행한다.

9. Debug the Application

- 앞서 만들었던 Application을 가상 디바이스 및 실제 디바이스에서 실행하면서 디버깅한다.


C. 다음으로 해 볼 내용

1. 실제 디바이스(ARMv7)용 Application 제작 및 실행


댓글 없음:

댓글 쓰기