서브메뉴

본문

임베디드 리눅스 기초와 응용 (인텔 PXA270 기반, VMWare 이용)
임베디드 리눅스 기초와 응용 (인텔 PXA270 기반, VMWare 이용)
저자 : 우종정|사공준
출판사 : 한빛아카데미
출판년 : 2017
ISBN : 9791156643135

책소개

재미있고 다양한 실습 예제와 단계별 학습으로 손쉽게 배우는 임베디드시스템의 기본『임베디드 리눅스 기초와 응용』. 이 책은 임베디드 리눅스 입문서로 임베디드시스템을 이해하기 위해 꼭 필요한 기반 개념을 풍부한 사례와 개념도를 통해 쉽게 설명해주고, 단계별로 차근차근 설명하는 다양한 실습 예제를 담고 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

도서 장점
① 쉽다.

임베디드시스템 이해를 위한 최소한의 기초 지식을 1~3장에서 먼저 정리한 후 70여 개의 다양한 실습 예제를 단계별로 차근차근 설명한다.

② 핵심만 다룬다.
개발 보드의 자주 사용하지 않는 기능까지 장황하게 설명하지 않고 꼭 필요한 기능 위주로 다룬다.

③ 리눅스 시스템이 없어도 실습할 수 있다
윈도우 시스템에 VMWare에 설치하여 실습한다.

도서 특징

재미있고 다양한 실습 예제와 단계별 학습으로
손쉽게 배우는 임베디드시스템의 기본

임베디드시스템의 소개를 시작으로 VMWare와 페도라, 툴체인 설치로 개발 환경을 설정하도록 하고 있다. 그런 다음 부트로더 및 커널, 파일 시스템, 모듈 프로그래밍, 디바이스 드라이버 작성 및 응용, GPIO 응용프로그래밍, Qt/Embedded와 웹 서버 응용을 차례대로 학습하도록 하고 있다.

주요내용
① 임베디드시스템 학습 기초 다지기(1장~3장)
임베디스시스템의 하드웨어와 소프트웨어, 시장 현황 등을 살펴본다. 가상머신의 개념을 이해하고, VMWare와 페도라 리눅스를 설치한다. 리눅스 커널에 대해 살펴보고 기본 명령어를 학습하여 기초를 다진다.

② 임베디드시스템 개발 환경 구축하기(4장~5장)
임베디드시스템 개발 환경을 알아보고 툴체인, JTAG, 미니컴을 설치하여 교차 개발 환경을 구축한다. 또한 데몬에 대해 살펴보고 BOOTP, TFTP, NFS를 설치하여 네트워크 환경을 구축하고 테스트한다.

③ 임베디드시스템 커널 이해하기(6장~8장)
부트로더와 커널 빌드 과정을 이해하고 포팅해 본다. 다양한 파일 시스템의 특성을 알아보고 생성해 본다. 커널 관련 함수를 살펴보고, 새로운 시스템 호출을 구현하고 테스트하여 커널에 대해 깊이 이해한다.

④ 주변장치 제어하기(9장~11장)
모듈 프로그래밍의 개념을 이해하고, 모듈을 작성하여 커널에 적재/제거해 본다. /proc 파일 시스템을 사용하는 모듈 프로그램을 작성해 본다. 디바이스 드라이버의 동작 원리를 이해하고 모듈 기반으로 제작해본다. LED, FND, 키매트릭스, 문자형 LCD, 도트 매트릭스 등 실제 장치들에 대한 디바이스 드라이버를 작성하고 테스트한다.

⑤ 응용프로그램작성하기(12장~13장)
GPIO의 동작 원리와 기본 개념을 이해하고, 새로운 인터럽트를 등록하여 GPIO 응용프로그램으로 테스트한다. Qt/Embedded를 설치하여 테스트한다. GoAhead 임베디드 웹 서버를 설치하고, 웹을 통해 디바이스를 제어하는 프로그램을 작성하여 테스트함으로써 실무 응용이 가능하도록 응용력을 키운다.

기타 참고 사항

[하드웨어 정보]
① 기본 실습 보드명: (주)하이버스 X-Hyper270-TKU
② 보드 구입처: (주)하이버스 사이트(http://www.hybus.net/)
③ 보드 단가: 220~230만원대
(문의가 있으면 200만원 초반이라고만 알려주시고 정확한 단가는 하이버스측에 문의해달라고 유도 해주십시오. 교육용인 경우, 좀더 할인이 됩니다)
④ 기본적으로 (주)하이버스 X-Hyper270-TKU를 바탕으로 하지만 5.4절, 6.2절, 6.3절, 11장 등에서 설정 값과 물리 주소 등 관련 프로그램을 조정하면 여타 회사의 개발 키트에서도 실습할 수 있습니다.

[소프트웨어 정보]
실습 파일은 다음 세 경로에서 구할 수 있습니다.
① 한빛미디어(주) 홈페이지
② (주)하이버스 홈페이지
③ X-HYPER270-TKU 패키지에 포함된 CD
[교보문고에서 제공한 정보입니다.]

목차정보

1장. 임베디드시스템 소개
01. 임베디드시스템의 개요
02. 임베디드시스템 응용 분야
03. 실시간 시스템
04. 임베디드 소프트웨어
05. 임베디드 하드웨어
06. 임베디드시스템의 시장 현황
07. 유비쿼터스 컴퓨팅
요약
연습문제

2장. VMWare와 페도라 설치

01. 가상머신의 개요
02. VMWare의 특징 및 설치
03. 가상머신 생성
04. 페도라 설치
05. VMWare의 유용한 기능
요약
연습문제

3장. 리눅스 운영체제

01. 운영체제
02. 리눅스 소개
03. 임베디드 리눅스
04. 리눅스 명령어
요약
연습문제

4장. 개발 환경

01. 개발 환경 개요
02. PXA270과 타겟 시스템
03. 툴체인 환경 구축
04. JTAG 개요
05. 미니컴
06. Make 유틸리티
요약
연습문제

5장. 네트워크 환경 구축과 이미지 전송

01. 호스트/타겟 통신
02. 직렬 통신을 이용한 이미지 전송
03. 수퍼 데몬
04. BOOTP 환경 구축
05. TFTP 설정과 이미지 전송
06. NFS 환경 구축과 파일 공유
요약
연습문제

6장. 부트로더와 커널 이미지 생성

01. 부트로더 개요
02. 타겟 시스템 부트로더 분석
03. 부트로더 생성
04. 커널 빌드 과정
05. 커널 컴파일 규칙
06. 커널 포팅
요약
연습문제

7장. 파일시스템

01. 파일시스템 개요
02. 파일시스템 종류
03. 파일시스템 구조
04. 루트 파일시스템
05. 커널 부팅 방식
06. 램디스크
07. JFFS2 파일시스템
요약
연습문제

8장. 시스템 호출과 주요 커널 함수

01. 시스템 호출의 개요
02. 시스템 호출 동작 과정
03. 시스템 호출 구현
04. 주요 커널 함수 및 변수
05. 시그널 함수
06. 커널 타이머
07. 시스템 호출로 LED 점등하기
요약
연습문제

9장. 모듈 프로그래밍

01. 모듈 프로그래밍 개요
02. 모듈 프로그래밍 규칙
03. 모듈 유틸리티
04. proc 파일시스템
05. 커널 심볼 테이블
06. 프로세스 정보 출력 모듈
07. 모듈 프로그래밍 주의 사항
요약
연습문제

10장. 디바이스 드라이버 기초

01. 디바이스 드라이버의 개요
02. 파일 연산
03. 디바이스 드라이버의 등록과 해제
04. 디바이스 드라이버 구성
05. 디바이스 드라이버 구현
06. 블록 디바이스와 네트워크 디바이스
요약
연습문제

11장. 디바이스 드라이버 응용

01. 디바이스와 주소
02. 디바이스 드라이버 구현 일반
03. LED 디바이스 드라이버
0.4. FND 디바이스 드라이버
0.5. 키 매트릭스 디바이스 드라이버
06. 문자형 LCD 디바이스 드라이버
07. 도트 매트릭스 디바이스 드라이버
요약
연습문제

12장. GPIO 응용프로그램

01. PXA270의 GPIO
02. GPIO 동작과 GPIO 레지스터 기능
03. PXA270과 인터럽트
04. 인터럽트 처리 함수
05. GPIO를 이용한 디바이스 드라이버
요약
연습문제

13장. Qt/Embedded와 웹 서버

01. Qt/Embedded 개요
02. Qt/Embedded 개발 환경 구축
03. Qt/Embedded 실행 환경 구축 및 테스트
04. 임베디드 웹 서버
05. 임베디드 웹 서버 응용
요약
연습문제

[실습목차]

[실습 2-1] 호스트 운영체제 윈도우에 VMWare 설치하기
[실습 2-2] 기본적인 가상머신 만들기
[실습 2-3] 임베디드시스템 실습용 가상머신으로 주변 장치 수정하기
[실습 2-4] 운영체제가 설치 안된 가상머신의 부팅 및 종료하기
[실습 2-5] VMWare에서 제공하는 네트워크 정보의 획득하기
[실습 2-6] 가상머신에 페도라 리눅스 설치하기
[실습 2-7] VMWare 도구 설치하기
[실습 2-8] VMWare 도구를 사용해 공유 폴더 설정하기
[실습 2-9] VMWare 도구를 사용한 파일 공유 테스트하기
[실습 2-10] VMWare 도구를 사용한 가상머신 복제하기
[실습 3-1] 리눅스의 커널 버전의 확인하기
[실습 3-2] ls 명령어 실행하기
[실습 3-3] cd 명령어 실행하기
[실습 3-4] cp, mv, rm 명령어 실행하기
[실습 3-5] mkdir과 rmdir 명령어 실행하기
[실습 3-6] cat과 more 명령어 실행하기
[실습 3-7] touch 명령어 실행하기
[실습 3-8] ln 명령어로 소프트 링크 생성하기
[실습 3-9] CD-ROM의 마운트/언마운트 실행하기
[실습 3-10] 파일 허가권을 변경하는 chmod 명령어 실행하기
[실습 3-11] ping 명령어 실행하기
[실습 3-12] ifconfig 명령어 실행하기
[실습 3-13] gzip 명령어 실행하기
[실습 3-14] tar 명령어 실행하기
[실습 3-15] rpm 명령어를 이용해 mc 설치하기
[실습 3-16] yum 명령어 실행하기
[실습 3-17] system-config-packages를 사용해 개발툴 설치하기
[실습 4-1] 호스트 시스템에 툴체인 설치하기
[실습 4-2] 툴체인을 효과적으로 사용하기 위해 경로 설정하기
[실습 4-3] 호스트 시스템에서 hello.c 프로그램을 컴파일하고 실행하기
[실습 4-5] 미니컴 설치하기
[실습 4-6] 미니컴에 직렬 포트를 위한 환경 설정하기
[실습 4-7] Make 유틸리티를 이용해 실행 파일 생성하기
[실습 5-1] ZMODEM을 이용해 이미지 전송하기
[실습 5-2] 수퍼 데몬의 실행 여부 확인하기
[실습 5-3] BOOTP 데몬의 설치와 설정하기
[실습 5-4] 수퍼 데몬과 BOOTP 데몬과의 관계 관찰하기
[실습 5-5] TFTP 설정 파일 수정 및 적용하기
[실습 5-6] TFTP 서버를 이용한 이미지 전송하기
[실습 5-8] NFS를 이용해 파일 공유하기
[실습 6-1] 부트로더 명령어 실습하기
[실습 6-2] 부트로더 명령어를 이용해 디바이스 제어하기
[실습 6-3] 부트로더 이미지 생성하기
[실습 6-4] 커널 이미지 생성하기
[실습 6-5] 커널 이미지에 hello.o 모듈 추가하기
[실습 7-1] 프로세스에 필요한 라이브러리 찾기
[실습 7-2] 램디스크 만들기
[실습 7-4] JFFS2 생성하기
[실습 7-5] JFFS2 파일시스템 이미지 생성하기
[실습 8-1] 시스템호출 함수 정의하기
[실습 8-3] 시스템호출 함수 등록하기
[실습 8-4] 커널 재컴파일 및 타겟 시스템에 퓨징하기
[실습 8-5] 시스템호출 함수 테스트하기
[실습 8-6] LED를 다루기 위한 시스템 호출 프로그램 작성하기
[실습 8-7] 시스템 호출 함수를 사용해 응용프로그램으로 LED 점등하기
[실습 9-1] 호스트 컴퓨터의 커널 공개 심볼 살펴보기
[실습 9-2] Hello 모듈 작성 및 실행하기
[실습 9-3] 호스트 컴퓨터에서 적재된 모듈 정보 확인하기
[실습 9-4] proc 파일시스템 입출력을 위한 모듈 프로그램 생성 및 실행하기
[실습 9-5] 모듈 프로그램을 사용한 심볼 공개 여부 테스트하기
[실습 9-6] 프로세스 정보를 출력하는 모듈 작성 및 실행하기
[실습 10-1] 호스트 시스템의 디바이스 파일 관찰하기
[실습 10-2] mknod 명령으로 디바이스 파일 생성하기
[실습 10-3] 가상 디바이스 드라이버 구현하기
[실습 10-4] 등록된 네트워크 디바이스 드라이버의 정보 보기
[실습 11-1] LED 디바이스 드라이버 작성하기
[실습 11-2] FND 디바이스 드라이버 작성하기
[실습 11-3] 키 매트릭스 디바이스 드라이버 작성하기
[실습 11-4] 문자형 LCD 디바이스 드라이버 작성하기
[실습 11-5] 도트 매트릭스 디바이스 드라이버 작성하기
[실습 12-1] GPIO 디바이스 드라이버 및 테스트 프로그램 작성하기
[실습 12-2] 컴파일 및 테스트하기
[실습 12-3] 인터럽트 정보 확인하기
[실습 13-1] Qt/Embedded 환경 설정하기
[실습 13-2] Qt/Embedded 라이브러리와 도구 설치하기
[실습 13-3] NFS를 이용한 Qt/Embedded실행 환경의 타겟 시스템 탑재하기
[실습 13-4] Hello 응용 프로그램 컴파일하기
[실습 13-5] 타겟 시스템에서 Hello 응용프로그램 실행하기
[실습 13-6] GoAhead 웹 서버 컴파일 및 설치하기
[실습 13-7] 웹 페이지 및 CGI 프로그램 작성하기
[교보문고에서 제공한 정보입니다.]