2012년 3월 28일 수요일

최근 6년간 구매한 개발 관련 서적 리스트

교보문고에서 구매한 것만...

구매일자 상품명 주문금액
 
2012-03-27 GoF의 디자인 패턴(개정판)(양장본 HardCover) ₩25,000
2012-03-21 소프트웨어 아키텍처 이론과 실제 ₩36,000
2012-03-21 소프트웨어 아키텍처 문서화 (에이콘 소프트웨어 아키텍처 시리즈 3) ₩36,000
2012-03-04 프로그래머 열정을 말하다 ₩14,000
2012-03-04 프로그래머 그 다음 이야기 (사람과 프로그래머 1) ₩14,800
2012-03-04 애자일 마스터 ₩20,000
2012-03-04 시스코 네트워킹(3RD EDITION)(후니의 쉽게 쓴)(3판)(CD1장포함) ₩32,000
2012-02-18 무선 네트워크 공격과 방어(해킹 초보를 위한) (에이콘 해킹 보안 시리즈 31) ₩20,000
2012-02-18 데이터통신과 컴퓨터 네트워킹(IT Cookbook 한빛교재 시리즈 303) ₩24,000
2012-02-18 인사이드 VMware vSphere 4(비제이퍼블릭 인사이드 시리즈 2) ₩26,000
2012-02-18 커맨드라인 활용 가이드(윈도우 시스템 관리자를 위한) ₩35,000
2012-01-07 개발자를 부탁해 ₩13,000
2012-01-07 차세대통신망의 IMS와 VOIP ₩25,000
2012-01-07 프로세서를 지탱하는 기술 ₩27,000
2011-11-20 통신생활 속이 보인다(유비쿼터스를 겨냥한) (Whats 9) ₩17,000
2011-11-20 차세대 광대역통합망의 이해 ₩28,000
2011-11-20 이동통신 입문(IT Cookbook 한빛교재 시리즈 302) ₩30,000
2011-10-29 손에 잡히는 정규 표현식 ₩14,800
2011-10-29 펄(거침없이 배우는) ₩27,000
2011-10-29 CERT C 프로그래밍(버그 없는 안전한 소프트웨어를 위한) (에이콘 해킹 보안 시리즈 25) ₩40,000
2011-10-29 안드로이드 아나토미 (개발자가 행복한 세상 플랫폼 시리즈 1) ₩40,000
2011-10-01 LTE를 통한 3G 진화(SECOND EDITION) ₩29,000
2011-10-01 3G 4G 이동통신 시스템(쉽게 설명한)(개정판) ₩35,000
2011-09-18 NHN은 이렇게 한다 소프트웨어 품질관리 ₩18,000
2011-09-18 소프트웨어 아키텍트가 알아야 할 97가지 ₩20,000
2011-09-18 데미안의 WI FI ON ₩30,000
2011-09-18 CAN LIN FlexRay를 활용한 차량용 네트워크(에이콘 임베디드 시스템 프로그 ₩40,000
2011-07-17 팀장의 역할 ₩13,000
2011-07-17 그린카 콘서트 (양장본 HardCover) ₩15,000
2011-07-17 시리얼 포트 완전정복 ₩30,000
2011-07-17 안드로이드의 모든 것 분석과 포팅 (한빛미디어 모바일 시리즈 11) ₩40,000
2010-11-27 스타트업 바이블 ₩13,000
2010-11-27 DEBUG HACKS ₩27,000
2010-11-13 허수아비춤 (양장본 HardCover) ₩12,000
2010-11-13 스티브 잡스 이야기(청소년 롤모델 시리즈 5) ₩12,000
2010-11-13 애플 VS 구글 ₩12,000
2010-11-13 고약한 문제 합당한 해결 ₩14,000
2010-11-13 안드로이드 2.2 프로그래밍(프로요)(위키북스 임베디드 모바일 시리즈 7) ₩36,000
2010-09-19 인텔스레딩 빌딩블록 ₩24,000
2010-09-04 유닉스 리눅스 프로그래밍 필수 유틸리티(개정판) ₩34,000
2010-05-30 JAVA가 보이는 그림책(개정증보판) ₩14,000
2010-05-30 성공과 실패를 결정하는 1%의 JAVA 프로그래밍 원리 ₩14,800
2010-05-30 C#이 보이는 그림책 ₩15,000
2010-05-30 멀티코어 CPU 이야기(프로그래머가 몰랐던) (BLOG2BOOK 09) ₩22,000
2010-04-25 GIT 분산 버전 관리 시스템 ₩20,000
2010-04-25 FEDORA LINUX TOOLBOX ₩22,000
2010-04-25 QT 실전 프로그래밍 ₩28,000
2010-04-25 안드로이드: 플랫폼 포팅과 활용 ₩28,000
2010-04-25 리눅스 쉘 스크립트 프로그래밍 입문(김태용의) ₩32,000
2010-04-25 TCP IP 완벽 가이드 ₩50,000
2010-04-10 통쾌한 인간관리 이야기(IT 개발자가 쓴) ₩15,000
2010-04-10 TI CORTEX-M3 펌웨어 개발 ₩25,000
2010-02-16 임베디드 리눅스 입문 ₩23,000
2010-02-16 MORE JOEL ON SOFTWARE(조엘 온 소프트웨어를 넘어서) ₩23,000
2010-02-16 EMBEDED USB INSIDE ₩25,000
2010-02-16 UML로 EMBEDDED SYSTEM 프로그래밍하기 ₩25,000
2010-02-16 ARM CORTEX-M3 완벽가이드 ₩25,000
2010-02-04 임베디드 USB 완벽 마스터 세트 (전2권) ₩59,000
2009-10-16 ADVANCED UNIX PROGRAMMING (제2판) ₩32,000
2009-10-16 MICRO C/OS-2 실시간 커널(보급판)(CD1) ₩35,000
2009-09-05 HARD CODE ₩25,000
2009-09-05 윈도우 프로젝트 필수 유틸리티 (CD1장) ₩26,000
2009-08-08 초난감 기업의 조건 ₩18,000
2009-08-08 소프트웨어 컨플릭트 2.0 (시대를 뛰어넘는 즐거운 논쟁) ₩22,000
2009-08-08 소프트웨어 크리에이티비티 2.0 (위기북스 IT LEADERS 8) ₩25,000
2009-05-31 겸손한 개발자가 만든 거만한 소프트웨어 ₩16,800
2009-05-09 WINDOWS CE 실전 가이드 ₩40,000
2009-03-29 루비(입문자를 위한) ₩18,000
2009-03-29 Programming Perl, 3/E ₩52,000
2009-03-27 언어 자료 처리를 위한 PERL ₩10,000
2009-03-06 C++ 핵심공략(꼭 알아야 할) ₩13,000
2009-03-06 MORE EFFECTIVE C++ ₩20,000
2009-03-06 맨먼스 미신 ₩24,000
2009-03-06 드리밍 인 코드 ₩25,000
2009-03-06 RAPID DEVELOPMENT 프로젝트 쾌속 개발전략 ₩28,000
2008-12-26 임베디드 리눅스 시스템 설계와 개발 ₩25,000
2008-05-24 리팩토링 ₩25,000
2008-05-24 HEAD FIRST DESIGN PATTERNS ₩28,000
2008-05-17 다이어그램으로 쉽게 배우는 UML ₩18,000
2008-05-17 HEAD FIRST OBJECT ORIENTED ANALYSIS DESIGN ₩28,000
2008-05-05 아키텍트 이야기 ₩12,000
2008-05-05 CODE CRAFT: 뛰어난 코드 작성을 위한 실천 지침 ₩28,000
2008-04-26 애자일 프랙티스 (애자일 시리즈 004) ₩18,000
2008-01-09 무선 LAN 보안 프로토콜 ₩28,000
2007-11-10 Fundamentals of Wireless Networking ₩29,000
2007-11-10 Bulletproof Wireless Security(Paperback) ₩35,000
2007-10-20 리눅스 커널 2.6 구조와 원리 ₩28,000
2006-10-14 조엘 온 소프트웨어 ₩22,000
2006-10-14 소프트웨어 블로그 베스트 29선(조엘이 엄선한) ₩22,000
2006-10-14 실용주의 프로그래머 (프로그램 프로그래밍 프로그래머 2)(양장본 HardCover) ₩25,000
₩2,265,200


내가 미쳤지...

2012년 3월 21일 수요일

H4/HCI Protocol 이란 ?

"H4"는 HCI  commnads(Bluetooth chip과 host 사이의 event와 data)를 전송하기 위해 사용되는 UART protocol을 지칭하는 용어이다.

H4는 아주 간단한 프로토콜로 Bluetooth 스펙에 정의되어 있기 때문에 Bluetooth 엔지니어가 아니라면 UART H4란 용어를 만났을 때 뒤에 붙은 "H4"를 이해할 수 없다.  H4라 불리는 이유는 Bluetooth specification의 section 번호가 H4이기 때문이다.

H2는 HCI USB Transport Layer
H3는 HCI RS232 Transport Layer
H4는 HCI UART Transport Layer

H4와 유사한 프로토콜로 CSR사의 BCSP(BlueCore Serial Protocol)등이 있으며, BCSP는 "H4" 프로토콜에 bit error checking, wakeup중 drop된 data를 처리하기 위한 재전송, flow control 등의 기능이 추가 되었다. 즉,  H4는 Bluetooth데이터를 UART로 전송하는 "표준" 방법이고, BCSP는 CSR사가 소유한 기술이다.
BCSP도 기본적으로 UART를 사용하는데, RTS/CTS(HW flow control)은 선택 사양이다.

Bluetooth 스펙의 최신 버전에는, 3-wire 프로토콜 이라고 불리는 Section H5가  추가되었는데, 따라서 이 프로토콜을 "H5"라고도 하며, H4에는 없는 bit errors, overrun errors, burst errors checking등이 추가 되어 있다. 즉, H4와 동일하게 UART를 사용하는데,  3-wire라는 이름에서 알 수 있듯이  TXD/ RXD/ GND 3선만 연결한다.   반면에 "H4" 에서는 TXD/ RXD/ RTS/ CTS/ GND를 연결한다. RTS/ CTS를 연결한다는 것은 UART의 HW flow control을 사용한다는 말씀.

HCI(Host Controller Interface) protocol은 transports 프로토콜(H4,H5, BCSP, USB...) 위에 정의되며, Bluetooth chip과 host사이의 기본적인 commands, events 와 data packets 전송을 위해 사용된다.  HCI 역시 Bluetooth 스펙(Vol 2, Part E in BT4.0)의 일부다.

예를들어 SPP(Serial Port Profile)은 Bluetooth전송을 통하여 기존의 RS-232 serial 전송을 simulation하는 Bluetooth profile이다. 이를 구현하기 위한 프로토콜 계층 구조는 아래와 같다.

RFCOMM
-------------------------
L2CAP
-------------------------
ACL                            :BT chip간 무선으로 전송될 데이터
-------------------------
HCI                             : host와 BT chip사이
-------------------------
H4 or H5 or BCSP...   : host와 BT chip사이
-------------------------
UART ...

HCI protocol을 사용하여 아래 4가지 종류의 데이터가 전달된다.
 - Command packet : host -->  Bluetooth chip . Bluetooth chip 제어용
 - Event packet : Bluetooth chip --> host. 특정 event발생 시 BT chip이 host에 알림.
 - ACL data packet :  실제 무선으로 전송될 user 데이터
 - Synchronous data packet : 무선 으로 전송될 audio data.


참고 자료
- UART HOST transport summary (구글 검색으로 쉽게 찾을 수 있음. )