레이블이 wince s3c2443인 게시물을 표시합니다. 모든 게시물 표시
레이블이 wince s3c2443인 게시물을 표시합니다. 모든 게시물 표시

2010년 8월 13일 금요일

망고보드,망고스토리 시리즈

망고 보드 , 망고 스토리|▶ Crazy Works
전체공개2010.08.13 19:14|수정|삭제

현재까지 공구중인 망고보드와 망고스토리를 정리해 보았습니다.


처음 시초인 젤리보드로 시작하여 현재 공구 중인 보드입니다.

ARM9부터 Cortex시리즈까지 있네요.



점점 더 재미있는 것을 해 봐야 겠습니다.


저희 망고보드로 재밌는 걸을 하고 계신 분은 인증 샷 찍어서 올려주세요.


2009년 3월 3일 화요일

[Mango Story - WINCE #2-2] BSP 설치

[Mango Story - WINCE #2-2] BSP 설치
§ MANGO Story 2009.01.04 22:54 다바꼬꼬(dechoi96) 카페 스탭
http://cafe.naver.com/embeddedcrazyboys/1217

2.2 BSP 설치
Windows CE 플랫폼 빌더를 설치하면 아래와 같이 _PLATFORMROOT(WINCE가 설치된 디렉터리 하위의 Platform 디렉터리, 예들들어 C:\WINCE500\PLATFORM)에 설치된 BSP를 볼 수 있다. 망고보드(S3C2443) BSP 개발을 위해선 설치 시 "ARMV4I"를 선택해 주어야 하는데 이때 설치되는 BSP는 SMDK2410이다. 망고보드의 BSP는 SMDK2443 BSP에 기반을 두고 있고, SMDK2443은 SMDK2410 BSP를 필요로 한다.
망고 보드 용 Windows CE BSP 설치 파일(CB2443.msi)을 실행하고 다음 화면에서 "Next" 를 클릭
다음 화면에서 "Install" 을 클릭하면 설치가 진행된다.
설치 진행 후 "Finish"를 클릭하면 설치가 완료된다.
망고 보드 용 Windows CE BSP는 _PLATFORMROOT(C:\WINCE500\PLATFORM) 아래의 CB2443이란 디렉토리에 설치된다.
그리고 PBWORKSPACEROOT(C:\WINCE500\Pbworkspaces\CB2443)에 CB2443.pbxml 파일이 설치된다.
만 약 망고 보드 용 BSP를 압축 파일로 받았다면 압축을 풀어 _PLATFORMROOT(C:\WINCE500\PLATFORM) 아래에 복사하고 _WINCEROOT(C:\WINCE500) 아래에 Pbworkspaces\CB2443 디렉토리를 생성한 다음 CB2443.pbxml 파일을 여기에 복사해야 한다.
이제, BSP를 설치했으니 플랫폼 빌더를 실행하여 Windows CE 이미지를 만들어 보도록 한다.
PBWORKSPACEROOT(C:\WINCE500\Pbworkspaces\CB2443)에 가서 CB2443.pbxml를 더블 클릭하면 아래와 같이 플랫폼 빌더가 뜬다.
Catalog (CB2443.cec) 파일이 제대로 설치되었는지 확인하기 위해 "File->Manage Catalog Items..."를 클릭하고 아래 화면에서 CB2443.cec 파일을 찾아 본다. Catalog 파일은 소프트웨어 컴포넌트들의 구성 요소를 정의하는데, 망고 보드 용 Catalog 파일에는 S3C2443에 추가된 드라이버 등의 컴포넌트에 대한 정보가 정의되어 있다. 따라서, 망고 보드 용 Windows CE 이미지를 빌드하기 위해선 Catalog(CB2443.cec) 파일이 반드시 임포트(Import)되어야 한다.
BSP 를 설치할 때 Catalog 파일이 자동 등록되지만 임포트되지 않았거나, 압축 파일로 배포된 BSP를 풀어서 복사한 경우엔 다음과 같이 Catalog 파일을 임포트해야 한다. "File->Manage Catalog Items..." 클릭 후, "Import..." 클릭하고 C:\WINCE500\PLATFORM\Cb2443\CB2443.cec 파일을 선택한다.

Catalog 파일이 임포트 되었으면 아래와 같이 Catalog 창에서 확인할 수 있다.

[Mango Story - WINCE #2-3] Windows CE 이미지 만들기
§ MANGO Story 2009.01.08 01:10 다바꼬꼬(dechoi96) 카페 스탭
http://cafe.naver.com/embeddedcrazyboys/1244

2.3 Windows CE 이미지 만들기
플랫폼 빌더와 타겟 보드용 BSP 설치가 끝났으면 Windows CE 이미지를 빌드해 보도록 한다.
PBWORKSPACEROOT(C:\WINCE500 \Pbworkspaces\CB2443)에 가서 CB2443.pbxml를 더블 클릭하여 플랫폼 빌더를 실행시킨 후, 메뉴의 "Build OS->Sysgen"을 클릭하면 빌드가 시작된다.
Sysgen은 시스템마다 차이가 있지만 대개 10여분 내외가 걸린다. 빌드 도중에는 아래와 같이 로그창에 진행 메시지가 나오고 하단에 아이콘이 표시된다.
빌 드가 완료되면 아래와 같이 로그창에 완료 메시지가 나온다. 몇 가지 warning이 나오기도 하는데 대부분 무시해도 된다. 빌드가 완료되면 _FLATRELEASEDIR(C:\WINCE500\PBWorkspaces\CB2443\RelDir \CB2443_ARMV4I_Release) 디렉토리 아래에 다음의 바이너리들이 생성된다.
Step loader: STEPLDR.bin, STEPLDR.nb0
EBOOT: EBOOT.bin, EBOOT.nb0
WINCE Image(NK): NK.bin, NK.nb0

wince에서 현재 로드된 driver 항목을 볼수 있는 방법이 있나요?
? OS Q&A 2009.01.11 15:54 낚시가까(yjh7221) 골드 멤버
http://cafe.naver.com/embeddedcrazyboys/1264

현재 망고보드에 (s3c2443) battery driver 추가 햇는데 정상 동자하는 지 알수 있는 방법이 있을까요?
드라이버가 정상정으로 올려지면 Wince의 Windows\regedit 파일에서
HKEY_LOCAL_MACHINE \ Driver\BuiltIn에서 Battery이라는 항목이 있는데
현재 드라이버가 로드 된건가요?
retial, debug 메세지 제외

다바꼬꼬(dechoi96) 카페 스탭
http://cafe.naver.com/embeddedcrazyboys/1265

HKEY_LOCAL_MACHINE\Driver\BuiltIn 아래에 있는 드라이버들은 장치관리자(Device.exe)에 의해 부팅할 때 로딩됩니다. 실제 로딩된 드라이버들은 HKEY_LOCAL_MACHINE\Driver\Active 에서 찾아보시면 될겁니다.

그리고 망고보드에서 ActiveSync가 되니 Platform Builder에서 "Tools -> Remote System Information" 을 실행해서 확인해도 됩니다.


[Mango Story - WINCE #1]Windows CE 개요

[Mango Story - WINCE #1] Windows CE 개요
§ MANGO Story 2008.12.18 20:37 다바꼬꼬(dechoi96) 카페 스탭
http://cafe.naver.com/embeddedcrazyboys/1107

오늘은 WINCE 역사와 버젼 등에 대해 정리했습니다

중요한 내용은 아니고 WINCE가 어떤 건지 간략히 정리해 본 것이니 가벼운 마음으로 읽어 보세요.

1. Windows CE 개요

Windows CE 개요
Windows Embedded CE(Windows CE의 공식 명칭, WINCE라고 줄여서 사용하는 경우가 많다)는 마이크로소프트 윈도우 운용체계에 기반을 두고 있지만, 소형 장치에 내장하기 위한 목적으로 개발된 임베디드 시스템 용 운영체제이다. CE가 무슨 뜻인가에 대해 말들이 많고 많은 사람들이 "Consumer Electronics" 또는 "Compact Edition"으로 알고있지만, 마이크로소프트사는 “Compact, Connectable, Compatible, Companion, and Efficient." 란 의미를 내포한다고 얘기한다. Windows CE는 Windows API의 적용 범위를 Windows XP 커널을 올릴 수 없는 임베디드 장비 시장까지 확장하기 위해 새롭게 설계된 운영체제이다. Windows CE는 GUI(Graphic User Interface)를 제공하는 소형, 경량의 멀티쓰레드 운영체제로서 작은 크기, WIN32 API 호환(부분적인 제약이 있지만), 다양한 플랫폼 지원 등의 강점이 있다. 또한, 시스템을 구성하는 다양한 소프트웨어를 700여개의 컴포넌트로 나눠서 응용 분야에 따라 필요한 구성 요소들을 조합하여 최적화된 임베디드 시스템 소프트웨어를 제작할 수 있도록 하고 있다.
Windows CE가 기본으로 지원하는 프로세서는 다음과 같다.
  • x86
  • MIPS
  • SH4
  • ARM
위 프로세서를 대상으로 하여 Windows CE가 타겟으로 하는 제품군은 아래와 같지만, 이외에도 약간의(?) 노력을 더하면 보다 다양한 플랫폼에 적용할 수 있다.
  • 휴대용 미디어 플레이어(PMP)
  • 휴대용 GPS 장치(PND) / Car navigation
  • PDA
  • 스마트 폰
  • VoIP 전화
  • 네트워크 디지털 TV
  • 셋톱박스
  • 의료장비, 각종 산업용 디바이스
다음 표는 WINCE 각 버젼 별 히스토리를 간략히 정리한 것이다.
개발 툴
Platform Builder
플 랫폼(BSP + 커널)을 빌드하고 디바이스 드라이버를 개발하기 위해 필요하다. 따라서 WINCE BSP 개발이 목적인 경우 반드시 필요한 툴이다. 여기서는 WINCE 5.0을 기반으로 작업하기 때문에 Platform Builder 5.0을 사용한다.
BSP는 "Board Support Package"의 약자로, 타겟 보드에 종속적인 부분을 하나의 패키지로 만들어 그 보드에 맞는 WinCE를 개발할 수 있도록 한 것이다.
Visual Studio
WINCE 응용프로그래을 개발하기 위한 툴이다. 특히, WINCE 6.0 부터는 eVC4.0으로 개발이 불가능하기 때문에 Visual Studio 2005를 사용해야 한다. WINCE 5.0이나 6.0의 응용프로그램은 Visual Studio 2005에서 개발 가능하다.
Embedded Visual C++(eVC)
WINCE 응용프로그래을 개발하기 위한 툴인데, WINCE 5.0을 위해선 eVC4.0을 사용해야 한다. 이전 버전은 닷넷(.net)을 지원하지 않기 때문에 사용할 수 없다. eVC4.0도 WINCE 6.0 응용프로그램 개발에선 사용할 수 없다.
Windows Mobile
Windows CE와 함께 마이크로소프트의 임베디드 운영체제로 자주 거론되는 게 Windows Mobile이다. 간단히 말하면 Windows Mobile은 Windows CE를 특정 플랫폼에 특화시킨 버젼으로 보면 된다. Windows CE는 크게 두 부류의 고객에게 제공된다고 보면 되는데 첫번째가 일반적인 임베디드 시스템 개발 업체이고 다른 하나는 마이크로소프트사 내부의 또 다른 개발 조직이다. 마이크로소프트사 내부에는 Windows Mobile 팀이 별도로 존재하며 이들이 Windows CE 커널을 기초로 특정 플랫폼을 타겟으로 한 고정된 운영체제를 제공하고 있다. 이렇게 해서 Windows Mobile은 타겟 제품군을 기준으로 Pocket PC, Smartphone, Portable Media Center, Automotives 등의 Edition을 제공하고 있다. Windows CE는 사용자가 운영체제를 구성하는 컴포너트를 자신의 목적에 맞게 자유롭게 구성할 수 있으나 Windows Mobile의 경우 각각의 Edition에 대해 MS에서 정하는 표준이나 규칙을 엄격히 따르도록 하고 있다. Windows Mobile은 Windows CE와 개발 환경과 라이센스 방식이 다르고 상품화를 위해선 마이크로소프트사의 인증을 통과해야만 한다.
Windows Mobile이란 배너는 2003년 부터 공식적으로 사용되었고 그 이전은 Pocket PC 2000, Pocket PC 2002, Smartphone 2002 등의 버젼이 있었다. Windows Mobile 2003 부터 아래 테이블에 간단히 정리해 봤다.
현재 발표된 최신 버젼은 2008년 4월의 Windows Mobile 6.1 이다.


[Mango Story - WinCE #0] WINCE 출발

[Mango Story - WINCE #0] WINCE 출발
§ MANGO Story 2008.12.16 16:38 다바꼬꼬(dechoi96) 카페 스탭
http://cafe.naver.com/embeddedcrazyboys/1075

0. Windows CE 출발
0.1 Windows CE 초기 화면
망고 보드는 출하시 NAND 플래시로 부팅하도록 셋팅되어 있는데, Windows CE(이하 WINCE)를 부팅시키면 아래와 같은 초기 화면이 나온다.
WINCE 초기 화면과 사용자 인터페이스는 여타의 마이크로소프트 제품들과 유사하니 잠시 사용해 보면 금방 친숙해질 것이다.
위 화면에서 "내 장치"를 클릭해 보면 아래와 같이 탐색기가 뜬다. 탐색기(Explorer) 기능은 윈도우즈 환경과 거의 동일하니 금방 익숙해 질 것이다.
일단 초기 화면 확인했으니 WINCE가 어떻게 생겼는지 느낌이 왔다고 보고 다음으로 넘어간다.
0.2 개발 준비

타겟 보드 : 망고 보드 MANGO-S3C2443
호스트 피씨 : Windows XP 추천함
호 스트 피씨는 WINCE BSP와 응용 프로그램을 만들고 타겟 보드와 연결하여 다운로드 및 테스트를 진행하기 위해 필요하며 데스트탑이나 노트북 어느 것이든 상관없다. 다만, 운영체제는 MS Windows XP를 권장한다. 현재 대부분의 신규 피씨에 Windows Vista가 기본으로 제공되지만, Vista에선 WINCE 개발 툴(Platform Builder)을 돌리는데 문제가 많고 현재까지 신뢰할 수 있는 방법도 제시되지 않고 있다. 또한, Vista에선 삼성의 USB 드라이버도 제대로 동작하지 않아 현재로선 사실상 사용할 수 없다. Windows 98, Windows 2000 또는 ME 등은 논외로 할까 한다.
DC 어댑터 : DC 5V
시리얼 케이블 : RS232 케이블 또는 USB-to-Serial 케이블
다운로드 및 디버깅 메시지를 위해 필요하다.
피씨에 COM 포트가 있으면 RS232 시리얼 케이블을 연결하면 된다. 요즘 대부분의 노크북과 피씨에는 COM 포트가 없는 경우가 많은데 이때는 USB-to-Serial 케이블을 이용하면 된다.
USB 케이블
타 겟 보드와 피씨를 연결하여 호스트 피씨에서 빌드한 이미지를 다운로드하고 디버깅하기 위해 사용되는데, 호스트 피씨쪽은 USB-A 타입(키보드나 마우스, USB 허브등에 쓰이는 Standard A type)이고 망고 보드 쪽은 Mini-B(이동 장치에 많이 쓰이는 5 핀 커넥터) 타입의 커넥터로 되어있는 케이블(보통 USB2.0 A-B 케이블 이라고도 한다)이 필요하다. 아래 그림을 참조하면 쉽게 이해가 될 것이다.