Top

USB 대용량 저장장치 [USB 디바이스와 임베디드 호스트: 설계와 프로그래밍]

  • 원서명USB Mass Storage: Designing and Programming Devices and Embedded Hosts (ISBN 1931448043)
  • 지은이Jan Axelson
  • 옮긴이성원호, 최강민
  • ISBN : 9788960770157
  • 28,000원
  • 2007년 05월 23일 펴냄
  • 페이퍼백 | 312쪽 | 188*240mm
  • 시리즈 : 임베디드 시스템

책 소개

베스트 셀러인 『USB 완전정복: 임베디드 USB 장치 개발을 위한』의 저자로 유명한 Jan Axelson은 이 책에서 데이터 저장과 USB 대용량 저장 클래스 지원 디바이스를 구현하는 데 필요한 핵심적인 내용을 실제 코드와 함께 설명하고 있다.
대용량 저장 장치는 다양한 애플리케이션에서 활용할 수 있다. 대용량 저장장치가 장착되고 적절한 펌웨어가 동작하는 디바이스는 센서 데이터, 시스템 설정 값, 그래픽 이미지, 사용자 입력, 디바이스가 수신 또는 생성한 다양한 데이터 등을 손쉽게 저장할 수 있다. 또한 소형 시스템에서도 편리하고 값싼 저장 매체인 플래시 메모리와 하드 드라이브를 사용할 수 있다.

임베디드 시스템에 USB 디바이스 컨트롤러를 추가하면 PC나 다양한 USB 호스트 컴퓨터와 정보를 공유할 수 있다. 반대로 USB 호스트 컨트롤러를 추가하면 기존의 USB 드라이브로부터 정보를 읽거나 저장할 수 있을 것이다.


[ 책 소개 ]

대용량 저장장치를 사용하면 다양한 애플리케이션에 데이터 접근 방법을 제공할 수 있다. PC 상에서 애플리케이션을 로드하거나 파일을 저장할 때마다 여러분은 대용량 저장장치를 사용하고 있는 것이다. 컴퓨터의 하드 드라이브는 플래시, CD, DVD 드라이브처럼 대용량 저장장치의 한 종류다. 데이터 수집장치(data logger), 로봇, 그 밖의 임베디드 시스템 같은 특수목적 시스템 역시 대용량 저장장치를 사용할 수 있다. 대부분의 대용량 저장장치는 저장매체에 접근해서 데이터를 읽고 쓰는 방법이 구현돼있는 마이크로 컨트롤러, 마이크로 프로세서 또는 다양한 지능적인 하드웨어 컨트롤러를 포함한다.

USB 디바이스 컨트롤러는 대용량 저장장치가 다른 컴퓨터와 데이터를 공유하는 것을 가능하게 해준다. 예를 들어 데이터 수집장치로 현장에서 데이터를 수집해서 PC에 연결한다. 애플리케이션은 수집장치의 저장 매체로부터 데이터를 읽는다. 또는 로봇은 자신의 작업에 사용할 설정 데이터를 수신하기 위해 PC에 접근할 수 있다.
플래시 메모리 카드는 소형 시스템에 편리함을 제공한다. USB 호스트는 기존의 USB 플래시 드라이브와 하드 드라이브에 파일 접근을 수행할 수 있는 기능을 제공한다.
그 밖의 시스템은 기존에 제품으로 나와 있는 USB 플래시 드라이브와 USB 하드 드라이브상의 파일에 접근할 수 있는 USB 호스트로서 동작한다.

USB 대용량 저장장치 또는 호스트 인터페이스를 통합하는 디바이스를 설계하거나 프로그래밍하는 일에 종사하고 있는 개발자라면, 이 책을 읽고 프로젝트를 한 단계 업그레이드하고 원활하게 진행하는 데 큰 도움을 받을 것이다. 또한 USB 인터페이스의 유무에 상관 없이, 데이터 저장을 목적으로 플래시 메모리 카드를 사용하는 디바이스를 설계하거나 프로그래밍을 하더라도 이 책에서 유용한 정보를 찾을 수 있을 것이다.

또 USB 대용량 저장장치에서 이러한 인터페이스와 프로토콜, 구조들을 어떻게 처리해야 하는지 보여줄 것이다. 이 책에서는 독자가 마이크로 컨트롤러 프로그래밍과 인터페이스를 기본적으로 알고 있다고 가정한다. USB에 대해 더 자세히 알고 싶다면 『USB 완전정복: 임베디드 USB 장치 개발을 위한』을 먼저 읽어보기 바란다.


[ 이 책에서 다루는 내용 ]

◆ 적절한 저장 매체와 USB 컨트롤러를 선택하는 방법
◆ 업계 표준 SCSI 명령을 데이터 전송에 사용하는 방법
◆ 4개의 포트 핀만으로 플래시 메모리 카드에 접근하는 방법
◆ 저장매체의 정보에 접근하기 위한 파일시스템 지원
◆ 대용량 저장장치 설계와 프로그래밍 시 흔히 발생하는 실수
◆ 예제 코드, 실용적인 팁, 더 많은 유용한 정보


[ 이 책의 소스코드 ]

책에 나와있는 예제는 Microchip사의 PIC18F4550 Micro Controller를 기반으로 한 PICtail 평가 보드에서 동작시켜 보실 수 있습니다.
풀 소스코드와 schematic은 아래 URL을 참조해 주십시오.

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2124¶m=en024412

AN1003 USB Mass Storage Device Using the PIC® MCU
AN1003 Source Code (requires a Microchip’s C18 Compiler)

USB와 관련한 추가 자료들은 저자의 웹사이트인 www.lvr.com에 링크되어 있습니다.


소스코드 다운로드 안내 (2010.5.1)

USB 관련 서적 출판 당시의 코드들을 그대로 전달해드리지 못하게 되어 우선 사과의 말씀 전해드립니다.
[USB 대용량 저장장치]에서 설명한 소스코드는 PIC 프로세서용으로 Microchip사가 개발한 것으로
저작권과 관련된 문제로 인하여 직접 배포할 수 없기 때문에 URL 정보만 알려드렸습니다.

Microchip 사에서 USB MSD 관련 소스코드를 확인해봤습니다만
더 많은 PIC 프로세서를 지원하기 위해 범용적인 형태로 만들기 위한 노력이 있었던 것으로 생각됩니다.
따라서 서적 출간 당시의 소스코드와는 다소 차이가 있으나 다루고 있는 개념이나 목적은 동일하므로
최신 소스코드로 기술을 습득하셔도 큰 지장이 없을 것으로 생각됩니다.

우선 다음 URL로 접속하시기 바랍니다.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en537044

USB 관련 소프트웨어인 MCHPUSB 프레임워크가 'Microchip Applications Libraries'에 통합되었다고 합니다.
따라서 USB와 파일 시스템 관련 소스코드를 얻기 위해서는 이 라이브러리를 다운로드 받아야 합니다.

중간 지점에 'Microchip Application Libraries'를 클릭하여 다운로드하시고
다운로드가 끝나면 인스톨러를 실행해 적당한 곳에 설치해 주시기 바랍니다.

설치된 폴더들에 대해 간단히 요약해 봤습니다.
------------------------------------------------------------------------------------------------------------------------------------------------------
c:\Microchip Solutions\USB Host - Mass Storage - Simple Demo\Firmware\
MCHPUSB 프레임워크를 사용해 Mass Storage를 구현한 프로젝트입니다.

c:\Microchip Solutions\Microchip\
각종 라이브러리의 루트 폴더입니다. 하위 폴더에는 다양한 라이브러리들이 코드 형태로 들어 있습니다.

c:\Microchip Solutions\Microchip\MDD File System\
MDD(Memory Disk Driver) 파일 시스템 라이브러리 입니다.
FAT 파일 시스템과 SD, CF, 내부 플래시 드라이버를 포함되어 있습니다.

c:\Microchip Solutions\Microchip\MDD File System\Documentation\*.pdf
MDD에 관련된 문서를 참고할 수 있습니다.

c:\Microchip Solutions\Microchip\USB\
USB 호스트, 디바이스와 관련한 범용적인 소스코드가 있으며,
하위 폴더에는 CDC, HID, MSD와 같은 펑션 드라이버 소스코드가 있습니다.

c:\Microchip Solutions\Microchip\USB\Documentation\
PIC 보드 설정 및 MPLAB에서 프로젝트를 실행하는 방법 등에 대해 설명하고 있습니다.
------------------------------------------------------------------------------------------------------------------------------------------------------

저자/역자 소개

[ 저자 소개 ]

JAN AXELSON
『USB 완전정복: 임베디드 USB 장치 개발을 위한』, 『임베디드 네트워킹: 이더넷과 인터넷 구축』, 『Serial Port Complete』의 저자이며, Circuit Cellar, EDN, Nuts & Volts 등을 비롯한 다양한 기술 간행물에 수많은 기사를 기고해 왔다. PC 매거진의 Bill Machrone은 Jan의 저술 스타일을 ‘명쾌함과 간결함의 모델’이라고 표현한다.


[ 역자 소개 ]

성원호
명지대학교 기계공학과 대학원을 졸업하고 임베디드 시스템 컨설팅 및 개발 회사인 디오이즈를 경영하고 있다. 『Embedded Systems Building Blocks 한국어판』, 『임베디드 시스템 펌웨어 분석』, 『MicroC/OS-II 실시간커널 제2판』 등 여러 권의 임베디드 전문서를 번역했으며 에이콘출판사의 임베디드 시스템 프로그래밍 시리즈 에디터를 맡고 있다.


최강민
숭실대학교 전산원 소프트웨어 정보학과를 졸업하고 일본 교보정보통신에서 휴대폰 소프트웨어 개발업무를 담당했으며 지금은 임베디드시스템 컨설팅 및 개발 회사인 디오이즈에서 근무하고 있다. 임베디드 소프트웨어에 흥미와 애정이 많으며 최고의 임베디드 소프트웨어 개발자가 되기 위해 오늘도 열심히 타겟보드를 벗삼아 밤을 지새고 있다.


[ 역자 서문 ]

요즈음 주변을 살펴보면 임베디드시스템에서 제거 가능한 저장매체를 사용하는 예가 아주 흔해졌다. 제거 가능한 저장매체의 대표적인 예는 SD 카드와 컴팩트플래시 카드를 들 수 있다. 지금까지는 주로 디지털카메라, PDA, MP3 플레이어, 휴대용 멀티미디어 재생기(PMP) 등 주로 멀티미디어와 관련 있는 디바이스에서 이런 예를 볼 수 있었지만 앞으로 저장매체로부터 파일을 읽고 쓰는 방법이 필요한 분야는 더욱 다양해 질 것이다.

저장매체에 파일을 기록하고 읽는 기술, 그리고 저장매체가 들어 있는 디바이스를 PC에 USB로 연결해서 이동식 디스크로 동작하게 하는 기술은 대부분 임베디드 소프트웨어 엔지니어에게 매우 흥미로운 분야다. 현재 자신이 개발하고 있는 디바이스에 이런 기술을 적용할 수 있다면 많은 장점을 얻을 수 있기 때문이다. 하지만 기반 지식이 없는 상태에서 이런 기술을 적용하는 일은 그리 쉽지 않다. USB 통신, FAT 파일시스템, SD카드나 컴팩트플래시 카드 같은 저장매체에 데이터를 쓰고 읽는 방법을 모두 통합해야 하기 때문이다.

이 책은 『USB 완전정복』의 저자 Jan Alexson이 집필한 또 하나의 USB 서적이다. 『USB 완전정복』은 USB의 전체적인 개념을 파악하는 데 더할 나위 없이 좋은 책이지만 구체적인 적용 예가 없다는 아쉬움이 있었다. 하지만 이 책은 USB 대용량 저장(Mass storage)에 초점을 맞춰 실제 구현을 설명하고 있다. 게다가 FAT 파일시스템 구현을 위한 기본적인 개념과 실제 코드를 함께 설명하기 때문에 USB 대용량 저장에 관심이 있었지만 접근방법을 찾지 못하던 엔지니어와 학생들에게 많은 도움이 될 것이다.

앞으로 USB는 PC의 외부 인터페이스 버스로서의 입지를 더욱 굳혀 나갈 것이다. 이를 증명하듯이 요즘 나오는 노트북 컴퓨터는 임베디드 개발자에게는 너무나도 필수적인 시리얼포트가 없는 경우가 대부분이며 심지어는 병렬포트마저 사라지는 추세다. 대신 대부분의 외장 장치가 모두 USB로 연결되고 있다. 임베디드 개발자라면 시리얼 통신을 반드시 알아야 했듯이 앞으로는 USB를 반드시 정복해야 할 것이다. 더 구체적인 예를 담고 있는 이 책과 USB 완전정복을 통해 USB 이해에 많은 도움이 되기를 바란다.

2007년 5월
최 강 민

목차

목차
  • 1장 대용량 저장장치 기초 1
    • 저장장치의 필요성 2
      • 장점 2
      • 그밖의 고려사항 3
    • 요구사항 4
    • 디바이스 4
      • 임베디드 호스트 6
    • 매체 선택 7
      • 구동부 8
      • 어드레싱 방법 10
      • 읽기 쓰기에 대한 고려사항 10
      • 제거 가능 매체와 디바이스 12
      • 하드웨어 인터페이스 12
    • 하드 드라이브 13
      • 기술 13
      • 인터페이스 13
    • 플래시 메모리 14
      • 기술 14
      • 플래시 메모리 선택사항 15
      • 멀티미디어카드 16
      • SD 메모리 카드 20
      • 컴팩트플래시 22
  • 2장 USB 지원 25
    • 인터페이스 개요 26
      • 호스트와 디바이스 26
      • 호스트의 역할 27
      • 디바이스의 역할 29
      • 버스 속도 31
      • 엔드포인트 32
      • 전송방식 32
      • 트랜잭션 33
      • 데이터 토글 33
      • 디스크립터 34
      • 대용량 저장 요구사항 35
    • 디바이스 컨트롤러 선택 38
      • 플래시 메모리를 지원하는 컨트롤러 38
      • ATA/ATAPI를 지원하는 컨트롤러 38
      • 펌웨어 선택 39
    • 마이크로칩 PIC18F4550 39
      • 구조 40
      • 펌웨어 지원 40
      • USB 컨트롤러 40
  • 3장 USB 대용량 저장 클래스 45
    • 요구사항 45
      • 명세 45
      • 논리 블록 어드레싱 46
      • 대용량 저장 리퀘스트 46
    • 디스크립터 46
      • 디바이스 디스크립터 47
      • 컨피규레이션 디스크립터 49
      • 인터페이스 디스크립터 51
      • 엔드포인트 디스크립터 53
      • 문자열 디스크립터 54
    • 명령에 대한 응답 56
      • 명령 블록 래퍼 57
      • 명령 상태 래퍼 60
      • 벌크 엔드포인트 상의 통신 관리 62
      • STALL 세부사항 72
      • 13가지 경우 73
    • PC 지원 76
      • 윈도우 76
      • 리눅스 77
  • 4장 플래시 메모리 카드 접근 79
    • 인터페이스 79
      • 신호와 전원 80
      • 예제 회로 80
    • 호스트 프로그래밍 83
      • 설정 83
      • 하드웨어 포트 85
      • 펌웨어가 제어하는 포트 86
    • 데이터 전송 86
      • 디폴트 상태 86
      • PIC18F4550상의 SPI 86
      • 포트 설정 88
      • 바이트 쓰기 89
      • 바이트 읽기 91
  • 5장 멀티미디어카드 프로토콜 93
    • 명령과 응답 형식 93
      • 명령 94
      • 응답 타입 94
      • 토큰 형식 98
    • 명령 99
      • 클래스 99
      • 대용량 저장 장치가 사용하는 명령 101
      • 레지스터 101
    • 명령 전송 102
      • 타이밍 고려사항 102
      • 데이터 전송이 없는 명령 105
      • 저장매체로부터 데이터를 읽는 명령 105
      • 저장매체에 데이터를 기록하는 명령 106
    • 애플리케이션 예제 107
      • 카드 감지 및 선택 107
      • 명령 전송 109
      • 섹터 읽기 118
      • 섹터 쓰기 121
      • 통신 초기화 123
  • 6장 SCSI 명령 131
    • 명령 131
      • 명세 131
      • 구현해야 할 명령 132
    • 센스데이터 135
      • 고정 형식 센스데이터 137
      • 기본값 설정 138
    • 주요 명령 139
      • INQUIRY 139
      • MODE SELECT 143
      • MODE SENSE 143
      • PREVENT ALLOW MEDIUM REMOVAL 145
      • REPORT LUNS 146
      • REQUEST SENSE 146
      • SEND DIAGNOSTIC 147
      • TEST UNIT READY 147
    • 블록 명령 148
      • FORMAT UNIT 148
      • READ 149
      • READ CAPACITY 152
      • START STOP UNIT 154
      • SYNCHRONIZE CACHE 154
      • VERIFY 155
      • WRITE 155
    • 멀티미디어 명령 159
      • READ FORMAT CAPACITIES 159
      • READ TOC/PMA/ATIP 159
    • 명령과 이벤트 처리 159
      • 명령 해석 160
      • UNIT ATTENTION 상태 161
      • 호스트에게 매체 변경 통지 162
      • 리셋 동작 163
  • 7장 매체 구조 165
    • 내부 들여다보기 165
      • 포맷된 매체의 컴포넌트 166
      • MBR 섹터가 없는 드라이브 168
      • 바이트 정렬 168
    • 마스터 부트 레코드 섹터 168
      • 실행가능 코드 169
      • 파티션 테이블 169
      • 확장 파티션 170
      • 부트 시그니처 172
  • 8장 FAT 파일 시스템 175
    • FAT16 볼륨 내부 175
      • 예약 영역 176
      • 파일 할당 테이블 영역 180
      • 루트 디렉토리 영역 180
      • 파일과 디렉토리 데이터 영역 180
    • FAT32 볼륨 내부 181
      • 예약된 영역 181
      • 파일 할당 테이블 영역 184
      • 파일 및 디렉토리 데이터 영역 185
    • 파일 시스템 선택 185
      • 클러스터 크기 186
      • 하드웨어 해결책 187
    • 파일 할당 테이블 188
      • 첫 2개의 엔트리 188
      • 데이터 클러스터 188
    • FAT에 접근하기 190
      • 볼륨 정보 190
      • 파일 정보 191
      • 클러스터의 논리 블록 주소 얻어내기 192
      • FAT로부터 읽어내기 193
      • FAT에 쓰기 194
      • 파일의 다음 클러스터 찾기 195
      • 순차적 읽기 수행 197
      • 빈 클러스터 찾기 198
  • 9장 디렉토리 201
    • 엔트리의 내용 201
      • 파일 엔트리 202
      • 디렉토리 엔트리 205
      • 볼륨 레이블 엔트리 206
      • 하위디렉토리 엔트리 207
    • 긴 파일명 다루기 207
      • LFN 엔트리 207
      • 체크섬 209
      • 짧은 파일명 생성 210
    • 디렉토리 사용 211
      • 엔트리 저장 211
      • 엔트리 읽기 212
      • 주 엔트리 얻기 217
      • 엔트리 갱신 219
      • 시간과 날짜 갱신 220
  • 10장 파일 오퍼레이션 223
    • 클러스터 오퍼레이션 224
      • 클러스터 삭제 224
      • 사용 가능한 클러스터 예약 225
      • 파일의 첫 클러스터 할당 226
      • 클러스터 추가 할당 226
    • 파일 관리 228
      • 파일 정보 얻기 228
      • 파일 찾기 231
      • 디렉토리 엔트리 생성 234
      • 사용 가능한 엔트리 찾기 235
      • 파일 생성 238
      • 파일 삭제 239
      • 파일 열기 243
    • 파일로부터 읽기 246
      • 작업 246
      • 읽기 오퍼레이션 수행 247
    • 파일에 쓰기 250
      • 작업 250
      • 쓰기 오퍼레이션 수행 251
      • 파일 닫기 257
  • 11장 임베디드 호스트 259
    • 임베디드 호스트 내부 259
      • OTG 디바이스와 전통적인 호스트 260
      • 일반적인 호스트 기능 260
      • 대용량 저장 기능 261
      • USB 명세에 따르지 않는 디바이스 263
    • 호스트 옵션 266
      • 사이프레스 EZ-HOST 266
      • 호스트 소프트웨어 267

관련 블로그 글

신간『USB 대용량 저장장치』와 임베디드 세미나 소개

USB 대용량 저장장치: USB 디바이스와 임베디드 호스트 설계와 프로그래밍』가 출간되었습니다.

이 책에서 다루는 내용
◆ 적절한 저장 매체와 USB 컨트롤러를 선택하는 방법
◆ 업계 표준 SCSI 명령을 데이터 전송에 사용하는 방법
◆ 4개의 포트 핀만으로 플래시 메모리 카드에 접근하는 방법
◆ 저장매체의 정보에 접근하기 위한 파일시스템 지원
◆ 대용량 저장장치 설계와 프로그래밍 시 흔히 발생하는 실수
◆ 예제 코드, 실용적인 팁 등 유용한 정보

USB 완전정복』에 이어 USB 개발자 여러분에게 꼭 필요한 충실한 가이드 역할을 할 것이라 확신합니다. 독자 여러분의 많은 관심 부탁드립니다.

<역자 최강민님과 성원호님. 오른쪽 성원호님 사진에 깜짝 출연한 아리따운 여인네는 성원호 대표님의 사랑스런 아내분입니다 :) >

한 가지 공지 말씀 드립니다. 이 책을 출간해보자고 직접 기획안을 주시고 최강민님과 함께 번역까지 직접 맡아주신 디오이즈 성원호대표님이 이번 주 목요일인 5월 31일 강남 교보타워에서 열리는 STR9 무료응용 교육 세미나에서 한 꼭지를 맡아 강의를 하십니다.

이번 행사는 한국 ST 마이크로일렉트로닉스에서 개최하는 마이크로프로세서 기술 세미나입니다. 이번 세미나에서 소개하는 프로세서는 ARM9 코어를 기반으로 하고 있으며 다양한 주변장치, 프로그램 저장용 플래시 메모리와 RAM을 내장하고 있으면서도 저가라는 큰 장점이 있다고 합니다. 특히 ST에서 제공하는 방대한 소프트웨어 라이브러리는 ST ARM9 프로세서를 다양한 애플리케이션에 빠르고 쉽게 적용할 수 있도록 도와줍니다. 세미나는 실제 타겟보드와 개발환경을 이용한 실습 위주로 진행하기 때문에 실무적으로 ARM 프로세서에 관심 있는 엔지니어에게 큰 도움이 될 것입니다.

이 날 성원호 대표님께서는 이 마이크로프로세서를 더욱 효과적으로 활용할 수 있게 해주는 uC/OS-II RTOS와 TCP/IP 스택을 실제 타겟보드에 올려서 동작시키는 실습 교육을 진행할 예정이라고 합니다.

덧. 하지만 아쉽게도 행사는 얼마 전 마감이 되었다는 소식이 들리는데, 앞으로도 작지만 알찬 행사들 미리미리 소개해드려 개발자 여러분께 많은 정보를 전해드리도록 노력하겠습니다. 참고로 그날 참석하신 개발자 분들께 소정의 상품을 드릴 예정이라고 합니다. 선물 중에는『MicroC/OS-II 실시간 커널 제2판(보급판)』도 있으니 혹 참석하시는 분께서는 깜짝 이벤트를 기대해보세요~ ^^*

CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

출간 예정!『USB 대용량 저장장치』
『USB 대용량 저장장치』
(부제- USB 디바이스와 임베디드 호스트: 설계와 프로그래밍)
* Jan Axelson 지음, 성원호·최강민 옮김, 28,000원, 2007년 5월 23일 출간 *

에이콘 임베디드 시스템 프로그래밍 시리즈의 스물세번째 책이 드디어 출간됩니다.
Jan Axelson이 집필한 『USB 완전정복: 임베디드 USB 장치 개발을 위한』의 아우격이라 할 수 있는 이 책 『USB 대용량 저장장치- USB 디바이스와 임베디드 호스트: 설계와 프로그래밍』에서는 데이터 저장과 USB 대용량 저장 클래스 지원 디바이스를 구현하는 데 필요한 핵심적인 내용을 실제 코드와 함께 설명하고 있습니다.

USB Mass Storage, UMS라고 일컬어지는 USB 대용량 저장장치 또는 호스트 인터페이스를 통합하는 디바이스를 설계하거나 프로그래밍하는 일에 종사하고 있는 개발자분들께, 또는 USB 인터페이스의 유무에 상관없이 데이터 저장을 목적으로 플래시 메모리 카드를 사용하는 디바이스를 설계하거나 프로그래밍을 하는 분들께 소장하고픈 좋은 책 한 권이 되었으면 합니다!
이 책은 『USB 완전정복』의 저자 Jan Alexson이 집필한 또 하나의 USB 서적이 출간된다. 『USB 완전정복』은 USB의전체적인 개념을 파악하는 데 더할 나위 없이 좋은 책이지만 구체적인 적용 예가 없다는 아쉬움이 있었다. 하지만 이 책은 USB대용량 저장(USB Mass Storage)에 초점을 맞춰 실제 구현을 설명하고 있다. 게다가 FAT 파일시스템 구현을 위한 기본적인개념과 실제 코드를 함께 설명하기 때문에 USB 대용량 저장에 관심이 있었지만 접근방법을 찾지 못하던 엔지니어와 학생들에게 많은도움이 될 것이다.
- 옮긴이의 말 중에서


* 덧, 지난 주에 출간된 『소프트웨어 아키텍처: 이론과 실제』에 보내주시는 독자여러분의 뜨거운 성원에 진심으로 감사드립니다. 사실 저희가 생각했던 이상으로 독자여러분께서 사랑해주고 계신지라 예상치 못한 그 뜨거운 반응에 적잖이 놀란 것도 사실입니다. 더 많은 분 모시고 책거리라도 거하게 해야하는 건 아닌지 모르겠군요. :)

역자분들은 몇 달 동안 공역을 하며 좀더 읽기 좋은 책, 이해하기 쉬운 책으로 옮겨적고자 노력했습니다. 하지만 저희가 놓친 부분이나 조그마한 실수로 인해 독자분께서 책을 읽으시다가 의아한 부분이 생길지도 모르겠습니다. 확인된 내용에 대해서는 이 책의 도서정보 페이지 <정오표>에서 오류나 오탈자에 대한 부분을 계속 공지해드릴 예정입니다.

앞으로도 책을 읽다가 궁금한 점이 생기시면 언제라도 토론방에 글을 올려주시거나 저희에게 메일 보내주십시오. 확인 후 답신을 드리거나 정확한 내용을 정오표에 반영하겠습니다. 늘 한권 한권 출간할 때마다 새로운 마음으로 열심히 노력하겠습니다.
CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

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

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

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