임베디드 OS 개발 프로젝트 (ARM 기반 펌웨어/RTOS의 원리와 구조)
Description
나만의 임베디드 운영체제를 만들어 보자.
이 책은 펌웨어 개발 과정을 실시간 운영체제(RTOS)를 만들어 가며 설명한다. 임베디드 운영체제를 개발 환경 구성에서 시작해 최종적으로 RTOS를 만드는 과정(부트로더 제작, 하드웨어 제어, 태스크 간 동기화 등)을 하나하나 추가하며 설명하고 있다. 이렇게 만들어 가는 과정에서 ARM 아키텍처와 운영체제의 핵심 이론을 설명하고 있어 이미 운영체제 이론을 공부한 사람에게는 공부한 내용이 어떻게 다른 방식으로 구현되는지 혹은 어떤 요소가 공통되는지를 알 수 있는 좋은 기회가 될 것이다. 또한 운영체제 이론을 공부하지 않은 사람은 운영체제 이론을 실전으로 공부해 볼 수 있다.

저자

이만우

목차

1장임베디드운영체제
1.1운영체제
1.2임베디드운영체제와펌웨어
1.3RTOS
1.4나빌로스
1.5에뮬레이터개발환경
1.6깃허브리포지토리에서아카이브다운받기
1.7요약

2장개발환경구성하기
2.1컴파일러설치하기
2.2QEMU설치하기
2.3요약

3장일단시작하기
3.1리셋벡터
3.2실행파일만들기
3.3QEMU에서실행해보기
3.4빌드자동화하기
3.5하드웨어정보읽어오기
3.6요약

4장부팅하기
4.1메모리설계
4.2익셉션벡터테이블만들기
4.3익셉션핸들러만들기
4.4메인으로진입하기
4.5요약

5장UART
5.1UART출력하기
5.2안녕세상!
5.3UART로입력받기
5.4printf만들기
5.5요약

6장인터럽트
6.1인터럽트컨트롤러
6.2UART입력과인터럽트연결
6.3IRQ익셉션벡터연결
6.4요약

7장타이머
7.1타이머하드웨어초기화
7.2타이머카운터오버플로
7.3delay()함수
7.4요약

8장태스크
8.1태스크컨트롤블록
8.2태스크컨트롤블록초기화
8.3태스크생성
8.4요약

9장스케줄러
9.1간단한스케줄러
9.2우선순위스케줄러
9.3요약

10장컨텍스트스위칭
10.1컨텍스트백업하기
10.2컨텍스트복구하기
10.3yield만들기
10.4커널시작하기
10.5요약

11장이벤트
11.1이벤트플래그
11.2인터럽트와이벤트
11.3사용자정의이벤트
11.4여러이벤트플래그를동시에보내고처리하기
11.5요약

12장메시징
12.1메시지큐
12.2태스크간데이터전달
12.3요약

13장동기화
13.1세마포어
13.2뮤텍스
13.3스핀락
13.4요약

14장맺음말
14.1프로젝트종료
14.2펌웨어
14.3RTOS
14.4마치며

부록A추가자료
A.1ARM아키텍처기초지식
A.2ABI
A.3실행파일형식
A.4ARM인포센터에서RealViewPB의데이터시트찾기