임베디드 리눅스 프로그래밍(라즈베리파이 3를 활용한)
Regular price
$26.84
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
본 교재는 리눅스 OS를 갖춘 Raspberry Pi3를 사용하여, LCD, 마우스 및 다양한 하드웨어 장치 사용에 필요한 디바이스 드라이버를 만들고 이를 활용하는 응용 프로그램을 작성하는 방법을 익힐 수 있도록 하는 것을 목표로 만들어졌다. 이를 위해서 2장과 3장에서는 PC에 설치된 리눅스 환경에서, 리눅스 명령어 사용법과 C를 사용한 응용 프로그램을 작성하는 방법을 다루어서 윈도우 환경에 익숙한 독자들이 커맨드 창을 활용하는 리눅스 운영체제에 적응할 수 있도록 하였고, 4장 이후에서는 Raspberry Pi3 보드에 Raspbian OS를 설치하고, 개발 환경을 구축해서 이 임베디드 보드에 적용할 디바이스 드라이버를 만들고 이를 활용하는 응용 프로그램을 작성하는 과정을 소개하고 있다. 1장 후반부에는 ARM 프로세서의 구조와 명령어에 대해서 간략하게 정리하였다. 4장 이후의 내용을 다루기 전에 1장 후반부를 공부하면 좋을 것으로 생각이 된다. 4장 이후의 실습에 사용되는 임베디드 보드는 Raspberry Pi3 Model B+을 활용한 휴인스의 Achro-iEM Kit이다.
본 교재의 내용을 이해하기 위해서는 C-언어와 마이크로프로세서에 대한 기본 지식을 가지고 있어야 한다. 책에 소개된 내용들은 해당하는 주제를 깊이 다루기보다는 전체 과정을 이해하는데 필요한 정도를 포함하고 있기 때문에 공부할 때에 본 교재와 더불어 리눅스 명령어나 Linux 커널에서 제공하는 시스템 call 함수 등의 주제를 보다 깊이 다룬 참고 서적이나 Web site (ex. linuxcommand.org) 등을 참조하는 것이 도움이 될 것이다. 교재의 내용 중 일부는 이들 Web site의 내용들을 발췌하였음을 밝혀둔다.
본 교재의 내용을 이해하기 위해서는 C-언어와 마이크로프로세서에 대한 기본 지식을 가지고 있어야 한다. 책에 소개된 내용들은 해당하는 주제를 깊이 다루기보다는 전체 과정을 이해하는데 필요한 정도를 포함하고 있기 때문에 공부할 때에 본 교재와 더불어 리눅스 명령어나 Linux 커널에서 제공하는 시스템 call 함수 등의 주제를 보다 깊이 다룬 참고 서적이나 Web site (ex. linuxcommand.org) 등을 참조하는 것이 도움이 될 것이다. 교재의 내용 중 일부는 이들 Web site의 내용들을 발췌하였음을 밝혀둔다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
머리말
제1장 ARM 기반 임베디드 시스템
1.1 임베디드 시스템 개요
1.2 임베디드 시스템 하드웨어
1.2.1 시스템 온 칩(System on Chip:?SoC)
1.2.2 메모리 구성
1.2.3 주변 장치(Peripheral)
1.3 ARM 프로세서
1.3.1 ARM 프로세서 개요
1.3.2 ARM 아키텍처의 특징
1.3.3 ARM7/9/11/ Cortex 아키텍처
1.4 ARM9TDMI 프로세서 코어
1.4.1 특징
1.4.2 ARM9 프로그래밍 모델
1.4.3 예외 상황(Exceptions)
1.4.4 메모리, 메모리 공간 I/O
1.5 ARM 명령어
1.5.1 명령어 개요
1.5.2 데이터 처리 명령어
1.5.3 상태 레지스터 명령어
1.5.4 분기 명령어
1.5.5 곱하기 명령어
1.5.6 Immediate 상수
1.5.7 메모리 사용 명령어
1.6 연습문제
제2장 리눅스 시스템
2.1 리눅스 소개
2.1.1 운영체제
2.1.2 리눅스 역사
2.2 리눅스 구조
2.2.1 리눅스 커널의 구조
2.2.2 리눅스의 장단점
2.2.3 리눅스의 자원 중재
2.3 PC에 리눅스 설치하기
2.3.1 Ubuntu 다운로드
2.3.2 리눅스 설치를 위한 VMware 설정
2.3.3 호스트 시스템 슈퍼 유저 사용 설정
2.3.4 라이브러리 설치
2.3.5 VMware Tools 설치(Guest와 Host간의 파일 공유 시 필요)
2.4 리눅스 쉘 명령어
2.4.1 디렉터리와 파일 관련 명령어
2.4.2 I/O redirection과 Pipe Line
2.4.3 권한 조작 명령어
2.4.4 기타 명령어
2.5 연습문제
제3장 리눅스 응용 프로그램
3.1 컴파일과 Make 파일
3.1.1 C 프로그램 작성 및 실행
3.1.2 Makefile
3.2 파일 입출력 프로그램
3.2.1 open, close, read, write
3.2.2 ioctl
3.2.3 mmap
3.3 프로세스, 쓰레드, IPC
3.3.1 프로세스
3.3.2 쓰레드
3.3.3 IPC (pipe)
3.4 하드웨어 장치 사용
3.4.1 장치(Device) 사용 개요
3.4.2 직렬통신 장치 사용
3.5 연습문제
제4장 라즈베리파이 3를 활용한 임베디드 리눅스 개발 환경
4.1 개발 환경 개요
4.2 개발 환경 시스템 패키지 설치
4.2.1 패키지 다운로드를 위한 네트워크 설정
4.2.2 네트워크 기반의 개발 관련툴
4.2.3 커널 빌드 및 빌드 옵션 관련 툴 설치
4.2.4 명령 전송을 위한 무선 네트웍 연결 설정
4.3 임베디드 리눅스 실습 키트
4.3.1 Achro-EM Kit 개요
4.3.2 Raspbian OS 설치
4.4 커널 빌드 및 Toolchain 설치
4.4.1 커널 빌드
제5장 디바이스 드라이버
5.1 타겟보드를 위한 응용 프로그램 작성
5.1.1 소스코드 작성 및 크로스 컴파일
5.2 리눅스 모듈 작성법
5.2.1 모듈 프로그래밍 개요
5.2.2 모듈 프로그래밍 실습
5.2.3 Usage Count
5.3 디바이스 드라이버 인터페이스
5.4 디바이스 드라이버 관련 커널 API
5.4.1 ioremap 함수
5.4.2 request_irq 함수
5.5 연습 문제
제6장 타겟보드용 응용 프로그램
6.1 그래픽 LCD 활용
6.1.1 3색 디스플레이
6.1.2 시계 구현
6.2 마우스 활용
6.2.1 Linux Input Subsystem
6.2.2 Event Handler 활용
6.3 타이머 활용
6.3.1 타이머 관련 API
6.3.2 활용 예
6.4 I/O Device Driver
6.4.1 I/O Interface
6.4.2 External LED
6.4.3 FND
6.4.4 Dot Matrix
6.4.5 Text LCD 제어하기
6.4.6 DIP Switch
6.4.7 Push Switch
6.4.8 Buzzer
6.4.9 Step motor
6.5 연습문제
제1장 ARM 기반 임베디드 시스템
1.1 임베디드 시스템 개요
1.2 임베디드 시스템 하드웨어
1.2.1 시스템 온 칩(System on Chip:?SoC)
1.2.2 메모리 구성
1.2.3 주변 장치(Peripheral)
1.3 ARM 프로세서
1.3.1 ARM 프로세서 개요
1.3.2 ARM 아키텍처의 특징
1.3.3 ARM7/9/11/ Cortex 아키텍처
1.4 ARM9TDMI 프로세서 코어
1.4.1 특징
1.4.2 ARM9 프로그래밍 모델
1.4.3 예외 상황(Exceptions)
1.4.4 메모리, 메모리 공간 I/O
1.5 ARM 명령어
1.5.1 명령어 개요
1.5.2 데이터 처리 명령어
1.5.3 상태 레지스터 명령어
1.5.4 분기 명령어
1.5.5 곱하기 명령어
1.5.6 Immediate 상수
1.5.7 메모리 사용 명령어
1.6 연습문제
제2장 리눅스 시스템
2.1 리눅스 소개
2.1.1 운영체제
2.1.2 리눅스 역사
2.2 리눅스 구조
2.2.1 리눅스 커널의 구조
2.2.2 리눅스의 장단점
2.2.3 리눅스의 자원 중재
2.3 PC에 리눅스 설치하기
2.3.1 Ubuntu 다운로드
2.3.2 리눅스 설치를 위한 VMware 설정
2.3.3 호스트 시스템 슈퍼 유저 사용 설정
2.3.4 라이브러리 설치
2.3.5 VMware Tools 설치(Guest와 Host간의 파일 공유 시 필요)
2.4 리눅스 쉘 명령어
2.4.1 디렉터리와 파일 관련 명령어
2.4.2 I/O redirection과 Pipe Line
2.4.3 권한 조작 명령어
2.4.4 기타 명령어
2.5 연습문제
제3장 리눅스 응용 프로그램
3.1 컴파일과 Make 파일
3.1.1 C 프로그램 작성 및 실행
3.1.2 Makefile
3.2 파일 입출력 프로그램
3.2.1 open, close, read, write
3.2.2 ioctl
3.2.3 mmap
3.3 프로세스, 쓰레드, IPC
3.3.1 프로세스
3.3.2 쓰레드
3.3.3 IPC (pipe)
3.4 하드웨어 장치 사용
3.4.1 장치(Device) 사용 개요
3.4.2 직렬통신 장치 사용
3.5 연습문제
제4장 라즈베리파이 3를 활용한 임베디드 리눅스 개발 환경
4.1 개발 환경 개요
4.2 개발 환경 시스템 패키지 설치
4.2.1 패키지 다운로드를 위한 네트워크 설정
4.2.2 네트워크 기반의 개발 관련툴
4.2.3 커널 빌드 및 빌드 옵션 관련 툴 설치
4.2.4 명령 전송을 위한 무선 네트웍 연결 설정
4.3 임베디드 리눅스 실습 키트
4.3.1 Achro-EM Kit 개요
4.3.2 Raspbian OS 설치
4.4 커널 빌드 및 Toolchain 설치
4.4.1 커널 빌드
제5장 디바이스 드라이버
5.1 타겟보드를 위한 응용 프로그램 작성
5.1.1 소스코드 작성 및 크로스 컴파일
5.2 리눅스 모듈 작성법
5.2.1 모듈 프로그래밍 개요
5.2.2 모듈 프로그래밍 실습
5.2.3 Usage Count
5.3 디바이스 드라이버 인터페이스
5.4 디바이스 드라이버 관련 커널 API
5.4.1 ioremap 함수
5.4.2 request_irq 함수
5.5 연습 문제
제6장 타겟보드용 응용 프로그램
6.1 그래픽 LCD 활용
6.1.1 3색 디스플레이
6.1.2 시계 구현
6.2 마우스 활용
6.2.1 Linux Input Subsystem
6.2.2 Event Handler 활용
6.3 타이머 활용
6.3.1 타이머 관련 API
6.3.2 활용 예
6.4 I/O Device Driver
6.4.1 I/O Interface
6.4.2 External LED
6.4.3 FND
6.4.4 Dot Matrix
6.4.5 Text LCD 제어하기
6.4.6 DIP Switch
6.4.7 Push Switch
6.4.8 Buzzer
6.4.9 Step motor
6.5 연습문제
저자
저자
이영일
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

