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

  1. 2008.01.30 시리얼 통신 프로그램 2
  2. 2008.01.24 ZigBee란.. 1
  3. 2008.01.15 Cygwin설치 4
  4. 2007.11.28 SSD(SST55VD020) 펌웨어 업그레이드
  5. 2007.11.22 LX800(X86) Hive Based Registry 구성..
  6. 2007.11.15 X86 보드에서 HDD로 바로 부팅하기!

시리얼 통신 프로그램



얼마 전 '거리측정 초음파 센서'로 작업을 할 때 테스트 용으로 사용했었던 시리얼 통신 프로그램이다.

당시 초음파 센서로 특정 명령을 HEX 값으로 날리는 작업이 필요했었는데.. 웹에서 구하는 다른 프로그램들은 대부분(사실 내가 찾았던 것들은 모두가...) ASCII 로만 값을 날리는 것들 뿐이었다.

그러던 도중 'Commaster'이라는 통신 프로그램을 구하게 되었다.

꽤나 단순한 작업을 할 수 있는 프로그램이었고,  ASCII값이나 HEX값을 모두 날릴수 있도록 지원이 되어서 테스트를 진행 할 수있었다.

사용자 삽입 이미지
시리얼 통신 프로그램 commaster

누가 만들었는지는 몰라도 그땐 정말 고마웠다. ㅎㅎ
"감사히 잘 썼습니다!!!!"
이렇게 감사의 인사라도 해야하는 것이 예의일거 같아서..

일단 다른 사람들도 필요할 때 사용할 수 있으면 좋을 것 같아서 파일을 올린다.

만약 '저작권'(?)같은것 때문에 문제가 된다면 얘기해주시길...

2008. 1. 24. 16:07

ZigBee란..



ZigBee 란...

ZigBeeIEEE 802.15.4 기반으로 저전력과 저가격을 목표하는 저속 근거리 개인 무선통신의 국제 표준 스펙이다. ZigBee 는 전력소모가 적고 칩 가격이 저렴하고 통신의 안정성이 높아 최근 가장 급속한 발전을 하고 있는 기술이다.

ZigBee 는 IEEE 802.15.4 표준의 물리 PHY 와 매체접근제어 MAC 계층 위에 그 상위계층으로 네트워크(NWK)계층, 응용지원(APS)계층과 보안(Security) 및 응용(APL)을 규격화하였다. ZigBee 의 물리 PHY 계층은 간단한 구조이며, MAC 계층은 전력소비를 최소화 할 수 있도록 연구되었다. ZigBee 는 원격제어, 원격관리, 원격모니터링에 적합하고 가정자동화, 공장자동화, 산업자동화에 활발하게 적용될 전망이다.
  •  PHY: Physical
  •  MAC: Medium Access Control
  •  APS: Application Service
  •  APL: Application Layer

ZigBee 통신의 가장 중요한 특징이 무엇일까?

배터리 하나로 수년을 견딜 수 있고 시스템 구조가 간결하여 8 비트 마이컴으로 구현이 가능하다. 물론 무선의 장점인 설치비용이 많이 드는 백본이나 인프라가 필요 없어 설치나 관리가 쉽다.
국내의 u-IT839 전략과 더불어 홈 오토메이션과 유비쿼터스 센서네트워크 환경 구축에 중추적 역할을 담당할 신 기술로 전망된다.
ZigBee 는 모든 기능을 가진 팔방미인이 아니라 오직 무선감지와 제어 및 모니터링만을 강조한 무선통신스펙으로 볼 수 있다. ZigBee 는 반경 75m 정도의 근거리에서 27 개의 주파수 중에 하나를 선택하여 저속인 250 Kbps 로 데이터를 전송하며 최대 65,536 개 네트워크를 연결할 수 있다. 기본적인 Star 네트워크 형태나 P2P(Peer-to-Peer)네트워크 형태는 당연히 지원되고, ZigBee 와 유사한 다른 무선 표준들이 지원하지 못하는 Mesh 네트워크 형태를 지원해서 복잡한 네트워크형성도 가능하다. 그리고 ZigBee 표준을 따른 여러 가지 ZigBee 기기를 상호운용 할 수 있는 센서네트워크에 적합한 신기술로 전망된다.

이와 같은  ZigBee 특징들을 나열해보자.
  • 무선통신(Wireless)
  • 근거리 통신(75m)
  • 저속통신(최대 250Kbps)
  • 국제표준기반(ZigBee 연합)
  • 저가격(하나의 가격이 $1 미만)
  • 저전력(배터리 하나로 수년 지속)
  • ZigBee 는 IEEE 무선표준 중에서 전력소모가 최소
  • 프로토콜 구조가 단순함
  • 쉽게 설치 및 설정
  • 시스템 제작 및 구성비용이 적게듬
  • 안정성 보장
  • 보안성 보장
  • 대량노드를 지원함
  • 많은 네트워크 노드를 수용함
  • 광범위하게 센서네트워크 설치가능
  • Mesh 네트워크 형태 지원
  • Mesh 네트워크 형태에서 자기치료기능
  • 최적적용조건: 가끔씩 저속 전송하는 경우
  • 초기 칩 동작에는 30mA 정도의 낮은 전력
  • 주파수는 2.4GHz, 868MHz, 915MHz
  • IEEE 802.15.4 의 PHY 와 MAC 계층 위에 NWK 와 APS 계층으로 구성
  • ZigBee 기기는 전기능기기(FFD)와 축소기능기기(RFD)로 나눔
  • 무선 감지와 제어 분야에서 많이 활용될 전망
ZigBee 는 여러 가지 기능을 가진 팔방 미인 격인 Bluetooth 와는 대조적으로 오직 원격 감지, 감시, 제어, 모니터링의 응용에 초점을 맞추고 가격을 최대한 낮추고, 전력소모를 최소화 하는 방향으로 설계되었다. ZigBee 는 저전력을 위한 여러 가지 기술들을 제공하고 있다. 기기를 사용하지 않을 때는 쉽게 휴면 상태에
들어갈 수 있고, 필요한 경우 빠르게 깨어나 네트워크에 연결된다. ZigBee 는 표준화된 규격이어서 자료제공이 원활하며 설계하기 쉽고, 따라서 개발기간도 단축할 수 있고, 개발비용 역시 다른 표준보다 적게 요구되고 네트워크의 형태도 다양할 뿐만 아니라 최대 6 만개 이상을 연결할 수 있다.

ZigBee 네트워크는 Mesh 망이 지원되어 두루 넓게 센서노드를 설치하는 경우에 적합하다. 현재로서는 이 같은 특징을 갖는 유일한 솔루션이다. ZigBee 계층구조는 다음 그림처럼 IEEE 802.15.4 는 물리 계층인 PHY 계층과 데이터의 충돌방지 기술이 적용된 MAC 계층으로 구성된다. 이들 계층 위에 ZigBee 는 네트워크(NWK) 계층과 응용지원(APS)계층을 추가하였다.

사용자 삽입 이미지
IEEE 802.15.4 와 ZigBee의 계층구조

참고 : 네이버 Zigbee 카페

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

Zigbee and IEEE 802.15.4  (0) 2008.02.13
2008. 1. 15. 12:58

Cygwin설치



갑작스레 바쁜 일정땜에 정신없이 한주 반을 보내버렸다...

기존에 했던 작업들에 대해서 몇가지 포스트를 남기려.. 기억력의 감퇴로... 나중에 비슷한 작업을 할 때 참고할 자료를 남겨두어야 할 것 같아서.. ㅡㅡ;

Zigbee로 작업을 하면서 Windows에서 Linux환경을 구축하기 위해서 Cygwin이라는 녀석을 설치해보았다.
Nano Q-plus를 사용하게 되었는데.. 페도라에서 몇몇가지 라이브러리와 환경등등으로 컴파일이나 실행이 정상적으로 이루어지지 않아.. 부득이하게..

먼저 cygwin을 설치하기 위해 설치파일이 필요하다.
이는 cygwin홈페이지(http://www.cygwin.com) 이는 이라는 곳에서 구할 수 있다.
사용자 삽입 이미지
cygwin 홈페이지

실행파일(setup.exe)을 실행하면 다음과 같은 화면을 볼 수 있다.
사용자 삽입 이미지

대부분의 Windows 설치 프로그램이 그러하듯 대충 다음을 클릭해주면 된다.

다음을 클릭한 후 Install from Internet를 선택한다. 또 다음을 클릭...
cygwin의 설치 파일은 단지 설치 파일일 뿐이다. 실제로 설치되는 것들은 포함되지 않고, 네트웍으로 설치하는 것이므로, 아래와 같은 설정들이 있는 것이다. 홈페이지에서 각각에 해당하는 ftp사이트들을 보게되면 상당히 많은양의 파일들이 있음을 알수 있다.
사용자 삽입 이미지

다음은 cygwin이 설치될 루트디렉토리를 설정한다. 일반적으로 c:\cygwin을 하게된다. 고민하지 말고 그냥 하면 된다. 전문가가 아니라 잘 모르겠다 싶으면 RECOMMENDED를 선택하는게 젤 좋은 방법이 아닐까?

다음은 설치에 필요한 다운로드 파일을 저장할 디렉토리를 선택하는 것이다. 대충 알아서 경로를 지정하면 된다.
사용자 삽입 이미지

다음은 인터넷에 접속을 하는 방법이다. 알아서 대충 설정하면 된다. 전에 설치할 땐 Direct Connection을 했었는데.. 이번엔 Use IE5 Setting로 해봐야 겄다. ㅋ
사용자 삽입 이미지

cygwin 소스를 다운로드 할 미러 사이트를 선택하는 곳이다. 국내 미러를 선택하는것이 빠를 것이다.
ftp://ftp.kaist.ac.kr을 선택한다.
사용자 삽입 이미지

필요한 패키지를 선택하는 일이 남았다.
물론 잘 모른다면, all을 선택하여 설정을 해주면 될테지만.. 용량이 장난이 아닐 것이다.
여태껏 all을 선택했었다.. 그래서 안다 ㅋㅋ
여기 저기 자료를 찾아본 결과 Nano Q-plus에서는 Base, Devel, Editors, Libs, Text, X11 의 6개의 패키지를 Install로 설정하고 나머지는 Default로 설치하면 된다고 한다.
사용자 삽입 이미지

이제 설치가 시작 된다...
이런 모습으로 꽤 오랜 시간을 기다려야 한다. 커피나 한 잔 하고 오면 될 것이다 ㅋ
사용자 삽입 이미지

살치가 완료 된 후 마침 버튼을 클릭함으로 설치 끝!!!

2007. 11. 28. 11:29

SSD(SST55VD020) 펌웨어 업그레이드



현재 작업중인 SSD보드 관련 'SST55VD020 chip'의 펌웨어 업그레이드 방법이다.

SST55VD020은 HDD를 SSD로 대체할 목적으로 사용하고 있다. 관련 정보는 'SST 사이트'에서 확인할 수 있다.

최근 펌웨어 업데이트는 2007년 09월 20일에 릴리즈 되었고 그 업데이트 자료를 기반으로 작성한다.
이 버전에 있는 내용(파일)은 'VD092007.EXE'파일과 간단한 'Read'파일이 있다.

이녀석은 참고 파일...

대략 따라하기 식의 간단한 정리를 한다.

준비물..
1. DOS용 floppy disk.(이 펌웨어 업그레이드는 도스 부팅 후 이루어 진다.)
2. VD092007.EXE (펌웨어 업그레이드 파일, 이녀석을 DOS용 floppy disk에 복사해 넣는다.)
3. IDE 인터페이스를 가지고 있는 SSD 보드.

펌웨어 업그레이드 방법..
1. SSD 보드를 IDE 케이블을 이용하여 사용할 기계에 장착한다.
2. DOS로 부팅을 한다.(floppy disk를 이용, USB에 DOS이미지를 넣어 부팅해도 무관)
3. DOS에 복사한 VD092007파일을 실행한다. filename는 임의로 32자의 암호를 정해넣은 text파일이다.
   'VD092007'은 명령, '4'는 업그레이드할 녀석이 ATA Primary Master Mode, 'N'은 옵션, filename'은
   임의의 32자로 작성해 넣은 password이다.

C:> VD092007 4 Nfilename

4. DOS화면에서 대충 업데이트되는거 보이면서 마지막에 info정보가 보이면 펌웨어 업데이트 성공!!

이제는 HDD처럼 사용할 수가 있다.
X86보드에서 SSD로 Windows Embedded CE를 부팅하고자 하면 '이 문서'를 참조하면 될 듯 하다.
 

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. 11. 15. 19:59

X86 보드에서 HDD로 바로 부팅하기!



현재 LX800(x86)보드로 Windows Embedded CE 6.0 포팅 작업을 진행하고 있다.
지금까지 했던 작업들은 죄다 USB를 이용하여 DOS로 부팅하고, loadcepc를 이용해 NK.bin을 올려 CE를 부팅하는 형식이었다.

이 방식(loadcepc)을 사용할 경우 정상적으로 이미지가 올라가기는 하지만 해본사람들은 알것이다. 이미지를 올리는데 걸리는 엄청난 시간의 압박을... ㅡㅡ;

디버깅 모드로 빌드한 NK.bin(30~40M)의 이미지를 위의 방법으로 올리는데 걸리는 시간은 총 2~3분 이상이 걸린다. 같은 이미지로 HDD로 바로 부팅한 결과 대략 40초 정도의 시간이 걸리는 것을 확인했다.
엄청난 수확이 아닐 수 없다.

방법은 의외로 간단했다.

항상 CE작업을 하면서 도움을 받는 WEEG사이트의 이 문서를 참고로 해서 진행을 했다.

필요한 유틸리티는 'andro78'님이 올려주신 UTILITIES, DISKIMAGES이다.

사용법은 다음과 같다.

1. UTILITIES.zip와 DISKIMAGES.zip파일의 압축을 해제한다.
2. UTILIEIES폴더의 websetup.exe를 실행한다.
3. DISKIMAGES폴더의 setupdisk.144를 실행한다. 이것은 부팅디스켓(floppy)을 만   들어주는 작업이다.
4. X86 보드에 HDD를 연결하고, floppy로 부팅을 한다.
5. A:> fdisk/mbr
6. A:> fdisk 를 이용해 HDD의 파티션을 없앤 후 새로운 파티션을 만든다.
7. 재부팅 후 A:> fatmat c:를 하여 포맷을 한다.
8. A:> mkdisk c: 를 실행한다. (mkdisk하기전에 파티션이 activate가 되어있어야 한다!!!)

이로서 HDD로 부팅하는 환경을 갖춘것이다.

부팅디스크를 빼고 HDD로 부팅을 했을 시 검정화면에 WINDOWS CE 로고가 보이면 성공한 것이다.

 HDD에 Window CE 6.0 NK.bin 이미지를 넣고 부팅을 하게되면 Windows CE가 부팅하게 된다.