Top

Something in USB [개발자를 위한 USB 버스 완벽 가이드]

  • 지은이이봉석
  • ISBN : 9791161755175
  • 50,000원
  • 2021년 05월 14일 펴냄
  • 페이퍼백 | 1,140쪽 | 188*235mm

책 소개

요약

USB 스펙을 개발자 관점에서 자세하게 설명한다. USB 버스를 제대로 이해하고 싶은 개발자와 하드웨어 엔지니어들이 실무에서 궁금해 하는 내용을 포함하고 있다. 특히 오랜 시간 개발자의 길을 걸어온 저자의 코멘트와 직관력이 포함돼 USB 버스를 이해하는 데 좋은 길잡이가 될 것이다.

이 책에서 다루는 내용

■ USB 버스의 통신 속도별 특징
■ USB 링크
■ USB 프로토콜
■ USB Type-C와 허브 전원관리
■ USB 디바이스 프레임워크
■ 윈도우 호스트/슬레이브 USB 시스템
■ 리눅스 호스트/슬레이브 USB 시스템
■ 임베디드 운영체제 슬레이브 USB 시스템

이 책의 대상 독자

■ USB 버스에 관심이 있는 프로그래머
■ USB 버스를 다루는 하드웨어 개발자
■ USB 버스를 공부하고 싶은 학생
■ USB 버스를 위한 디바이스 드라이버(펌웨어) 개발자

이 책의 구성

1장. ‘USB(Universal Serial Bus)’에서는 2장부터 8장까지 다룰 모든 내용을 압축해서 설명한다.
2장. ‘USB 2.0 vs USB 3.0’에서는 USB 2.0과 USB 3.0의 주요 특징을 설명한다.
3장. ‘USB 통신속도별 특징’에서는 Low Speed, Full Speed, High Speed, Super Speed의 차이를 각각 설명한다.
4장. ‘USB 링크’에서는 Super Speed에서 처음 소개되는 USB 링크와 관련된 프로토콜을 설명한다.
5장. ‘USB 프로토콜’은 USB 프로토콜에 대한 내용을 심화적으로 설명한다.
6장. ‘USB 전원관리’에서는 TYPE-C 전원관리를 포함해 USB 전원관리 프로토콜을 소개한다.
7장. ‘허브’에서는 USB 2.0, 3.0 허브의 구조와 역할을 설명한다.
8장. ‘USB 디바이스 프레임워크’에서는 USB 호스트측의 클래스(클라이언트) 드라이버와 USB 디바이스측의 펑션 드라이버를 개발하는 개발자가 알아야 하는 프레임워크를 설명한다.
9장. ‘MA USB’에서는 가상 USB 버스를 구현하는 기반으로 사용되는 대표적인 프로토콜인 MA USB를 설명한다. 이 장을 통해 2장부터 8장까지 공부한 내용을 어떻게 가상화할 것인지를 함께 논의해본다.
10장. ‘xHCI’에서는 USB 호스트측에서 요구하는 호스트 컨트롤러를 위한 xHCI 스펙을 살펴본다.
11장. ‘윈도 USB 시스템’에서는 윈도 운영체제가 어떻게 USB 버스를 지원하는지와 개발자가 어떻게 USB 호스트측의 클래스 드라이버와 디바이스측의 펑션 드라이버를 개발할 수 있는지를 배운다.
12장. ‘리눅스 USB 호스트 시스템’에서는 리눅스에서 지원하는 USB 호스트 클래스 드라이버 작성법을 배운다.
13장. ‘USB 디바이스 컨트롤러를 위한 프레임워크’에서는 USB 디바이스 컨트롤러를 위한 드라이버를 개발하는 방법론을 배운다. 리눅스 USB 가젯 프레임워크와 사이프레스 FX3 개발환경을 설명한다.

저자/역자 소개

지은이의 말

디바이스 드라이버를 개발해온 지도 벌써 30년이 지났다. 여러 종류의 운영체제와 여러 가지 유형의 드라이버를 개발하면서 USB 버스를 다루는 드라이버가 가장 많은 비중을 차지한 것이 사실이다. 이런 이유로 USB 스펙에 대해서만큼은 다른 것들보다 공부하는 데 시간을 더 많이 투자했다.
거래처와 USB 관련된 펌웨어, 드라이버 등을 개발하면서 느낀 점은 생각보다 많은 업체가 USB 버스에 대한 지식이 다소 부족하다는 것이었다.
최소한 USB 관련 제품을 출시하는 회사고 개발자가 필요한 회사라면 USB 프로토콜 분석기 한 대 정도는 가지고 있어서 이를 통해 USB 버스가 어떻게 운용되는지는 잘 이해하고 있어야 한다고 생각하는데, 대부분의 담당자는 USB 버스를 잘 모른다. 이 책은 USB 버스와 관련된 제품을 개발하려는 회사의 개발자라면 반드시 한 번 이상은 읽어봐야 하는 USB 스펙을 다룬다. 단순하게 USB 스펙을 번역만 하는 책이 아니라 현업에서 꼭 알고 넘어가야 하는 부분에 대해 그동안 경험한 지식과 USB 분석기를 통해 얻은 지식을 최대한 발췌해놓은 책이라는 점을 밝히고 싶다.
양이 방대하기 때문에 준비 기간만 2년이 걸렸다. 이 책이 분명히 현업에서 USB 버스와 관련된 일을 하는 개발자들에게 충분한 도움이 될 것을 확신한다. 이 책을 효과적으로 공부하려면 개발자 자신이 수행해야 하는 과업과 관련된 부분만 우선적으로 살펴보는 것이 좋다. 부디 이 책이 USB 버스를 이해하는 데 많은 도움이 되길 희망한다.

지은이 소개

이봉석

현재 (주)하제소프트 대표이사를 맡고 있다. 1998년부터 지금까지 삼성첨단기술센터, 삼성21세기아카데미, LG러닝센터, MDS테크놀로지 등에서 디바이스 드라이버 교육을 수행해 왔다. 윈도와 임베디드 운영체제가 관심 분야이며, 특히 버스인터페이스(USB, PCIexpress, 1394등)와 보안 시스템에 관심이 많다.
현재 에어클래스, 유튜브(“이봉석”)에서 디바이스 드라이버와 USB, 보안 시스템 등에 대한 강좌를 진행하고 있다.
주요 저서로는 『실전 윈도 디바이스 드라이버 2/e』(에이콘, 2019), 『Windows CE 실전 가이드』(에이콘, 2006)을 비롯해 『디바이스 드라이버 구조와 원리 그리고 제작 노하우』(가남사, 2004), 『윈도 디바이스 드라이버』(한빛미디어, 2009)가 있다.

목차

목차
  • 1부. USB 개념을 이해하자!

  • 1장. USB 기본 개요
  • 1.1 USB 통신과 트랜잭션
  • 1.2 USB 릴리스 버전과 통신속도
  • 1.3 파이프와 엔드포인트
  • 1.4 USB 전체 개요
  • 1.5 USB 트랜잭션의 우선순위
  • 1.6 USB와 전원 관리
  • 1.7 USB가 제공하는 대표적인 서비스들
  • 1.8 USB 디바이스 프레임워크 소개
  • 1.9 USB 허브
  • 1.10 데이터 시그널링
  • 1.11 USB 커넥터의 종류

  • 2장. USB 2.0 vs USB 3.0
  • 2.1 USB 2.0
  • 2.2 USB 3.0(USB 3.1)

  • 3장. USB 통신속도별 특징
  • 3.1 로 스피드와 풀 스피드
  • 3.2 하이스피드
  • 3.3 슈퍼 스피드

  • 4장. USB 링크
  • 4.1 프레임 구성
  • 4.2 링크 명령어의 동작
  • 4.3 LTSSM

  • 5장. USB 프로토콜
  • 5.1 USB 2 프로토콜
  • 5.2 USB 3 프로토콜

  • 6장. USB 전원관리
  • 6.1 버스 리쥼과 서스펜드
  • 6.2 USB 2 전원 관리
  • 6.3 USB 3 전원 관리
  • 6.4 USB Type-C 와 전원공급

  • 7장. 허브(HUB)
  • 7.1 USB 2 HUB
  • 7.2 USB 3 허브

  • 8장. USB 디바이스 프레임워크
  • 8.1 USB 2 디바이스 프레임워크
  • 8.2 USB 3 디바이스 프레임워크

  • 2부. USB 호스트 컨트롤러와 프로토콜

  • 9장. MA USB(Media-Agnostic USB)
  • 9.1 아키텍처
  • 9.2 데이터흐름 모델
  • 9.3 프로토콜
  • 9.4 MA USB 디바이스 프레임워크
  • 9.5 MA USB 호스트 구현

  • 10장. xHCI(eXtensible Host Controller Interface)
  • 10.1 아키텍처 개관
  • 10.2 동작 모델
  • 10.3 레지스터 인터페이스
  • 10.4 Suspend와 Resume
  • 10.5 인터럽터
  • 10.6 루트 허브

  • 3부. 윈도와 리눅스 USB 호스트 드라이버

  • 11장. 윈도 USB 시스템
  • 11.1 USB 드라이버 스택
  • 11.2 USB 디바이스 스택
  • 11.3 USB 디바이스를 위한 플러그 앤 플레이 ID
  • 11.4 USB 엔드포인트와 파이프
  • 11.5 USB 이중 역할(드라이버 스택 아키텍처)
  • 11.6 USB Type-C 커넥터를 위한 드라이버 작성
  • 11.7 USB 호스트 클래스 혹은 클라이언트 드라이버 작성

  • 12장. 리눅스 USB 호스트 시스템
  • 12.1 USB 커널 호스트 클라이언트 드라이버
  • 12.2 USB 호스트 컨트롤러 드라이버
  • 12.3 USB 사용자레벨 호스트 클라이언트 라이브러리(LibUSB)

  • 4부. USB 디바이스 컨트롤러

  • 13장. USB 디바이스 컨트롤러를 위한 프레임워크
  • 13.1 일반적인 USB 디바이스 컨트롤러가 가지는 모듈
  • 13.2 광범위한 표준화 모델을 제공하는 운영체제와 디바이스 컨트롤러 제조사의 예시
  • 13.3 표준화 모델을 제공하는 디바이스 컨트롤러 제조사의 예시

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.43 : 그림 1-3]