'작업장'에 해당되는 글 16건

  1. 2009.02.19 프리웨어 디버깅 툴 - DebugView 2
  2. 2009.02.17 SecureCRT ssh 사용시 간단한 설정 1
  3. 2008.11.26 Virtual PC 및 Windows XP 설치 1
  4. 2008.10.24 에디트 플러스에서 C 컴파일, 실행 하기 4
  5. 2008.05.27 LX800에서 이더넷 다운로드 시 리붓되는 문제
  6. 2008.04.23 오픈소스 C/C++ 컴파일러 Dev-C++를 설치하자 4
  7. 2008.02.28 Hiren's BootCD를 USB로 부팅하자! 3
  8. 2008.02.28 "Hiren's BootCD" , OS Bootable CD and Utilities
  9. 2008.02.13 Zigbee and IEEE 802.15.4
  10. 2008.02.05 LX800 QVGA(320x240) 해상도 적용
2009. 2. 19. 11:41

프리웨어 디버깅 툴 - DebugView



프로그래밍을 하면서 디버깅을 할 때 Microsoft에서 제공하는 'DebugView'라는 Windows 상에서 간단하게 디버깅을 할 수 있는 프리웨어 툴을 사용할 수 있다.
모드를 'Capture Kernel (Ctrl + K)'로 하게 되면 커널모드 디버깅도 할 수 있어 디바이스 드라이버를 할 때 디버깅 메시지를 볼 때 상당히 편리한 툴이다.


필요할 적에 몇번 사용해본게 다일 뿐, 많이 사용은 해보지 않아 잘 모르겠는데.. 웹을 뒤져보아도 좋은 툴이라는 말이 많다.

DebugView에 대한 정보는 'http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx'에서 얻을 수 있고, 다운로드도 받을 수 있다.
위의 사이트에 들어가서 받는 것조차 귀찮다면...
이걸 받아 사용하면 된다.

2009. 2. 17. 10:39

SecureCRT ssh 사용시 간단한 설정



ssh로 리눅스 기계에 접속을 할 때 'PuTTy'라는 툴을 사용해 왔었다.
PuTTy는 오픈소스이고, 여태껏 사용하는데 불편함 없이 잘 사용하고 있었는데.. 어느날 'SecureCRT'라는 더 좋은 녀석이 있다고 해서 사용을 해봤는데.. 좋은것은 같으나 왠지 없어보이는 외모 때문에... -_-;;;

이건... 너무 없어보이자나... ㅡ.ㅜ

이리저리 구글링을 하다가 설정을 몇군데 바꿔주면 그나마 깔끔한 환경을 만들수 있다하여 시도해 보았다.
메뉴 -> Options -> Session Options를 선택하고..
Terminal -> Emulation에서 오른쪽의 Emulation의 Terminal을 Linux로 바꾸어 준다.
이렇게 해주어야 디렉토리라든지 파일 등의 컬러가 제대로 나온다.

추가로, Category에서 Apperance를 선택하고 원하는 콘솔 화면을 세팅해주면.. 그나마 볼만해진다.
오른쪽의 Fonts를 Character encoding을 UTF-8로하고, 한글이 지원되는 폰트를 선택해야 한글이 제대로 나온다.

OK를 클릭하면 아래와 같이 모양새가 바뀐 것을 확인할 수 있다.


많이 좋아지긴 했지만... 디렉토리의 진한 파랑색은 어찌 엷게 바꾸는지 모르겠다.. 잘 안보이자나.. ㅡ.ㅜ

상용툴이고 해서 기능들은 다양하게 있는데.. 그냥 단순히 ssh로만 사용하기에는 PuTTy도 충분할 듯 보인다.
아.. SecureCRT의 멀티 세션 접속이라든지.. copy & paste기능은 넘흐~~ 좋은듯 하다. ^^*


2008. 11. 26. 18:44

Virtual PC 및 Windows XP 설치


여태껏 버추얼 머신으로 'VMWare'를 사용하고 있었는데... 문득 'Virtual PC'를 설치해 봐야겠다는 생각이 들었다.
디바이스 드라이버 때문에 'Devpia'에서 문서를 검색하던 도중.. MS의 OS를 사용하기에는 WMWare보다는 MS의 Virtual PC가 더 낫다고 하는것 같길래.. 그렇지 않아도 조금 전에 남이 만들어 놓은 디바이스 드라이버 를 잘못 올려 키보드가 먹통이 되는 바람에 Windows XP를 다시 설치하긴 해야했다.

거기에 또 무료라니깐..
난... 지조가 조금 없을 뿐이고.. 남들이 이거 좋다고 하면 이거 할 뿐이고... 공짜가 좋을 뿐이고.... -_-;;

Windows XP 씨디가 있다면 그것을 사용해도 되지만, MS에서 제공해 놓은 XP 이미지를 사용해도 될 듯 하다.
아래의 다운로드 링크를 클릭하여 XP 이미지를 다운로드 받자.
[MS XP 이미지 다운로드]

IE6-XPSP3, IE7-XPSP3, IE8B2-XPSP3 이렇게 세 가지 중 맘에 드는 녀석으로 하나 고르자.

다운로드가 다 되면 다운로드 받은 파일을 더블클릭 하여 새로운 경로에 압축을 풀자.
난 그냥 'C:\'에 풀어놓았음.

그리고 나서 Virtual PC 2007 이란 녀석을 아래 링크를 클릭하여 다운로드 받아서 설치를 하자.
[Virtual PC 2007 다운로드]  

빨간색 박스의 Microsoft Download Center를 클릭하자.

MS의 다운로드 사이트로 연결이 되는데 아래로 쭈욱 내려가서 Files in This Download를 찾아서 자가 기계에 해당하는 파일을 다운로드 하자.
난 32 BIT/setup.exe !!!

다운로드가 완료되면 파일을 더블클릭하여 실행하자.
초반부 몇몇 물어보는 사항은 대충 Next 하고 넘어가자!! 별거 없고, 프로그램 몇번 깔아 봤으면 알만한 내용들이다.
참고로 프로그램이 설치되는 경로는 'C:\Program Files\Microsoft Virtual PC'이다.
설치가 다 되면 Finish 버튼을 클릭하여 완료하자.

시작 -> 모든 프로그램 -> Microsoft Virtual PC 를 클릭해 시작하면 다음과 같이 실행된다.

Next 버튼을 클릭하고, 디폴트로 되어있는 'Create a virtual machine'를 선택한다.

Next 버튼을 클릭하면 버추얼 머신의 이름을 정하라는데 대충 좋을대로 아무거나 넣구선 또 Next 버튼을 클릭한다.
그럼 OS를 선택하라는 화면이 나온다.
Windows XP를 선택하고 Next 버튼을 클릭하자.
그리고 나서 또 Next, Next를 하게 되면, OS의 경로를 설정하라는 부분이 나온다.

이전에 받아놓은 XP SP3 with IE6.vhd 의 경로를 지정한다. 그리고 Next 버튼을 클릭한다.

마지막으로 Finish 버튼을 클릭하면... Virtual PC Console 이 다음과 같이 나타난다.

Virtual PC의 Windows XP를 실행하기 위해 Start 버튼을 클릭하자!!!
그럼.. 이렇게 예쁜 Windows XP가 튀어나온다... ㅋ

아.. 예쁘다... ㅋㅋ


2008. 10. 24. 11:50

에디트 플러스에서 C 컴파일, 실행 하기


VS2005를 사용해서 윈도우즈 상에서 프로그래밍을 하고 있는데.. 솔직히 너무 무겁다. 구지 GUI를 사용하지 않는 프로그램이나 간단한 테스트 프로그램을 작성해서 테스트를 하려 해도 프로젝트를 생성해야하고.. 이런 저런.. -_-;
그래서 보다 가벼운 에디터를 사용해서 사용할 수 있는 방법을 알아보았더니 에디트 플러스와 같은 에디터에 C 컴파일러를 연동해서 프로그래밍을 할 수 있는 방법이 있어서 사용을 해보려 한다.

먼저 에디트 플러스에서 C 언어를 컴파일 하기 위해서는 우선 컴파일러가 준비되 있어야 한다. 개인적으로 VS2005를 사용하기 때문에 MS에서 제공하는 컴파일러를 사용할 것이다.

에디트 플러스를 실행하고, 도구(T) - 기본 설정(T)를 선택한다.
그리고 기본 설정 창의 왼쪽의 항목(C)란에서 도구-사용자도구를 선택한다. 그리고 오른쪽 그룹과 도구 항목에서 추가(D)>> - 프로그램(P)를 선택한다.
메뉴의 도구 - 기본 설정 클릭, 기본 설정 항목의 사용자도구 선택, 그룹과 도구항목의 추가 - 프로그램

추가 버튼을 클릭한 후 메뉴제목, 명령, 인수, 디렉토리 항목을 각각 채워 넣는다.
본인의 경우 메뉴제목'C compiler'로 했다.
명령은 우측의 ...버튼을 클릭하면 파일을 선택하는 창이 뜨는데 다음의 경로(C:\Program Files\Microsoft Visual Studio 8\VC\bin)로 가서 'cl.exe'를 선택한다.
인수는 우측의 화살표 버튼을 클릭해 파일이름을 선택한다.
디렉토리도 마찬가지로 우측의 화살표 버튼을 클릭해 파일디렉토리를 선택한다.

이것으로 에디트플러스에서 C언어를 컴파일 할 수 있는 환경은 완성 된 것이다.

추가로 생성한 바이너리 파일을 실행할 수 있는 환경을 만들것이다.

컴파일 환경을 만든 것과 동일하게 그룹과 도구 항목의 추가 - 프로그램 을 선택한다.
메뉴제목에 대충 실행할 이름을 넣는다. 본인의 경우 'Run'이라고 입력하였다.
명령$(FileNameNoExt)라고 직접 입력을 한다.
인수는 공란으로 비워둔다.
디렉토리는 오른쪽의 버튼을 클릭하여 파일디렉토리를 선택한다.

이것으로 에디트 플러스에서의 C 언어 컴파일과 실행을 위한 준비는 모두 끝이 났다.
Ctrl+1을 누르면 컴파일이 될 것이고, Ctrl+2를 누르면 해당 명령이 실행될 것이다.

마지막으로 환경변수(시스템 변수)를 세팅해 주어야 한다.

'내컴퓨터-속성-고급-환경변수-시스템 변수-Path' 를 더블클릭하면, 시스템 변수 편집 창이 뜰것이다. 변수값의 마지막에 ';'를 넣은 후 'C:\Program Files\Microsoft Visual Studio 8\VC\bin;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE'를 추가로 입력하고 확인버튼을 클릭한다.

시스템 변수의 새로만들기 버튼을 클릭한 후 아래와 같이 값을 넣고 확인 버튼을 클릭한다.
변수 이름 : INCLUDE
변수 값    : C:\Program Files\Microsoft Visual Studio 8\VC\include

또 다시 시스템 변수의 새로만들기 버튼을 클릭한 후 아래와 같이 값을 넣고 확인 버튼을 클릭한다.
변수 이름 : LIB
변수 값    : C:\Program Files\Microsoft Visual Studio 8\VC\lib

이제 모든 세팅이 완료 되었다. 에디트 플러스를 재실행 한 후 간단한 테스트 프로그램을 작성해 테스트를 해보자
Ctrl+1을 눌러 컴파일을 한 모습

Ctrl+2를 눌러 프로그램을 실행한 모습니다.

2008. 5. 27. 12:03

LX800에서 이더넷 다운로드 시 리붓되는 문제



LX800을 가지고 Windows Embedded CE 6.0작업을 했었고.. 요즘도 틈틈히 작업을 하고 있는데... ^^;
계속 USB를 가지고 Nk.bin 이미지를 HDD또는 SSD에 하드카피해서 부팅하는 방식을 사용했었다.

그러다 문득.. 하드카피 말고.. eboot를 사용해 이더넷으로 다운로드를 해야할 상황이 발생해 버린것..
여기 저기 자료도 찾고, 아는 분을 통해 질문도 하고 해서 정상적으로 다운로드를 할 수 있게 되었다. 하는 도중 몇가지 팁이랄까? 그런게 있어서 일단 포스팅!!

기억력의 감퇴로.. 다음에 하면.. 해결을 하지 못할 듯 해서.. -_-;;

아... 이것도 대략 두 주 전에 했던 작업이라.. 기억이 ㄷㄷㄷ

음..
아... 이더넷으로 다운로드 할 때 문제점 중 하나가 다운로드 중 자꾸 죽는 현상이 발생했다. 리붓되고,  또 리붓되고... -_-

이에 대한 문제점은 RTL8139의 소스를 약간 손을 보는 것으로 해결을 했다. 물론.. 검색의 힘으로.. ^^;
아.. 참고로 이더넷 다운로드를 하려면.. RTL8139를 사용하는게 가장 나을 듯 하다.. 아니면.. 다른 CE Platform Builder가 제공하는 이더넷 카드를 사용하던지..
이에 대한 부분은 "..\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG" 이 부분을 참조하면 될 듯 하다. CE에서 제공하는 이더넷 드라이버들인듯...

아.. 다시 원점으로 돌아가서.. 다운로드 시 리붓되는 현상을 막기 위해서는..
"..\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\RTL8139\rtl8139.c"
에서 RTL8139GetFrame()이라는 함수를 수정해 주면 된다... 된다고 한다.. ^^;

RTL8139GetFrame()에서 다음의 부분을 찾아서 주석처리를 해주자!!
if (PacketHeader.usPacketHeader & BAD_RX_PACKET)
{
 /*   
            PRINTF (1, ("Bad RX packet [Header: 0x%x -- Length : [%d]]...\r\n",
                PacketHeader.usPacketHeader,
                PacketHeader.usPacketLength));

            // ack the interrupt so we can get interrupted again
            WRITE_PORT_USHORT(
                RTL_ISR,
                dwISR & 5 );
   
            pucRxBuffer = ExtractData(
                            pucRxBuffer,
                            sRTL8139.pucRxBuffer,
                            sRTL8139.puLastRxAddress,
                            pbData,
                            PacketHeader.usPacketLength);

            sRTL8139.dwCurrentRxOffset =
                (pucRxBuffer - sRTL8139.pucRxBuffer + 3) & ~3;

            WRITE_PORT_USHORT(
                RTL_CAPR,
                (USHORT)(sRTL8139.dwCurrentRxOffset - 0x10));

*/
            return 0x00;
}

다시 빌드하고 이더넷 다운로드를 해보면, 기존의 다운로드 중 리붓되는 현상을 보지 않아도 될 것이다.
괜히 기분이 좋아진다. ㅋ

출처 : WEEG

WEEG 사이트는 CE를 하면서 많은 도움을 받는 곳 중 하나이다. 그것두.. 한글로 되어있다 ㅋㅋ
다만... X86계열의 자료가... -_-;;


'작업장 > LX800' 카테고리의 다른 글

LX800 QVGA(320x240) 해상도 적용  (0) 2008.02.05
LX800(X86) Hive Based Registry 구성..  (0) 2007.11.22
X86 보드에서 HDD로 바로 부팅하기!  (0) 2007.11.15
2008. 4. 23. 08:11

오픈소스 C/C++ 컴파일러 Dev-C++를 설치하자



프로그래밍을 하려면 해당 언어의 '컴파일러'가 필요하다.
C/C++ 언어의 경우 리눅스에서 사용되는 GCC라든지 윈도우즈의 MS의 VS6, VS200x등이 있다. 음.. 뭐 볼랜드사의 C컴파일러도 있고.. ^^;

대부분의 컴파일러는 유료이고, 개인이 사용하기에 가격도 만만치 않다. 하여 여기 저기서 불법으로 사용하고 있는데.. 오픈소스로 제공되는 컴파일러도 상당히 좋은 것들이 많다.

지금 소개하려는 Dev-C++이 바로 그것이다.
뭐.. 다른 오픈소스 C/C++ 컴파일러도 많이 있겠지만.. 그냥 이녀석이 마음에 들어서 사용한다. ㅋ

Dev-C++을 설치하기 위해서는 설치 파일이 필요하다.
Dev-C++의 다운로드와 더 많은 정보를 원한다면 'The Dev-C++ Resource Site'를 방문하여 정보를 얻을 수 있다.

사용자 삽입 이미지

본인의 경우 'devcpp-4.9.9.2_setup.exe'버전을 다운로드 받아서 설치를 할 예정이다.

다운로드 받은 파일을 더블클릭하면 아래와 같은 설치 화면이 나온다.
사용자 삽입 이미지
설치할 언어로 한국어(Korean)을 선택하고 OK버튼을 클릭한여 다음 단계로 넘어간다.

사용자 삽입 이미지
Dev-C++를 설치하기 위해 라이센스에 동의하고 다음으로 넘어간다.

사용자 삽입 이미지
설치할 Dev-C++의 구성요소를 선택한다. 대충 디폴트의 내용으로 다음을 선택한여 넘어간다.

사용자 삽입 이미지
설치할 위치를 확인하고 설치버튼을 클릭하여 설치한다.

사용자 삽입 이미지
                                           Dev-C++ 설치 화면

사용자 삽입 이미지
설치 버튼을 클릭하고 잠깐 한눈 팔고 있으면 다음과 같은 화면이 나온다. 설치가 완료된 것이다.

사용자 삽입 이미지
마침 버튼을 클릭하면 위와 같이 몇가지 설정화면이 뜬다. 대충 다음 다음을 클릭하면 된다.

 
사용자 삽입 이미지

다음 다음을 클릭하다 보면, 마지막으로 설정이 끝남을 알리는 창이 뜬다. OK버튼을 클릭하자.

사용자 삽입 이미지
이것이 바로 Dev-C++ IDE 툴이다.

테스트나 할 겸 간단한 C 프로그램을 작성해서 컴파일/실행을 해 보자.
파일 > 새로만들기 > 소스파일을 선택하여 에디터 창을 열고 프로그램을 작성한다.

// hello.c

#include <stdio.h>

int main()
{
    printf("hello world!!\n");
   
    return 0;
}


다음은 컴파일을 해보자.
다들 사용해 보아 알겠지만, IDE환경에서는 클릭 몇번으로 쉽고 간단하게 컴파일을 할 수 있다.
사용자 삽입 이미지
위와 같이 파일을 저장하지 않은 상태에서 컴파일을 실행하면, 파일을 저장하라는 메세지 창이 뜬다.

아래와 같이 컴파일 진행이 완료되었다는 메세지 박스가 나타난다. 닫기 버튼을 클릭한다.
사용자 삽입 이미지
위에서 작성한 hello.c프로그램은 콘솔 프로그램이다. 콘솔화면에서 실행을 하도록 한다.
사용자 삽입 이미지

정상적으로 "hello world!!"라고 찍힌것을 확인 할 수 있다.
Dec-C++이 정상적으로 설치 되었으니 앞으로 열심히 프로그래밍을 하자!! ㅋ




2008. 2. 28. 16:56

Hiren's BootCD를 USB로 부팅하자!



Hiren's BootCD를 USB로 부팅하는 방법에 대해 알아보려 한다.

구구 절절 내용이 많긴 하지만.. 한 번 해보면 생각보다 간단하다.
웹 검색을 해보명 이런 저런 내용들이 자세히 나와 있는 듯 하다.
'Hiren's BootCD'홈페이지에서도 확인할 수 있다.

음.. 거두절미 하고 한번 해보자!! Hiren's BootUSB(??)만들기!!! ㅋ

먼저 'Hiren's BootCD'가 있어야 할 것이다. 이 녀석은 웹에서 검색을 해보면 쉽게 구할 수 있을 것이다.

다음은 필요한 유틸리티 몇가지를 다운로드 받도록 하자.
USB_TOOLS_SETUP_1_1.exe라는 녀석과 extract-boot-files.zip파일을 받도록 하자.
다운 받은 extract-boot-files.zip파일을 압축을 해제하고, extract-boot-file디렉토리에 Hiren's BootCD.iso파일을 이동시킨다.
사용자 삽입 이미지

그리고 나서 위의 이미지의 파란 밑줄을 그은 'Get_Boot_Files.cmd'파일을 더블클릭 하여 실행한다.
C:\USB라는 폴더가 생성되고, 그 아래 'Booting 파일'들이 생성된다.

다음은 'winimage'라는 프로그램을 이용하여 Hiren's BootCDX.iso파일을 open하여 C:\USB로 추출한다.
'winimage'는 여기에서 다운로드 받을 수 있다.
이녀석은 해보면 알겠지만 사용 방법이 너무 간단하다.
사용자 삽입 이미지

위에서 다운로드 받았던 'USB Tools Setup'을 설치하고 실행하자
사용자 삽입 이미지
시작을 클릭하면 Booting 가능한 USB가 만들어진다.

이 부팅 USB에 위에서 만들었던 'C\:USB'의 내용을 복사한다. 주의할 점음 'IO.SYS'와 'MSDOS.SYS'는 덮어쓰면 안된다. 덮어쓰게 될 경우 부팅이 안된다고 한다.

이제 USB로 부팅하는 테스트를 해보면 된다. BIOS설정에서 USB로 부팅할 수 있게 세팅을 해준뒤 부팅을 해보자!

잘 되는지?? ㅋㅋ
어쨌든 난 잘 된다~~!!!

2008. 2. 28. 16:09

"Hiren's BootCD" , OS Bootable CD and Utilities



'Hiren's BootCD'는 요즘 하는 작업들 중 'DOS'관련 유틸리티를 사용하는 것들이 종종 있어서 사용하게 된 유틸리티이다.

Dos 관련한 필수 혹은 유용한 유틸리티들의 종합이라고 해야하나? 요즘 윈도우즈 UI에 익숙한 사용자들에게는 많이 불편한 TEXT환경이지만.. 이런 저런 툴들을 사용해본 사용자라면 몇번 사용해보면 익숙해질 듯 하다.

기능으로는..
  • Partition Tools
  • Disk Clone Tools
  • Antivirus Tools
  • Recovery Tools
  • Testing Tools
  • RAM(Memory) Testing Tools
  • Hard Disk Tools
  • System Information Tools
  • MBR(Master Boot Record) Tools
  • BIOS / CMOS Tools
  • MultiMedia Tools
  • Password Tools
  • NTFS (FileSystems) Tools
  • Dos File Managers
  • Other Tools
  • Dos Tools
  • Windows Tools
의 카테고리를 가지고 그 내부에 수많은 관련 유틸리티들이 존재하고 있다.

대충 'Hiren'의 동작되는 모습은 다음과 같다.
사용자 삽입 이미지
Hiren CD를 넣고, PC를 재부팅 하면 다음과 같은 화면을 볼 수 있다.

여기서 '2. Start BootCD'를 선택하자!! '1. Boot From Hard Drive'를 선택하면 기존에 HDD에 설치된 OS로 부팅을 하게 된다.
사용자 삽입 이미지
다음으로 나오는 화면이다.
전형적인 DOS 시절의 텍스트 화면을 볼 수 있다. 필요한 유틸리티를 선택을 하면 될 것이다.

간단히 테스트 삼아... '1. Disk Partition Tools...'를 선택하면 아래와 같은 화면을 볼 수 있다.
사용자 삽입 이미지
위의 이미지처럼 다양한 Partition관련 툴들을 볼 수가 있다. 이중 자신에 맞는 툴을 선택해 사용하면 될 것이다.

더 자세한 내용들은 'Hiren's Homepage'에서 확인할 수 있다.

너무 좋은 툴들이 많지만.. 너무 많아 무얼 써야할지.. 또 뭐가 있는지 알지 못하는 현실이... 안습이다.. -_-

2008. 2. 13. 15:02

Zigbee and IEEE 802.15.4



IEEE 802.15.4데이터 전송 속도가 낮은 무선 애플리케이션의 표준으로 자리잡고 있다.
IEEE 802.15.4 PHY, IEEE 802.15.4 MAC 계층을 정의하고 있다.

TCP/IP구조와 Zigbee 구조를 비교해 본다면..기본적으로 802.15.4 PHY와 802.15.4 MAC 기반위에 TCP/IP 대신에 Zigbee Stack이라는 녀석이 놓여있다고 생각하면 될 것이다.

아래의 그림과 같이 IEEE 802.15.4의 MAC을 이용하여 다양한 기능을 부여할 수도 있고, Zigbee 모든 기능을 포함하는 기능을 원한다면 Zigbee 스택을 포함하여 사용을 하면 될 것이다.

사용자 삽입 이미지

IEEE 802.15.4는 두개의 계층으로 구성되는데, 물리계층인 PHY, 미디어 접근 계층인 MAC가 바로 그것이다.
이들 계층은 OSI 7 Layer의 참조모델 중 가장 낮은 두개의 층에 해당하며, 이 계층은 IEEE 802.15.4 LR-WPAN참조모델을 기반으로 되어있다.
사용자 삽입 이미지
IEEE 802.15.4 LR-WPAN 참조모델


IEEE 802.15.4 PHY
IEEE 802.15.4 PHY는 PHY 데이터 서비스(Data service)와 PHY 관리서비스를 지원한다.
868~868.6 MHz, 902~928MHz, 2400~2483.5MHz의 주파수 대역을 사용하고 2.4GHz 대역에서 최대 250kbps의 속도로 전송을 한다. 858MHz 대역에서는 20kbps, 915MHz대역에서는 40kbps의 전송속도를 갖는다.
그리고 PHY는 다음과 같은 서비스를 지원한다.
  • 무선영역의 활성화 및 비활성화
  • 채널 주파수의 선택(Channel frequency selection)
  • 현재 사용하는 채널의 에너지 검출(Energy Detection)
  • 노드간의 전송특성을 나타내기 위한 LQI(Link Quality Indication)사용
  • CSMA-CA를 사용하기 위한 CCA 지원
  • 데이터의 송 수신(Data transmission and reception)
PHY계층의 패킷은 PPDU(packet protocol data unit)라고 부른다.
사용자 삽입 이미지
preamble은 트랜시버에서 입력되는 메시지의 동기화에 사용된다. SoP(Start of Packet)는 패킷 데이터의 시작을 나타내고, 8bit의 PHY Header(7bit의 프레임과 reserved 1bit), PHY패킷 데이터를 운반하는 PSDU(PHY Service Data Unit)로 되어있다.

IEEE 802.15.4 MAC
IEEE 802.15.4 MAC 계층에서는 다음과 같은 것들을 관리한다.
  • Association 및 Disassociation
  • ACK 프레임 사용
  • 채널 접근 방법
  • 프레임 유효성 검사
  • GTS 사용
  • 비컨 관리
MAC은 상위계층으로 두개의 SPA를 통해 접속될 수 있는 두 가지 서비스를 제공한다. MAC 데이터 서비스는 MCPS-SAP(MAC CommonPartSublayer)를 통해 접속되며, MAC 관리서비스는 MLME-SAP(MAC Layer Management Entity)를 통해 접속된다.
이들 서비스는 SSCS나 다른 LLC와 물리계층과의 인터페이스를 제공한다.







'작업장 > Zigbee' 카테고리의 다른 글

ZigBee란..  (1) 2008.01.24
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에서 제공하는 내용이 다여서.. 그리 크게 의심이나 심각한 삽질은 안했다고 생각한다.

뭐.. 끝!!!

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