리눅스 OS를 갖춘 Raspberry Pi3를 사용하여, LCD, 마우스 및 다양한 하드웨어 장치 사용에 필요한 디바이스 드라이버를 만들고 이를 활용하는 응용 프로그램을 작성하는 방법을 익힐 수 있도록 한다.
목차
머리말
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 연습문제
서가브라우징
이것이 우분투 리눅스다 : 설치부터 서버 & 네트워크 관리까지2017 / 지음:우재남 / 한빛미디어
이것이 windows server다 : 설치부터 운영까지 실무 현장 그대로!2017 / 지음: 우재남 / 한빛미디어
이것이 fedora 리눅스다 : 실무 현장 그대로 배우는 서버 & 네트워크2019 / 지음: 우재남 / 한빛미디어
(슈퍼 사용자라면 당연히 알아야 할) 리눅스 작동법2015 / 지음: 브라이언 워드 ; 옮김: 유하영, 전우영 / BJpublic(비제이퍼블릭)