'LCD'에 해당되는 글 2건

  1. 2008.02.05 LX800 QVGA(320x240) 해상도 적용
  2. 2007.12.24 Windows CE해상도 수정..
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에서 제공하는 내용이 다여서.. 그리 크게 의심이나 심각한 삽질은 안했다고 생각한다.

뭐.. 끝!!!

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


2007. 12. 24. 11:32

Windows CE해상도 수정..



현재 개발중인 LX800은 800x480의 해상도를 가지는 LCD패널에 출력을 한다.
잠시 시연을 위해 1024x768의 해상도를 갖는 LCD모니터에 연결을 하여 출력을 하니.. 이거 너무 더럽게 나온다.. ㅡㅡ;

결론은 CE의 해상도를 1024x768로 수정..

Windows Embedded CE 6.0에서는 GeodeLX의 비디오 디바이스 드라이버 쪽에 .reg파일에 해상도에 관련된 부분이 있다. 그 부분을 수정해 주면 된다.

lxvideo.reg
; HIVE BOOT SECTION

;Use anti-aliased fonts ( if uncommented )
;[HKEY_LOCAL_MACHINE\SYSTEM\GDI\FONTSMOOTHING]

[HKEY_LOCAL_MACHINE\Software]
[HKEY_LOCAL_MACHINE\Software\AMD]
[HKEY_LOCAL_MACHINE\Software\AMD\Versions]
    "Graphics"=dword:00010103

[HKEY_LOCAL_MACHINE\Software\Geode]
;"Resolution"="800 480 60"                              ;기존의 해상도 주석..
"Resolution"="1024 768 60"                              ;새로운 해상도 적용..

;"FrameBufferDepth"=dword:20
"FrameBufferDepth"=dword:10

"EnableCompression"=dword:1
"ClearFrameBuffer"=dword:1
"BackBufferSupport"=dword:1
"SimultaneousCRT"=dword:1

"EnablePanel"=dword:1
"BiosInitPanel"=dword:0

;"PanelWidth"=dword:320                                 ; 기존의 해상도 주석처리
;"PanelHeight"=dword:1E0  
"PanelWidth"=dword:400                                 ; 새로운 해상도 적용
"PanelHeight"=dword:300

[HKEY_LOCAL_MACHINE\SYSTEM\GDI\ROTATION]
"Angle"=dword:0    ;0, 5A, B4, 10E;

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\lxvideo]
   "Prefix"="DDI"
   "Dll"="lxvideo.dll"
   "Order"=dword:0
   "Class"=dword:03
   "SubClass"=dword:00
   "ProgIF"=dword:00
   "VendorID"=multi_sz:"1022"
   "DeviceID"=multi_sz:"2081"

[HKEY_LOCAL_MACHINE\Software\Microsoft\DirectX\DirectShow\Video Renderer]
"MaxBackBuffers"=dword:2

[HKEY_LOCAL_MACHINE\System\GDI\Drivers]
"Display"="lxvideo.dll"

; END HIVE BOOT SECTION

이렇게 수정한 후 빌드하면.. 간단히 적용이 된다는... ^^;