'LX800'에 해당되는 글 6건

  1. 2008.07.15 Aesop LX800 보드에 XPE 설치하기 #1
  2. 2008.02.05 LX800 QVGA(320x240) 해상도 적용
  3. 2008.01.30 CEPC 해상도 조절
  4. 2008.01.29 펜티엄 3 기계에 Windows Embedded CE 6.0 설치
  5. 2007.11.22 LX800(X86) Hive Based Registry 구성..
  6. 2007.10.17 이솝 LX800보드 WinCE 5.0 포팅 완료!!
2008. 7. 15. 21:17

Aesop LX800 보드에 XPE 설치하기 #1



초보 XPE 프로그래머.. 스스로 학습에 도전하다.. 뭐 이정도로 시작하고..
회사에 돌아댕기는 Aesop LX800보드를 하나 건저와서 XPE를 포팅하려 한다. 웹상의 문서와 몇몇의 자료를 토대로 해서...

일단.. 여러 시행차고와 배움이 있을 듯 한데..

일단 타겟보드(LX800 보드)에 Windows XP professional을 설치한다.
XPE는 XP Pro 의 기능을 컴포넌트화 해 놓은 것이고, XP Pro 환경에서의 이 컴포넌트들(디바이스 드라이버, 커널, 서비스... 등 )을 그대로 XPE에서 사용할 것이다.

그래서 XPE를 설치하고자 하는 타겟보드에 XP Pro를 설치하고, 해당 타겟보드의 디바이스 드라이버 등을 모두 설치한다. 그리고 나서 이에 대한 타겟 디바이스의 정보를 가져와 XPE의 이미지를 생성하는 것이다.


아.. 앞으로 이루어질 'Aesop LX800에 XPE 설치 과정'은 다음과 같다.
1. 타겟보드에 XP Pro 및 드라이버 설치
2. 타겟보드로 부터 디바이스 정보 추출(tap.exe파일 이용 -> devices.pmq 추출)
3. 타겟보드 정보 분석
    - Component Designer에 devices.pmq 파일 import
    - Database에 타겟보드의 디바이스 유무 확인
    - 필요한 디바이스 드라이버 생성 및 추가
4. 개발 PC에서 XPE 타겟 이미지 제작
    - Target Designer 실행 및 devices.pmq 파일 import
    - 컴포넌트 추가 및 Dependency 체크
    - 빌드
5. 타겟보드에 사용될 저장장치에 XPE 이미지 복사
6. 타겟보드 부팅
    - FBA(First Boot Agent) 실행
    - 테스트

일단 위에서 설명한 것 중 1~2번 항목만 먼저... ㅋ

타겟보드에 Windows XP Pro의 설치가 완료되면.. 타겟보드의 디바이스 드라이버들을 모두 설치한다.
사용자 삽입 이미지
이렇게 되어 있는 녀석을...
사용자 삽입 이미지
이렇게 되게... ㅋㅋ

그 뒤 타겟보드에 대한 분석(Target Analyzer)을 한다.
타겟 분석 툴은 'TAP.exe' 라는 녀석으로 "C:\Program Files\Windows Embedded\utilities" 라는 폴더에 있다.
이 파일(TAP.exe)를 타겟보드에 복사한 후 실행을 함으로 타겟보드의 하드웨어 정보를 분석할 수 있다.
사용자 삽입 이미지
'TAP.exe'를 실행하면 결과물로 'devices.pmq'라는 파일을 TAP.exe가 위치한 폴더내에서 확인 할 수 있다.

앞으로 이 'devices.pmq'라는 녀석을 이용할 것이다...


2008. 2. 5. 14:24

LX800 QVGA(320x240) 해상도 적용



일을 하다보면 자꾸 자꾸 스펙이 바뀌고.. 또 예상치 못한 작업들이 발생한다.. ㅡㅡ;

현재 Windows Embedded CE 6.0에서 LX800으로 하는 작업이 있는데.. 기존에 LCD패널에서 '800x480'로 해상도를 잡으라 하여 잡았더니.. 더 큰 LCD로도 작업을 할 수 있다하여.. '1024x768'로 다시 세팅을 했고, 이번엔.. 3~5인치정도의 LCD도 사용할 수 있을 것 같다 하여.. 'QVGA(320x240)'로 다시 작업하고 있다...

대충 LX800의 해상도는 AMD에서 제공하고 있는 lxvideo라는 디바이스 드라이버에서 몇몇 부분을 수정해 줌으로 해결할 수 있다.
수정 포인트는 대략(지금까지 수정을 하여 LCD혹은 CRT를 통해 정상적으로 이미지를 출력했던 곳) 이 두 파일(lxvideo.reg, cim_modes.c)이었던걸로 기억한다.

처음 lxvideo.reg 파일을 열고 대충 훑어보니... 최저 해상도가 "640x480"으로 되어있어서 LX800은 QVGA가 지원이 되질 않는 줄 알았다. -_-
여기 저기 구글링을 해가며 문서를 뒤지다 보니 LX800제품에도 버젓히 QVGA 해상도의 제품도 있고, 데이터 시트에도 "Supports down to 7.652 MHz Dot Clock (320x240 QVGA)"이란 문구가 딸랑 한줄 있었다.

하기야 embedded용으로 나오는 제품이 QVGA를 제공 안한대서야...ㅡㅡ 쫌 그렇지 않나?

cim_modes.c파일을 보면, 맨 위에 320x240이라는 부분이 있다.
일반적으로 Refresh Rate를 60 Hz로 사용하는 것 같던데.. 여기선 75Hz로 사용 하는 것 같다.
데이터 시트에는 "down to 7.652MHz Dot Clock"라 하여 이부분 맞춰주고 열라 삽질 했었는데... 이리 저리 하다가 기본적으로 제공하는 거(31.2000MHz) 함 써보자 하여, BIOS세팅 대충 맞춰주고, lxvideo.reg 파일 대충 수정해주고 하니.. QVGA로 LCD에 뿌려주더군...ㅡㅡ;

아나... 언제쯤 삽질 안하고 바로 바로 해결할 수 있을지...

QVGA부분은 웹에도 관련 자료가 거의 없고, 대부분 리눅스 자료였는데.. 뭐 어차피 그놈이 그놈이니...
기본적으로  AMD에서 제공하는 내용이 다여서.. 그리 크게 의심이나 심각한 삽질은 안했다고 생각한다.

뭐.. 끝!!!

아... 이런거 사진이라도 찍어서 올려야 하는데... 사진기가 없어서... -_-


2008. 1. 30. 10:24

CEPC 해상도 조절



펜티엄 3에 CEPC를 올리는 작업을 하던 중.. 해상도 문제로 고민(800x600인지.. 600x480인지 모르겠지만.. 여튼 열라 낮은 해상도로 display되고 있음..)을 하고 있다가..

해결을 해버려서.. 즐거운 마음에 포스팅!! ㅋ

LX800같은 경우에는 디스플레이 관련 디바이스 드라이버가 있어서 해당하는 .reg파일 내에서 해상도를 수정해 주었던 것으로 기억한다.
하지만.. CEPC쪽에서는 그런 디스플레이 관련 디바이스 드라이버를 찾을 수 없었다. 있었는데.. 못찾았는지는 모르겠지만.. -_-;

여튼 처음 이미지를 올릴 때 해상도를 고정시킬 수 있는 방법이 있는것 같았다..
전에 loadcepc ~ 를 했을 때 해상도를 입력했던 기억이 있어서...

여기 저기 구글링, 네이버질... 을 하다가 대충 쓸만한 건데기를 건진듯..

WindowsForDevices.com 이라는 사이트인데.. 전에도 여기서 좋은 자료, 도움 되는 자료를 꽤 본 듯 하다.
이 문서에 따르면.. 'Boot.ini' 파일에서 'DisplayWidth', 'DisplayHeight', 'DisplayDepth'를 수정하여 쓸 수 있는 것 같다.

CEPC에서 제공되는 Boot.ini파일을 보니 기본적으로
DisplayWidth=600
DisplayHeight=480
DisplayDepth=16
으로 되어 있었다.

이 부분을 대략 자신이 원하는 해상도로 바꾸어 주면 된다.

본인의 경우는 아래와 같이 수정해 주었다.
# Display screen width
DisplayWidth=1024

# Display screen height
DisplayHeight=768

# Display screen depth
# Possible values: 8, 15, 16, 24, 32
DisplayDepth=16

이렇게 수정하고 이미지를 올리니 진정 원하던 1024x768의 해상도를 구경할 수 있었다!!! 기쁘다..

2008. 1. 29. 11:51

펜티엄 3 기계에 Windows Embedded CE 6.0 설치



이젠 별짓을 다해본다.. -_-

기존에 LX800에서 하던 작업을 동일한 클럭을 갖는 펜티엄 III (500MHz)에 올리는 작업을 하게 되었다.

일단 CPU가 Geode LX800이 아니므로.. 프로젝트를 CEPC용으로 다시 만들고...
대략의 설정은 기존의 LX800에 했던 작업과 동일하게 해주었다.

기존에는 usb메모리 스틱을 이용해 DOS 부팅을 해서 NK.bin을 올리는 형식으로 SSD(44핀)에 사용해 간단하게 이미지를 올렸는데.. 현재는 HDD(40핀)에 올리는 작업이라.. USB 젠더를 이용해 이미지를 올리는 약간 더 번거로운 작업을 하게 되었다.
참고로.. IDE로 바로 붙였을 경우는 CE 부팅이 잘 되던데.. USB로 부팅을 하니.. 이상하게 안되었음..
이유는 잘 모름.. -_-

이미지를 HDD에 올리고, 펜티엄 III로 CE를 띄우는 것은 일단 성공..
하지만.. network이 안됨.. 전에 LX800에서 사용하던 RTL8139를 그대로 사용하였는데.. 왜 안될까.. -_-

다른 데스크톱의 RTL8139를 떼어 테스트 하니 또 정상적으로 네트웍이 되는데... 아마도 볼티지 문제이지 않을까?
기존의 LX800에서 사용하던 RTL8139는 3.3V용이고, 정상적으로 인식한 녀석은 5V용이라는 거...

단지 이 이유 때문일까?? -_-

참 모를 세상이다...

남은 작업은 해상도(현재 800X600으로 잡히는 듯...)와 하이브 레지스트리 작업...

2007. 11. 22. 20:48

LX800(X86) Hive Based Registry 구성..



여기 저기 문서 찾고 삽질하다가 갑자기 Hive가 되는 듯 하다..

정말 잘 모르겠는데.. 왜 되지?? ㅡㅡ;
삽질을 하긴 했지만 동작이 되고나니.. 왠지 촘 뿌듯해지기도 하면서.. 조금 짜증이 나긴 하는데..
흠... ㅡㅡ;

ARM이나 다른 것들은 어렵게 하는것 같던데.. 하고 보니 LX800은 이상하리만큼 간단(?)했다.

Hive Registry를 구성한 환경은 다음과 같다.
  • Platform Builder 6.0 R2
  • LX800
  • HDD(20G)
Hive Registry를 구성한 방법(?)
1. Catalog Items View에서 다음 컴포넌트를 추가한다.
  • ROM-only File System
  • Hive-based Registry
  • FAT File System
2. 환경변수를 세팅한다.
  • PRJ_BOOTDEVICE_ATAPI=1
  • PRJ_ENABLE_FSMOUNTASROOT=1
  • PRJ_ENABLE_FSREGHIVE=1
3. .reg파일에 다음과 같은 내용이 포함되어 있어야 한다.
; HIVE BOOT SECTION
IF SYSGEN_FSREGHIVE
[HKEY_LOCAL_MACHINE\init\BootVars]

   "SystemHive"="\\Documents and Settings\\system.hv"
   "ProfileDir"="\\Documents and Settings"

   "RegistryFlags"=dword:1               ; Flush hive on every RegCloseKey call
   "SystemHiveInitialSize"=dword:19000   ; Initial size for hive-registry file is 100K bytes
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles]
    "MountFlags"=dword:2
;[HKEY_LOCAL_MACHINE\System\ObjectStore]
;    "RegistryType"=dword:1
ENDIF ;SYSGEN_FSREGHIVE

[$(PCI_BUS_ROOT)\Template\OHCI]
   "HcdCapability"=dword:0      ;HCD_SUSPEND_ON_REQUEST|HCD_SUSPEND_RESUME

; END HIVE BOOT SECTION

4. 레지스트리에서 Hive를 적용하고자 하는 부분에 다음 부분을 추가한다.
  • ;HIVE BOOT SECTION (시작 부분)
  • ;END HIVE BOOT SECTION (끝 부분)
5. Build!!!!!

테스트...
  • Hive Registry구성을 한 이미지를 보드에 올리고 눈에 보일만한 약간의 수정을 가한다.
  • 재부팅!!
  • 아까 눈에 보일만한 약간의 수정의 상태로 부팅을 하는지를 본다.
환경변수에 대한 참고 : MSDN

2007. 10. 17. 17:49

이솝 LX800보드 WinCE 5.0 포팅 완료!!


이솝 LX800에 WinCE 5.0 포팅을 완료해 버렸다.

머... 완벽하다기 보다는 그냥 기본적인 것들..
흠.. 사용하기 그냥 무난한 정도.. ㅋㅋ

사용자 삽입 이미지
사용자 삽입 이미지

실력이 실력인 만큼.. 여기 저기 도움을 많이 받아서 해결..했음.. ^^;
참고 : WEEG, AESOP (영마니님 감사합니다!!)

언제쯤이면.. 혼자의 능력으로 모든걸 해결할 수 있을까나.. ㅡㅡ;

대충 올린 과정을 시간 날때마다 정리해서 올려볼까 한다. 계획만..