'Sysgen'에 해당되는 글 2건

  1. 2008.06.25 Windows CE 6.0 빌드 메뉴..
  2. 2007.11.01 Files 디렉토리의 bib, reg파일 수정 후 NK바이너리에 적용시키는 방법
2008. 6. 25. 13:44

Windows CE 6.0 빌드 메뉴..



Windows Embedded CE 6.0을 가지고 이런 저런 작업들을 하곤 하지만.. 아무 생각없이 Build Solution을 클릭해서 빌드를 하곤 한다.

빌드 시간이야.. 뭐.. 일단 Build Solution 해 놓구선 다른 작업을 하다보면 빌드가 완료되어 있으므로.. 별 신경을 쓰지는 않고 있지만.. 사실 빌드 메뉴에 대한 내용을 알고 사용하는 것도 좋을 것 같다는 생각이 드는건.. ^^;

책이나 문서들을 보면 대충 빌드 메뉴에 대한 자료는 꽤 있는 듯하지만.. 나름 여기 저기 자료를 보구서 살짝 정리를 해보려 한다. 뭐 이 글을 보구서 이거 어디서 본거하고 같니 마니.. 이런 말들은 안해 주었으면.. 하는데.. ^^;

Windows Embedded CE 6.0의 Build menu에는 다음과 같은 것들이 있다.
사용자 삽입 이미지
Windows Embedded CE 6.0 Build Menu


Build Solution
Advanced Build Commands의 Sysgen과 동일한 명령으로 보면 된다.

Rebuild Solution
Advanced Build Commands의 Clean Sysgen과 동일한 명령으로 보면 된다.

Clean Solution
release 디렉토리의 모든 파일을 지운다.


Advanced Build Commands

Sysgen
SYSGEN -> BUILD -> BUILDREL -> MAKEIMG 의 작업을 진행한다.
  • SYSGEN : 현재 플랫폼의 구성요소들의 SYSGEN_XXX와 같은 환경변수를 생성한다. 이 환경변수를 기반으로 플랫폼 빌더가 제공하는 WinCE 를 위한 기본 구성요소들을 $(_PUBLICROOT)에서 개발자가 생성한 작업공간으로 복사를 한다.준비한다.
  • BUILD : 개발자가 생성하려는 플랫폼의 BPS를 빌드하는 과정이다. SYSGEN_XXX 과 같은 환경변수에 의한 선택적인 모듈들이 빌드되도록 작성된다.
  • BUILDREL : 위의 결과물들을 Release 폴더에 복사를 한다.
  • MAKEIMG : .reg, .bib 파일들을 통합하여 reginit.ini, ce.bib 파일을 만들고, 이 파일들의 내용을 기반으로 OS Image를 만든다.
Clean Sysgen
이전에 Sysgen의 결과물로 생성된 파일들을 Clean하고 다시 시스젠을 실행한다.

Build and Sysgen
플랫폼 빌더가 제공하는 Common 요소들을 빌드한다. 그리고 나서 SYSGEN 과정을 진행한다. 이는 Common요소(PUBLIC 폴더)를 수정하였을 경우에 사용한다.
참고로, SYSGEN이 먼저 일어나고, BUILD과정 중에 PUBLIC폴더의 빌드가 일어난다. SYSGEN이 선행되어야 BUILD 시 필요한 요소가 무엇인지 알수 있기때문이다.

Rebuild and Clean Sysgen
Build and Sysgen에 Clean 이 추가된 것으로 볼 수있다. 하지만... 안쓰는게 좋다는..

Build Current BSP and Subprojects
BSP와 subproject를 빌드한다.
하지만 일반적으로 Build Menu에서 Global Build Settings의 Copy Files to Release Directory After Build와 Make Run-Time Image After Build를 체크하기 때문에 빌드와 동시에 결과물을 Release 디렉토리로 복사하고 관련된 파일들을 묶어 OS Image를 만들어 준다.

Rebuild Current BSP and Subprojects
Build Current BSP and Subprojects와 동일한 작업을 한다. 기존의 object 파일을 삭제하고 다시 빌드한다.


2007. 11. 1. 14:05

Files 디렉토리의 bib, reg파일 수정 후 NK바이너리에 적용시키는 방법



platform builder에서 'Platform\XXX\Files'에 있는 파일들.. 즉 *.reg, *.bib.. 등의 파일을 수정한 후 다시 전체 빌드를 해야할지를 가지고 고민을 하는 경우가 있다.

일반적으로 '디바이스 드라이버'라든지 개발자가 직접만든 '프로젝트 프로그램'의 경우는 수정을 가한 해당 파일만 '빌드'해주고, Copy Files to Release Directory, Make run-time Image를 해주면, NK바이너리에 추가가 된다.

하지만, 이것들은 'Platform\XXX\Src'에 있는 녀석들의 경우이다.

'Platform\XXX\Files'의 경우는 두가지 경우로 나눌 수 있다.

첫 번째, release디렉토리의 *.reg, *.bib등의 파일을 수정하는 경우이다.
*.reg나 *.bib를 수정해야 할 경우이고, 어차피 NK를 만들기 위함이면, release디렉토리의 이 녀석들만 수정하면 된다. 그리고 make image를 하면 수정한 녀석들이 적용된 NK 바이너리를 사용할 수 있다.

두 번째, Files디렉토리의 *.reg, *.bib등의 파일을 수정하는 경우이다.
이경우는 수정한 파일을 release디렉토리로 복사해 make image해주어도 되고(첫 번째와 동일한 작업이 될 수 있음), Sysgen 후에 make image를 해주어도 된다.

문제는 얼마나 많은 시간이 걸리느냐 이지만, 첫번째의 경우 1분정도(?), 두 번째(sysgen)의 경우 10분 이상이 걸린다는 것이다.

release 디렉토리의 것들을 수정할 경우, sysgen을 해주게 되면, 수정했던 것들이 Files의 것들로 바뀌게 된다.
Sysgen 시에, Files의 파일들을 Release 디렉토리로 복사하는 과정이 있기 때문이다.
이점만 주의하면, 자주 *.bib, *.reg등의 파일을 수정하는 작업의 경우, 유용하게 사용할 수 있을 것이다.