Latest Post
망고 스토리4.0





Price : 24,500

 

help@crz-tech.com ( 031-701-5057)

 


Mango Story 4.0 Feature 


l  임베디드 모바일 Windows CE 시스템 프로그램 개발 실전 가이드

l  초보자도 쉽게 따라 할 수 있고 전문가의 수준까지 총 망라한 지도서

l  Windows CE 어플리케이션부터 하드웨어까지 연결을 한번에 파악할 수 있는 지름길

 

 


 

1. Windows CE Introduction & 환경 구성

 

1. Introduction

1.1. 이 책의 목적

1.2. 참고 사이트

1.3. 망고24, 망고64 보드의 활용

2. Windows XP 환경 구축 - Platform Builder 설치

2.1. 환경 구축 개요

2.2. Windows XP 환경 구축 설치 순서

2.3. 제어판 자동 업데이트 중지

2.4. 환경 설정 이전에 갖추어져야 할 업데이트들

2.5. .NET Framework 3.0 설치

2.6. Visual Studio 2005

2.6.1. Visual Studio 2005 설치

2.6.2. MSDN 설치

2.7. Windows Embedded CE 6.0 Evaluation Edition 설치

2.8. Visual Studio 2005 Service Pack 설치

2.8.1. Visual Studio 2005 Team Suite Service Pack 1

2.9. Visual Studio 2005 Extensions 설치

2.10. Windows Embedded CE 6.0 Platform Builder Service Pack 1

2.11. Windows Embedded CE 6.0 R2 설치

2.12. Windows Embedded CE 6.0 R3 설치

2.13. Windows Embedded CE 6.0 Update 설치

2.14. 설치 내용 확인

3. Windows 7 환경 구축 - Platform Builder 설치

3.1. .NET Framework 확인

3.2. Visual Studio 2005

3.2.1. Visual Studio 2005 설치

3.2.2. MSDN 설치

3.3. Visual Studio 2005 SP1

3.4. Visual Studio 2005 SP1 for Vista

3.5. Windows Embedded CE 6.0 Evaluation

3.6. Windows 7 소프트웨어 업데이트 설치

3.7. Windows Embedded CE 6.0 SP1

3.8. Windows Embedded CE 6.0 R2

3.9. Windows Embedded CE 6.0 R3

3.10. Windows Embedded CE 6.0 update package 설치

3.10.1. 업데이트 스크립트 처리 문제점 해결

3.10.2. 기타 업데이트 수행

 

2. Windows CE 6.0 Porting

 

4. 망고 64 하드웨어 구성

4.1. 망고 64 하드웨어 사양

4.2. 망고 64 부품면 (베타/릴리즈 보드)

4.3. 망고 64 보드 LCD (베타/릴리즈 보드)

4.4. 망고 64 구성도

5. 망고 64 BSP

5.1. 망고 64 보드 BSP 설치

5.1.1. BSP 파일 다운로드

5.1.2. Samsung LCD vs. Foxlink LCD - BSP 파일 비교

5.1.3. WiFi Patch 적용

5.1.4. BSP 설치 작업

5.2. Visual Studio 2005 최초 수행

5.3. Visual Studio 2005에서 Project 만들기

5.4. Catalog Item 변경하기

5.4.1. 구성 관리자 - 빌드 구성

5.4.2. Catalog Items View

5.4.3. BSP 선택

5.4.4. Core OS (CEBASE) 선택

5.4.5. Device Drivers 선택

5.5. Project build 하기

5.5.1. 프로젝트 속성 선택

5.5.2. 프로젝트 빌드 하기

5.6. 빌드 에러 대처 방법

5.6.1. error SYSGEN0000

5.6.2. Temporary File 삭제 및 바이러스 검사 프로그램 종료

5.7. CE 6.0 Image (Mango BSP) 다운로드 및 실행

5.7.1. DNW 실행 및 설정

5.7.2. NOR Mode로 부팅하기

5.7.3. Boot Loader 다운로드

5.7.4. NAND Mode로 부팅하기

5.7.5. NAND Flash NK.bin 퓨징 하기

6. 최초 프로그램 Hello Mango - 망고 64

6.1. Mango 보드 SDK 만들기

6.1.1. SDK 생성

6.1.2. SDK 구성 설정

6.1.3. SDK Build

6.2. Mango 보드 SDK 설치하기

6.3. ActiveSync 설치 및 탐색기 사용

6.4. Remote Tool - 원격 이미지 캡처

6.5. Hello Mango

6.5.1. Visual C++를 이용한 Hello Mango

6.5.2. Visual Studio 2005에서 장치 연결

6.5.3. Hello Mango 디버깅 하기

7. 망고 24 하드웨어 구성

7.1. 망고 24 하드웨어 사양

7.2. 망고 24 LCD

7.3. 망고 24 부품면

7.4. 망고 24 구성도

8. 망고 24 BSP

8.1. 망고 24 BSP 설치 전 유의 사항

8.2. 망고 24 보드 BSP 설치

8.2.1. 망고 24 BSP 파일 다운로드

8.2.2. BSP 설치 작업

8.3. Visual Studio 2005에서 Project 만들기

8.4. Catalog Item 변경하기

8.4.1. 구성 관리자 - 빌드 구성

8.4.2. BSP 선택

8.4.3. Core OS (CEBASE) 선택

8.4.4. Device Drivers 선택

8.5. Project build 하기

8.5.1. 프로젝트 속성 선택

8.5.2. 프로젝트 빌드하기

8.6. CE 6.0 Image (Mango BSP) 다운로드 및 실행

8.6.1. DNW 실행 및 설정

8.6.2. NOR Mode로 부팅하기

8.6.3. Boot Loader 다운로드

8.6.4. NAND Mode로 부팅하기

8.6.5. NAND Flash NK.bin 퓨징 하기

9. 최초 프로그램 Hello Mango - 망고 24

9.1. 망고 24 Hello Mango 진행 전 유의 사항

9.2. Mango 보드 SDK 만들기

9.2.1. SDK 생성

9.2.2. SDK Build

9.3. Mango 보드 SDK 설치하기

9.4. ActiveSync 설치 및 탐색기 사용

9.5. Remote Tool - 원격 이미지 캡처

9.6. Hello Mango

9.6.1. Visual C++를 이용한 Hello Mango

9.6.2. Visual Studio 2005에서 장치 연결

9.6.3. Hello Mango 디버깅 하기

10. Hello Mango 두 번째와 DrawText

10.1. Hello Mango 2 프로젝트 만들기

10.2. cpp 소스 코드 만들기

10.3. 프로젝트 빌드 및 실행

10.4. 소스 코드 분석

10.4.1. windows.h 헤더 파일

10.4.2. WinMain 함수 정의 & lpCmdLine

10.4.3. hInstance & hPrevInstance

10.4.4. nShowCmd

10.4.5. MessageBox 함수

10.5. Hello Mango 2 디버깅

10.6. DrawText 함수 이용 출력

10.6.1. 소스 추가 내용

10.6.2. DrawText 화면 출력 실행 결과

10.6.3. DrawText 출력 코드 분석    191

 

3. Windows CE 6.0 기초 학습

 

11. 망고 보드로 Windows CE를 다뤄보기

11.1. ActiveSync 연결

11.1.1. ActiveSync 연결 상태

11.1.2. 새 파트너 관계 창 띄우지 않기

11.2. Touch Screen Calibration (스타일러스 설정)

11.2.1. 제어판 스타일러스 실행

11.2.2. 스타일러스 두 번 누르기 설정

11.2.3. 스타일러스 보정 설정

11.3. 키보드마우스의 사용

11.3.1. Virtual 키보드 사용

11.3.2. USB 키보드/마우스 사용

12. MSDN 활용 도움말 참조하기

12.1. Visual Studio 2005 설명서 실행

12.2. MSDN 검색

12.3. 마이크로소프트 정보 사이트

13. Source Insight 프로젝트 파일 추가하기

13.1. WINCE600 부분 일부 폴더 삭제

13.2. Source Insight 프로젝트에 파일 추가

13.3. Undefined 항목 검색 및 새로운 파일 추가

13.4. Document type 추가 방법

14. EBoot만 다시 빌드하기

14.1. 일부만 빌드하기 위한 옵션

14.2. EBoot만 빌드하기

14.3. EBoot만 빌드하기에서 주의할 점

14.4. Build시에 Assembly 코드 뽑아내기

15. Visual Studio 2005 메뉴 설명

15.1. 도구 메뉴 옵션 설명

15.1.1. Multiprocessor Build 지원

15.1.2. 최대 병렬 프로젝트 빌드 수

15.2. CB6410-V01 구성 속성 중 Build Options

15.2.1. Buffer tracked events in RAM

15.2.2. Enable eboot space in memory

15.2.3. Enable event tracking during boot

15.2.4. Enable hardware-assisted debugging support

15.2.5. Enable kernel debugger

15.2.6. Enable KITL

15.2.7. Enable profiling

15.2.8. Enable ship build

15.2.9. Flush tracked events to release directory

15.2.10. Run-time image can be larger than 32 MB

15.2.11. Use xcopy instead of links to populate release directory

15.2.12. Write run-time image to flash memory

15.3. CB6410-V01 구성 속성 중 Environment Options

15.4. Build 메뉴 설명

15.4.1. Targeted Build Settings

15.4.2. Global Build Settings

15.4.3. Advanced Build Commands

15.4.4. 빌드 솔루션 & OS design

16. NK.bin NK.nb0 파일 포맷 분석

16.1. Windows CE 바이너리 이미지 데이터 포맷 개요

16.2. NK.bin NK.nb0 분석

16.2.1. Sync 바이트

16.2.2. 런타임 이미지의 시작 주소와 크기

16.2.3. 데이터 레코드

16.2.4. 마지막 레코드

16.2.5. EBoot 메뉴 - “Format Boot Media for BinFS"

17. Visual Studio Remote Tools

17.1. 개요

17.2. 시작 폴더의 Remote Tool 실행하기

17.3. 시작 폴더에 없는 Remote Tool 실행하기

17.4. 모든 툴을 사용하기 위한 기본 설정 작업

17.4.1. 빌드 옵션 변경

17.4.2. Catalog Item 변경

17.5. 각 툴에 대한 설명

17.5.1. 원격 이미지 캡처(Remote Zoom-in)

17.5.2. 원격 파일 뷰어 (Remote File Viewer)

17.5.3. 원격 힙 워커 (Remote Heap Walker)

17.5.4. 원격 감시 (Remote Spy)

17.5.5. 원격 레지스트리 편집기 (Remote Registry Editor)

17.5.6. 원격 프로세스 뷰어 (Remote Process Viewer)

17.5.7. Remote Call Profiler

17.5.8. Remote Kernel Tracker

17.5.9. Remote Performance Monitor

17.5.10. Remote System information

17.6. Visual Studio 2005에서 Remote Tool 추가하기

18. 환경 변수 (Environment Variable) OS Design 파일

18.1. _WINCEROOT

18.2. 환경 변수 확인

18.2.1. 시스템 환경 변수

18.2.2. BSP 환경 변수

18.2.3. IMG 환경 변수

18.2.4. Sysgen 변수

18.2.5. PRJ 환경 변수

18.2.6. 기타 환경 변수

18.3. OS Design Path와 파일

19. Config.bib 설정 변경 작업

19.1. Binary Image Builder 파일

19.1.1. OS Design 구성 파일

19.1.2. Binary Image Builder 구성

19.2. 현 상태 메모리 구성 파악

19.2.1. NAND, RAM 구성 (망고64)

19.2.2. config.bib 내용 (망고64)

19.2.3. image_cfg.h 내용 (망고64)

19.2.4. image_cfg.inc 내용 (망고64)

19.2.5. NAND 영역 위치 정보

19.2.6. 망고24 config.bib 내용 검토

19.3. 망고64 NK 크기 변경

19.3.1. 전체 변경 파일 및 변경 목표

19.3.2. config.bib 변경 내용

19.3.3. image_cfg.h 변경 내용

19.3.4. image_cfg.inc 변경 내용

19.3.5. 크기 변경 작업 후 주의사항

19.4. 망고24 FSRAMPERCENT 변경

19.5. 한글 폰트 제거 (망고24)

20. Nk.exe 부팅 프로세스

20.1. 전체 부팅 함수 호출 순서

20.2. KernelStart

20.3. kernel.dll NKStartup

20.4. NKStartup

20.4.1. Setting NKGLOBAL & OEMGLOBAL

20.4.2. OEMInitDebugSerial()

20.4.3. OEMWriteDebugString ((LPWSTR)NKSignon);

20.4.4. OEMInit()

21. UNICODE와 화면출력 함수들

21.1. UNICODE

21.1.1. TCHAR 정의

21.1.2. 스트링 표현

21.1.3. UNICODE 스트링 처리 함수

21.2. 화면 출력 Debug 함수들

21.2.4. OEM Debug 함수들

21.2.5.RETAILMSG, DEBUGMSG, ERRORMSG

 

4. Windows CE 6.0 Device Driver

 

22. Device Driver 기초

22.1. Windows CE 시스템 구조

22.2. 디바이스 드라이버 개요

22.2.1. Monolithic & Layered 디바이스 드라이버

22.2.2. Native & Stream interface 디바이스 드라이버

22.2.3. DDI (Device Driver Interface) 함수

22.3. 디바이스 드라이버 등록 함수

23. User Button 장치에 대한 이해

23.1. User Button 외관

23.2. User Button 회로도

23.3. S3C2443 & S3C6410 GPIO

24. Button Device Driver - 제작 및 등록

24.1. 드라이버 제작 개요

24.2. 디바이스 드라이버 폴더 생성 및 등록

24.3. 빌드 환경 파일 생성 - makefile

24.4. 빌드 환경 파일 생성 - Sources

24.5. 빌드 환경 파일 생성 - Module-Definition File

24.6. 레지스트리 등록 및 이미지에 포함하기

24.6.1. 시스템 레지스트리 등록

24.6.2. NK.bin 이미지에 포함시키기

24.7. 드라이버 소스 구현

24.7.1. DllEntry

24.7.2. BTK_Init 및 기타 함수들

24.8. 실행 결과

25. Interrupt 설정 및 처리 과정

25.1. 인터럽트 개요

25.2. ARM9, ARM11 Interrupt

25.3. Windows CE Interrupt

25.4. Interrupt 발생시의 처리과정

25.5. 인터럽트 초기화 작업

25.5.1. 부팅 후 최초 초기화 작업

25.5.2. 이벤트 생성 단계와 IRQ 등록 단계

25.5.3. Thread 생성 단계

25.6. Interrupt Service Thread (IST)

25.6.4. WaitForSingleObject

25.6.5. InterruptDone

25.6.6. OEMInterruptDone

26. Button Device Driver - Button 0 Interrupt 구현

26.1. S3Cxxxx_Button.c 구현

26.1.1. 주요 변수 내용

26.1.2. GPIO 레지스터 접근 구조체

26.1.3. BTK_Init 수정 - GPIO 포트 초기화

26.1.4. BTK_Init 수정 - 이벤트 생성 및 인터럽트 초기화

26.1.5. BTK_Init 수정 - Thread 생성

26.1.6. BTK_Init 수정 - GPIO 포트 초기화 완료

26.1.7. BTK_IST0 구현

26.2. 실행 결과

27. InterruptDone 과정과 Button Driver 완성

27.1. InterruptDone 과정

27.1.1. OEMInterruptDone 함수

27.1.2. 망고24 OALIntrDoneIrqs 함수

27.1.3. 망고64 OALIntrDoneIrqs 함수

27.2. Button 드라이버 완성

27.2.1. 망고64 수정 사항

27.2.2. 망고24 수정 사항

27.3. 망고24 부분 수정 과정

27.3.1. 버튼 2 처리 수정

27.3.2. 버튼 0 처리 수정

27.3.3. 버튼 3 처리 수정

28. Subproject MyLauncher 초기 작업

28.1. Command Shell 추가

28.1.1. Command Shell 개요

28.1.2. 카달로그 아이템 추가

28.1.3. 수행 결과

28.2. Subproject MyLauncher 만들기

28.3. MyLauncher를 바탕화면에 보이게 하기

28.3.1. MyLauncher.lnk 만들기

28.3.2. platform.bib 변경

28.3.3. platform.dat 변경

28.4. MyLauncher를 부팅 후 자동 실행

28.4.1. Dummy Shell의 개념

28.4.2. 레지스트리 수정

28.5. Task Bar 숨기기

29. MFC 이용 Launcher와 버튼 드라이버의 통신

29.1. MFC?

29.2. MFC 이용 MyLauncher 만들기

29.2.1. MyLauncher 프로젝트 생성

29.2.2. 빌드 및 실행

29.3. Button Driver MyLauncher 간의 통신

29.3.1. 버튼 드라이버에서 메시지 송신

29.3.2. 출력할 내용 String 리소스 추가

29.3.3. Dialog 편집

29.3.4. Dialog Object Member 변수 추가

29.3.5. Dialog Data Exchange (DDX)

29.3.6. 메시지 처리부 추가

29.3.7. 실행 결과

30. 3축 센서 시험 및 SMB380 디바이스 분석

30.1. SMB380 & BMA150

30.2. 화면 돌리기 시험

30.2.1. 기존 시험 확인

30.2.2. 현재 BSP에서 확인하기

30.3. 디바이스 분석

30.3.1. 망고24 SMB380 부분 하드웨어 분석

30.3.2. 망고64 SMB380 부분 하드웨어 분석

30.3.3. SMB380 장치에 대한 이해

31. 3축 센서 (SMB380) 디바이스 드라이버 분석

31.1. 디바이스 드라이버 기본 시스템 파일 분석

31.1.1. Dirs 파일

31.1.2. makefile 파일

31.1.3. sources 파일

31.1.4. smbdriver.def 파일

31.2. 레지스트리 등록 및 이미지 포함 분석

31.2.1. 시스템 레지스트리 등록

31.2.2. NK.bin 이미지에 포함시키기

31.3. 디바이스 드라이버 자료 구조

31.3.1. Image 레지스터 자료 구조 (smb380regs_t)

31.3.2. 드라이버 메인 자료 구조 (smb380_t)

31.3.3. I2C & 3축 가속 데이터 자료 구조

31.4. SMB_Init() 분석

31.4.1. 자료 구조 초기화

31.4.2. I2C 초기화 - bus_init()

31.4.3. i2c_bus_write() & i2c_bus_read()

31.4.4. Critical Section 설정

31.4.5. Chip ID & Version 읽기

31.4.6. SMB 드라이버 초기화 완료 설정

31.5. SMB_Deinit()과 나머지 DDI 함수 분석

31.5.1. SMB_Deinit()

31.5.2. 나머지 DDI 함수

31.6. 드라이버 초기화 실행 확인

32. Rotate_GSensor 응용 프로그램 만들기

32.1. Rotate_GSensor 프로젝트 빌드 후 실행

32.1.1. Rotate_GSensor 응용 프로그램 다운로드

32.1.2. Rotate_GSensor 프로젝트 만들기

32.2. SMB_IOControl() 분석

32.2.1. SMB380UserDll.cpp IO Control 호출 함수들

32.2.2. IO Control 코드 값

32.2.3. IOCTL_SMB380_INIT

32.2.4. IOCTL_SMB380_SET_RANGE

32.2.5. IOCTL_SMB380_READ_ACCEL_XYZT

32.2.6. IOCTL_SMB380_READ_REG

32.3. Rotate_GSensor 응용 프로그램 분석

32.3.1. WinMain InitGSensor 분석

32.3.2. WndProc 분석

32.3.3. GoGSensor 분석

32.3.4. PictureRotate 분석

33. Camera 보드 연결과 장치에 대한 이해

33.1. Camera 보드 연결

33.1.1. 망고 보드 버전에 따른 연결

33.1.2. 카메라 모듈 연결

33.1.3. 카메라 모듈 전원 연결

33.2. 카메라 관련 회로 분석

33.2.1. 카메라 모듈 연결 부분

33.2.2. I2C 부분

33.2.3. Camera Interface 부분 - CAM_PWRDN

33.2.4. 기타 Camera Interface 부분

33.3. HSIS-LT1SF38M 카메라 모듈

33.3.1. 카메라 모듈 기본 정보

33.3.2. NOON130PC20 CMOS Image Sensor 개요

33.3.3. NOON130PC20 CMOS Image Sensor I2C 통신

33.4. YUV, YCbCr

33.5. CCIR-601 & 656

34. Camera 어플리케이션 빌드 및 Preview 실행

34.1. Camera 어플리케이션 빌드

34.1.1. 소스 코드 위치

34.1.2. TEST 폴더 생성 및 복사

34.1.3. 카메라 어플리케이션 수정

34.1.4. 환경 변수 파일 수정

34.1.5. 카메라 어플리케이션 빌드 결과 확인

34.2. Camera Preview 수행

34.3. BSP 수정 사항

34.3.1. CB6410.bat 변경

34.3.2. 카달로그 아이템 변경

35. Camera 디바이스 드라이버 초기화 과정 분석

35.1. 디바이스 드라이버 개요

35.2. 폴더 구조 분석

35.3. 초기화 코드 CAM_Init 분석

35.3.1. CAM_Init 호출 과정 개요

35.3.2. CAM_Init 소스 코드 분석

35.3.3. MDD CCameraDevice 클래스 초기화 코드 분석

35.3.4. PDD_Init  CCameraPdd 클래스 코드 분석

35.3.5. ReadMemoryModelFromRegistry 함수 분석

35.3.6. PDD 함수 연결 메모리 복사

35.3.7. 각종 글로벌 변수 설정 작업

35.3.8. CameraInit 함수 - 개요

35.3.9. CameraInit 함수 - ModuleInit()

35.3.10. CameraInit 함수 - CameraSetClockDiv()

35.3.11. CameraInit 함수 - InitializeBuffer()

35.3.12. CameraInit 함수 - InterruptInitialize()

35.4. 초기화 코드 PIN_Init 분석

36. Camera 디바이스 드라이버 Preview 과정 분석

36.1. Camera Preview 인터럽트 처리 분석

36.1.1. CameraPreviewThread 함수 분석

36.1.2. Preview 인터럽트 처리에 대한 전체 호출 개념도

36.1.3. CCameraPdd::FillBuffer 함수 분석

36.2. Camera Run 상태 변환과 Sensor 설정 분석

36.2.1. Camera Run 상태 변환 흐름도

36.2.2. SetSensorState() 분석

36.2.3. SetSensorFormat() 분석

36.2.4. CameraSetRegisters() 분석

36.2.5. CameraSetPreviewRegister() 분석

36.2.6. CameraSetScaler() 분석

36.2.7. CameraCaptureControl() 분석

맺음말

색인

Comments 0
:    :    :
이름 / 2014-11-20 / ★★★☆☆ [수정 / 삭제]

내용

New Products +more
Mango-M32F2 Main Board
USB to RS485 4Port Board [ CR-U2R4]