'BSP'에 해당되는 글 3건

  1. 2007.11.08 Windows CE 이미지 생성 절차 2
  2. 2007.11.07 BSP와 Common
  3. 2007.10.17 Windos CE 5.0 vs. Windows Embedded CE 6.0 ch.2
2007. 11. 8. 17:43

Windows CE 이미지 생성 절차



Windows CE 이미지 생성을 위한 절차이다.
이를 위해선 BSP와 Common요소를 먼저 이해해야 한다. BSP와 Common에 대한 설명은 '여기'를 참고하면 될 듯 하다.

Window CE 이미지를 생성을 하기 위해선 다음의 4단계를 거치게 된다.
  1. System 생성 과정
  2. Build Platform 과정
  3. Build Release 과정
  4. Make Image 과정

1. System 생성 과정에서는 Platform Builder가 Windows CE를 위해 제공하는 기본적인 구성요소들, $(_PUBLICROOT)에있는 자료를 개발자가 생성한 $(_PROJECTOAKROOT)\Files 와 $(_COMMONOAKROOT), $(_COMMONDDKROOT), $(_COMMONSDKROOT)로 복사하는 작업을 한다.
참고로 $(_COMMON~)\Target 폴더는 소스의 컴파일과정을 거쳐서 빌드된 모듈 중 DLL, EXE, OCX와 같이 실행가능한 모듈들이 복사되는 위치를 말하고, 이를 통해 System 생성과정 중에서도 컴파일 과정이 발생할 수 있다. $(_PROJECTOAKROOT)\Files 폴더는 컴파일 과정없이, 미리 준비된 모듈들이 복사되는 위치를 의미한다.

2. Build Platform 과정에서는 개발자가 생성하려는 플랫폼의 참조코드인 BSP와 개발자가 새롭추가한 Features를 실제로 빌드하는 과정이다.
이때 사용되는 BSP 코드는 빌드환경에서 설정한 SYSGEN_XXX와 같은 환경변수에 의해 선택적으로 빌드된다.

3. Build Release 과정에서는 위의 과정에서 생성된 파일들이 플랫폼의 릴리즈 폴더로 복사된다.
릴리즈폴더는 $(FLATRELEASEDIR)을 말한다. 이 단계를 거치게 되면, Windows CE용 이미지를 위한 모든 파일들이 릴리즈폴더에 존재하게 된다.

4. Make Image 과정은 3단계의 릴리즈폴더에 무수히 많은 파일들을 타겟시스템으로 다운하기 위한 바이너리 파일로 압축을 하는 작업을 한다.


2007. 11. 7. 11:22

BSP와 Common



BSP는 CE에서 제공하는 몇가지의 타겟시스템(CEPC, GEODE, ARM, XSCALE)의 종속적인 코드들을 담아놓은 환경을 말한다.
쉽게 말해 $(_PLATFORMROOT) 하위의 폴더에 있는 폴더들(CEPC, GEODE, EMULATOR, SMDK2410)등을 말한다. 이는 모두 해당하는 타겟시스템을 위한 종속적인 코드들이다.
사용자 삽입 이미지
Windows CE 5.0의 BSP

그러나, 단지 이 BSP만을 가지고는 Windows CE이미지를 만들 수 없다. BSP라는 것은 타겟시스템에 종속적인 코드만 들어있을 뿐, 그 이외의 운영체제를 위한 프로그램들(익스플로러, 노트패드 등)은 들어있지 않기 때문이다.

이렇듯 타겟시스템에 종속적인 코드를 제외한 나머지 코드들을 Platform Builder에서는 Common요소로 간주하여 $(_PUBLICROOT)에서 관리하게 된다. Common요소는 어떤 BSP를 사용하더라도 호환성을 가질 수 있는 코드들이다.
사용자 삽입 이미지
Windows CE 5.0의 Common

이처럼 하나의 타겟시스템에서 동작하는 Windows CE 이미지를 제작하기 위해서는 적당한 타겟 BSPCommon요소가 필요하다.

2007. 10. 17. 17:08

Windos CE 5.0 vs. Windows Embedded CE 6.0 ch.2


Windows CE 5.0에서 Windows Embedded CE 6.0으로 넘어오면서 OAL에서 바뀐 점은 다음과 같다.

1. 커널과 OAL의 분리했다.
   -  NKLoader에 의해 합체
   -  독립적으로 업데이트 가틍
2. 전체적인 OAL구조는 같다.
  - OEM함수
  - 커널 접근은 커널 인터페이스를 통해서 가능
3. 새로운 메모리 모델을 OAL에 적용했다.

* OAL(OEM Adapted Layer) - 각 OEM의 platform에 맞게 작성된 사용자가 만든 소스 부분이라 생각하면 된다.

사용자 삽입 이미지
Windows CE 5.0과 달리 Windows Embedded CE 6.0은 커널과 OAL을 분리했다.

Windows Embedded CE 6.0 BSP의 특징.
1. 새로운 커널을 지원
2. 쉬운 BSP개발 및 포팅
3. PQOAL 지원
4. OAL, Kernel 그리고 KITL 독립성 지원

다음 그림을 보면서 디렉토리 구조가 어떻게 바뀌었는지 살펴보자.
사용자 삽입 이미지 사용자 삽입 이미지
Windows CE 5.0과 Windows Embedded CE 6.0의 디렉토리 변경점

Kernel의 변경된 점
1. Windows CE 5.0
  - OAL + Kernel = Kern.exe
  - OAL + Kernel + KITL = kernKitl.exe
  - OAL + Kernel + KITL + Profiler = kernkitlprof.exe
2. Windows Embedded CE 6.0
  - OAL = oal.exe
  - Kernel = kernel.dll
  - KITL = kitl.dll

아래 그림에서 보는것처럼 6.0에서는 커널과 OAL을 분리했고, 서로 통신하기 위한 수단으로 NKGLOBAL과 OEMGLOBAL이라는 구조를 두었다.
사용자 삽입 이미지
Windows Embedded CE 6.0 PQOAL 디자인

이처럼 구조가 Windows CE 5.0과는 다르기 때문에 6.0으로 bsp를 migration하기 위해서는 구조를 파악하는것이 우선이다.

음...

참고 : 웹캐스트 및 웹 자료