재미있고 다양한 실습 예제와 단계별 학습으로
손쉽게 배우는 임베디드시스템의 기본
임베디드시스템의 소개를 시작으로 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 임베디드 웹 서버를 설치하고, 웹을 통해 디바이스를 제어하는 프로그램을 작성하여 테스트함으로써 실무 응용이 가능하도록 응용력을 키운다.
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 프로그램 작성하기
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2022-02-03 | 다운로드 |
IT CookBook, 리눅스 프로그래밍 기초 : 시스템 호출, 라이브러리 함수별 실습
최태영 , 황준하 , 고재필 , 윤현주 , 김용호
도서구입 안내
<한빛아카데미> 도서는 한빛 홈페이지에서 더 이상 판매를 하지 않습니다. 도서 구입은 인터넷 서점을 이용하시기 바랍니다. 양해바랍니다.