이것저것/Windows CE

Tip

우담바라 2007. 4. 4. 13:04

OAL 쪽만 수정한다면 sysgen을 하지 않고도 image을 Update할 수 있다.

방법은


    1. OAL소스 코드만 컴파일 한다.
    2. 1번이 문제 없으면 Kernel 전체를 컴파일 한다.(3가지 커널모두 해야 합니다.)
    3. Make Run-time Image만 하면 OAL 수정한 내용이 Image에 반영이 됩니다.

이때는 OAL쪽에 RETAILMSG를 이용한다.


NK.nb0의 경우는 CPU가 직접 code를 읽어 실행할 수 있도록 만들어진 image file이다. 따라서 이 NK.nb0은 Flash로 구워서 직접 실행을 할 수가 있다.

이에 반해 NB.bin은 record들을 해독해서 code들을 정렬을 해줘야 한다. 이 정렬을 해주는 프로그램은 일반적으로 bootloader안에서 구현을 해준다.

NK.nb0는 NB.bin내용은 동일하다.
허나, NK.nb0 헤더 정보를 포함하고있지 않다.
그래서 바로 다운 받아서 사용할 수가 있다는...-_-;;

OAL은 BSP와 CSP 2곳으로 나뉘어져서 저장되어있다.

WinCE 5.0으로 넘어오면서, 기존의 Third-Party에서 제공되던 각종 Driver 및 OAL등이 상당수 별다른 수정없이 그냥 컴파일만 하면 되게끔  제공된다.

MS에서는 이런 Device Driver, OAL등을 Production-quality OAL Mode(PQOAL)l이라고 부른다.

이 Production-Quality OAL을 통해서, 예전 버전에서는 사용자가 직접 Coding을 해넣어서 작성을 해야했던, OAL 부분이 MS에서 미리 소스를 다 만들어서 제공되기 때문에, OAL 작업이 한결 수월해졌다


PQOAL  =>>  COMMON 폴더 !!!

1. Platform builder 내에서 Build->open relelase directory를 선택해서 도스창을 연다.

2. set WINCEREL=1 -> 빌드의 결과물을 릴리즈 폴더로 복사

3. 디스바이스 드라이버의 리빌드 및 이미지 만들기

    1) 디바이스 드라이스 소스를 일부 수정했을 때, 전체 Rebuild을 안해도 할 수 있다.

    2) 디바이스 드라이버 소스가 있는 폴더로 이동

    3) build -cf

    4) makeimg


4. OAL 수정시

    1) kernel 폴더에서 직접 build -cf  --> kernel\hal에서 하는 것이 아니다.

       (왜냐하면 hal에서 컴파일시 hal.lib만 달랑 나온다.)

    2) makeimg


5. config.bib, platform.bib, platform.reg, platform.dat 수정시

    1) Release 폴더로 copy and paste

    2) makeimg


6. 새로운 파일의 추가시

   1) 새로운 폴더를 만들어, sources, dirs를 지정한다.

   2) 새로운 파일들에서만 컴파일 : build -cf

   3) makeimg



참고 : makeimg는 release 혹은 debug 폴더에서 실행을 해야한다.



BSP = Board Support Package

CSP = Chip Support Package

일반적으로, MS에서 제공되는 BSP는 ARM용으로 Intel Mainstone II (Bulverde, PXA27x), Samsung 241x 가 있다.

특이하게, 5.0부터는 ARM 에서 만든 Board의 BSP는 제공하지 않는다.

다만, CSP는 모든 ARM Core를 위해서 제공되어 진다.

Intel Mainstone II, Samsung 241x의 경우, BSP 뿐만 아니라, CSP도 제공한다.

이는 Mainstone II나 Samsung 241x가 똑같은 ARM Core Chip을 사용하더라도, SoC 개념으로 Core에 Parallel Device를 덧붙힌 Chip이기때문에, Chip level에서의 각종 Device 지원을 하기 위해서 별도의 CSP을 만들어서 제공한다.

따라서, 만약, 이와 유사하게, ARM Core에 SoC로 각종

 Device를 얻힌 새로운 Chip을 가지고 Windows CE를 작성할 경우, 그 Chip을 이용한 Board를 위한 BSP와 Chip 자체를 위한 CSP 두 Package에 대해서 작업을 해야한다.

예를 들어,  Altera의 Excalibur 시리즈의 EPXA10 경우, PLD에 특별한 로직을 만들 수도 있고, Arm 922T core외에 자체적으로 Timer, UART등을 Chip level에서 가지고 있기 때문에, CSP를 별도로 만들어서 작업해줘야 하며, 이 Chip을 이용한 BSP도 같이 만들어 줘야 한다.


'이것저것 > Windows CE' 카테고리의 다른 글

WinCE 5.0 과 Windows Embedded CE 6.0 의 차이점 (2)  (0) 2007.04.09
Windows CE5.0 BSP를 6.0 BSP로 포팅하기  (0) 2007.04.04
Booting 환경  (0) 2007.04.04
SOUCES 파일에서 사용되는 Macro  (0) 2007.04.04
Configuration files  (0) 2007.04.04