Top

Embedded Systems Building Blocks Second Edition 한국어판 (보급판)

  • 원서명Embedded Systems Building Blocks 2nd Edition (ISBN 9780879306045)
  • 지은이Jean J. Labrosse
  • 옮긴이성원호
  • ISBN : 9788960770393
  • 35,000원
  • 2008년 03월 21일 펴냄
  • 페이퍼백 | 648쪽 | 202*255mm
  • 시리즈 : 임베디드 시스템

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/esbb2)

이 책은『embedded Systems Building Blocks, Complete and Ready-to-Use Modules in C』의 두 번째 판으로서, 임베디드 시스템을 디자인할 때 사용할 수 있는 소프트웨어 모듈을 다루고 있다.또 구체적인 예제 프로그램을 기반으로 임베디드 시스템 디자인에 대한 궁금증을 풀어준다.

[ 책 소개 ]

여기에 포함된 모듈은 임베디드 시스템에 일반적으로 사용되는 키보드 스캐너, 디스플레이 인터페이스, 타이머, I/O 등이다. 코드의 대부분은 이식성이 매우 뛰어난 C로 썼다. 각 장은 다른 장과 독립적이기 때문에 필요한 모듈만을 선택해서 이용할 수 있다. 그 장의 모듈이 어떤 일을 하는지 어떻게 동작하는지, 어떤 서비스를 제공하는지를 설명하고 있다.
여러분은 실제 임베디드 시스템에서 기본적인 기능을 담당하고 완전하게 동작하는 소스코드 모듈을 이용해서 개발기간을 단축할 수 있을 것이다. 저자의 코드는 일관성이 아주 우수한 것으로 평판이 나있다. 이번에 개정한 소스코드는 다른 마이크로 프로세서로의 이식을 고려해 하드웨어 의존적인 함수들을 아주 면밀히 분리했다.
따라서 개발자는 각 모듈을 수정할 때 드는 시간을 최대한 절약할 수 있다.
개발자가 제품에 고유한 코드를 작성하는데 전념할 수 있도록 각 모듈을 완전한 형태로 제공한다.

이번 판은 저자의 유명한 운영체제인 MicorC/OS-II를 지원하도록 개정했다. 각 프로그램은 읽고 이해하기 쉬워졌으며, 다음과 같은 점을 개선했다.

■ 임베디드 시스템과 리얼타임 커널의 개념을 설명하는 장(Chapter)을 개정
■ PC 서비스에 대한 새로운 장 추가
■ 코드를 더 쉽게 사용할 수 있도록 각 빌딩 블록에 레퍼런스 절 추가

특히, 임베디드 시스템 프로그래머, 컨설턴트 그리고 임베디드 시스템에 관심이 학생들을 위한 책이다.


[ 이 책에서 다루는 내용 ]

■ 저자의 운영체제인 MicroC/OS-II를 분석해서 리얼타임 커널의 내부를 파헤친다.
■ 리얼타임 시스템을 운용하는 실제 연습을 통해 임베디드 시스템과 리얼타임 커널의 핵심을 이해한다.
■ 실제 코드를 변경해 봄으로써 임베디드 시스템용 소프트웨어 개발 방법을 배운다.
■ 중급 이상의 임베디드 시스템 프로그래머가 꼭 알아야 할 고정소수 연산의 개념을 전달한다.


[ 부록 CD ]

MS-DOS 포맷 형태며, 이 책에서 제공하는 모든 소스코드가 들어있다. 또 전자 부품의 데이터 시트도 역시 들어있다.

하드웨어/소프트웨어 요구사항
하드웨어 : PC/AT 호환 시스템
하드 디스크 용량 : 5M 바이트
시스템 메모리 : 640K 바이트 RAM
운영체제 : MS-DOS, Windows 95, Windows 98, Windows NT

저자/역자 소개

[ 저자 소개 ]

Jean J.Labross
현재 Micrium.Inc.라는 회사를 경영하고 있다. 그는 전자공학을 전공했으며 단년간 임베디드 시스템을 디자인해 오고 있다. Jean J.Labross는MicroC/OS-II,The Real-Time Kernel의 저자이며, 관련 잡지에 수많은 글을 기고했다. 그는 또 Embedded Systems Conference의 정규 강사이며, 자문위원이다.


[ 역자 소개 ]

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


[ 역자 서문 ]

이 책의 저자인 Jean J. Labrosse는 『MicroC/OS-II, The real time kernel』도 저술했다. MicroC/OS-II는 저자가 직접 개발한 리얼타임 커널로, 매우 간결하고, 리얼타임 특성이 뛰어난 운영체제다. 물론 상용 리얼타임 커널에 비해 기능상으로는 부족하지만, 성능은 매우 뛰어나서 간단한 임베디드 시스템에도 효과적으로 사용할 수 있다. 이 책은 MicroC/OS-II 상에서 동작하는 임베디드 시스템용 디바이스 드라이버와 여러 가지 유용한 소프트웨어 모듈을 설명한다. 본문에도 설명이 있지만, 제공된 모듈은 리얼타임 커널 뿐 아니라, 일반 전경/배경(Foreground/Background) 시스템에서도 사용할 수 있도록 쉽게 수정할 수 있다.

필자가 임베디드 시스템 프로그래밍을 시작한 지도 벌써 10년이 지났다. 그동안 여러 프로그램을 작성하면서 “다른 사람들은 어떻게 코드를 작성할까?”하고 생각한 적이 종종 있었다. 임베디드 시스템 프로그래밍은 아직까지 많은 사람이 종사하고 있는 분야가 아니어서 유익한 정보를 얻기가 힘들다. 따라서 대부분의 엔지니어는 자신의 세계에 안주해서 자신만의 스타일로 코드를 작성하려는 경향이 있다. 필자도 예외는 아니었다. 그러나 이런 경향은 엔지니어로서의 역량과 경험에 전혀 도움을 주지 못하는, 바람직하지 못한 습관이다. 세상에는 뛰어난 엔지니어가 얼마든지 있다. 그들이 이미 만들어 놓은 완성도 있는 코드를 보고 자신의 스타일로 소화해내는 능력이야말로 우리들 엔지니어가 갖춰야 하는 중요한 소양이라고 생각한다. 이것은 이 책의 저자도 강조하는 점이다.

다른 사람의 코드를 구해서 읽고 깊이 생각해 보라. 그리고 장단점을 파악한 뒤 자신의 스타일을 구축하라. 그런 관점에서 볼 때, 이 책은 여러분이 저자의 코딩 스타일을 보고 장단점을 나름대로 판단해 볼 수 있다는 점에서 큰 가치가 있다. 저자의 코딩 스타일은 매우 일관성이 있고 체계가 잘 잡혀 있다고 생각한다. 물론 저자의 코딩 스타일을 무조건 따를 필요는 없지만, 이제 어느 정도 성숙 단계에 있는 엔지니어라면 자신의 확고한 코딩 스타일을 구축하는 데 이 책이 참고가 될 것이다. 그리고 이 책이 제공하는 각 소프트웨어 모듈은, 중급 이상의 엔지니어가 보기에는 단순한 것들이지만, 임베디드 시스템에 관심이 있는 학생과 초보 엔지니어에게는 상당히 가치가 있는 내용이라고 생각한다.

필자가 처음 시리얼 통신 드라이버와 키보드 드라이버를 작성하던 때가 생각난다. 또 인터럽트 방식의 시리얼 드라이버 데이터를 메인 프로그램에서 어떻게 처리할 것인가를 고민하던 일이 생각난다. 그러나 지금 생각해보면 그런 고민은 시간 낭비에 불과했다. 뒤에 알게 된 일이지만, 필자가 고민해서 생각해낸 코드는 이미 많은 사람들이 같은 방식으로 사용하고 있는 것이었다. 나중에 그 사실을 알고, 본인도 그런 엔지니어의 대열에 낄 수 있다는 일종의 희열을 느끼기도 했지만, 어쨌든 공연한 시간을 낭비한 셈이 된 것이다. 기본적인 코드를 작성하는 데 시간과 정열을 투자할 필요는 없다.

이 책에서 제공하는 모듈의 백미는, 키보드, 시리얼, LED, LCD 드라이버라고 생각한다. 이들은 임베디드 시스템에 있어서 너무나 기본적인 요소여서 반드시 알고 넘어가야 하는 모듈이다. 이 정도의 코드는 인터넷을 비롯한 통신망에서 손쉽게 구할 수 있지만, 그 코드를 잘 설명하는 문서는 구하기 어렵다. 특히 이 책은 이들 드라이버를 리얼타임 커널(여기서는 MicroC/OS-II)과 인터페이스하는 방법을 정확하게 설명하고 있으므로, MicroC/OS-II가 아닌 다른 리얼타임 커널용 드라이버를 작성할 때라도 도움을 줄 것이다.

인터넷의 대중화로 세계는 급변하고 있다. 임베디드 시스템 분야도 예외가 아닐것이다. 인터넷과 멀티미디어를 지원하는 수많은 임베디드 제품이 쏟아져 나오고 있고 불과 몇 달 사이 새로운 모델을 출시하는 시대가 됐다. 타임 투 마켓의 중요성은 저자가 이미 본문에서 설명하고 있으므로 더 이상의 언급은 않겠다. 초보자의 경우, 몇 번 정도는 스스로 깊이 생각해서 코드를 작성해봐야 할 것이다. 그러나 그런 일을 계속 반복하는 것은 결코 도움을 주지 못한다. 여러분은 기본적인 임베디드 시스템 빌딩 블록을 각자 자신만의 아이디어로 작성하느라 시간을 낭비할 필요가 없다. 이 책이 제공하는 소프트웨어 모듈이 여러분의 개발기간을 줄이고, 리얼타임 커널 드라이버의 구조를 이해하는 데 도움이 되길 바란다.

2001년 12월


보급판 출간에 붙여

『Embedded Systems Building Blocks 한국어판』이 출간된 지도 벌써 6년이 지났다. 이 책은 저자 Jean J. Labrosse가 집필한 『MicroC/OS-II 실시간 커널, 제2판』과 더불어, 임베디드시스템 프로그래밍과 RTOS용 디바이스 드라이버를 공부하고자 하는 엔지니어, 학생에게서 많은 관심을 받아왔다. 세월이 지나도 빛이 바라지 않는 책은 그리 흔치 않다. 특히 전문영역을 다루는 기술서는 더욱 그렇다. 하지만 이 책에서 다루는 내용은 지금도 현업에서 충분히 활용할 수 있을 만큼 여전히 유효하다. 출간된 지 몇 년이 지난 지금도 꾸준히 판매되고 있다는 사실은 이를 뒷받침한다.

RTOS와 RTOS용 디바이스 드라이버 개발에 관심 있는 엔지니어라면 주저할 것 없이 이 책과 『MicroC/OS-II 실시간 커널, 제2판』을 함께 읽어볼 것을 적극 권한다. RTOS와 관련 주제에 관해 이 두 책보다 더 잘 설명해놓은 책은 아직까지도 없기 때문이다.

2008년 3월 11일

목차

목차
  • 1. 샘플코드
  • 2. 리얼타임 시스템의 개념
  • 3. 키보드
  • 4. 멀티플렉싱 방식 LED 표시장치
  • 5. 문자 LCD 모듈
  • 6. 시각기구
  • 7. 타이머 관리자
  • 8. 디지털 I/O
  • 9. 고정 소수점 연산
  • 10. 아날로그 I/O
  • 11. 비동기 시리얼 통신
  • 12. PC 서비스
  • 부록 A. μC/OS-II, 리얼타임 커널
  • 부록 B. 프로그래밍 규약
  • 부록 C. 두문자어, 생략어, 니모닉 사전
  • 부록 D. HPLISTC 와 TO

도서 오류 신고

도서 오류 신고

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

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

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

정오표

[ p329 Figure 10.2 수정 ]


[ p332 아래에서 2행 ]
1마이크로세컨드 → 1mS