임베디드 소프트웨어 베이직 with 라즈베리 파이

임베디드 소프트웨어 베이직 with 라즈베리 파이

$33.28
Description
*현업 시니어와 주니어가 대화로 풀어 쓴 임베디드 소프트웨어 베이직.*
이 책은 임베디드를 처음 접하는 독자들을 위한 책으로, 현업 시니어가 이론을 설명해주고 주니어가 실습을 하는 방식으로 되어있습니다. 책의 앞부분은 하드웨어에 대한 내용을 다루고 그 후 소프트웨어 입문에 대한 내용을 다루고 있습니다. 그 다음 실절적인 소프트웨어 개발 내용을 다루고 마지막으로 중급자를 위한 내용도 간략하게 소개하고 있습니다. 이 책 한 권이면 막연하게 느껴지던 임베디드 소프트웨어도 한층 가까워질 것입니다.
저자

이경종,민복기

삼성전자소프트웨어개발자를거쳐,현재크리에이츠소프트웨어팀장으로임베디드리눅스기반소프트웨어개발을주도하고있음.저서로는〈어떤개발자가살아남는가,2022비제이퍼블릭〉,〈개발자오디세이아,2020로드북〉이있음.첫저서였던〈개발자오디세이아〉는2021년도교육부선정우수학술도서에선정된바있음.

목차

프롤로그
저자소개
이책의구성
서문
추천사
배터리더추천사

PART1하드웨어를이해하고기본지식을익히자!

CHAPTER01하드웨어를알아야소프트웨어를만들수있나요?:하드웨어기초
1.1전압과전류,저항
1.2전원(Powersource)
1.3아날로그와디지털:신호(signal)와주파수(frequency
1.4아날로그와디지털:디지털신호(digitalsignal)
1.5회로도:소자에대해
1.6회로도:회로도보는방법
1.7데이터시트보는법
1.8라즈베리파이란?
실습1.1라즈베리파이설치및구동

CHAPTER02복잡해보이는컴퓨터는어떻게만들어지나요?:컴퓨터시스템
2.1컴퓨터시스템이란?
2.2프로세서,CPU,그리고컴퓨팅아키텍처
2.3ICtechnology
2.4클럭?주파수?
2.5시스템버스
2.6라즈베리파이4ComputeModule(CM4)프로세서
실습2.1라즈베리파이프로세서정보확인
실습2.2라즈베리파이툴과유틸리티

CHAPTER03데이터의실체는뭐고,어떻게움직이나요?:데이터프로세싱
3.1코딩과디코딩
3.2비트연산,데이터포맷
3.3바이트오더링(ByteOrdering)
3.4데이터통신-타이밍다이어그램
실습3.1인코딩/디코딩
실습3.2라즈베리파이설정-raspi-config
실습3.3CPU클럭속도변경실습

CHAPTER04시스템에붙는장치들은왜이렇게도많을까요?:주변기기및통신
4.1주변장치와의데이터통신
4.2PIO(ProgrammableInput/Output)
4.3I2C
4.4시리얼(serial)
4.5USB(UniversalSerialBus)
실습4.1라즈베리파이config
실습4.2라즈베리파이GPIO
실습4.3라즈베리파이시리얼통신
실습4.4라즈베리파이I2C통신

CHAPTER05메모리는그냥저장장치아닌가요?:메모리
5.1메모리개론
5.2외부메모리(ExternalMemory)의종류
5.3메모리인터페이스
5.4내부메모리-캐시/레지스터
5.5가상메모리/MMU
5.6메모리맵드(Memory-Mapped)I/O
5.7DMA(DirectMemoryAccess)
실습5.1라즈베리파이메모리정보분석

CHAPTER06파일하나복사하는데시스템이필요한가요?:파일시스템
6.1임베디드디바이스의파일시스템
6.2루트파일시스템
6.3FAT32VSEXT4,그리고NFS?
6.4파일시스템파티션,그리고파일
실습6.1파일시스템만들어보기
실습6.2램디스크만들어보기

CHAPTER07네트워크와인터넷의차이가뭐죠?:네트워크217
7.1네트워크개론
7.2이더넷(Ethernet)
7.3와이파이(Wi-Fi)
7.4Bluetooth
실습7.1이더넷과와이파이네트워크구성실습

CHAPTER08그냥다윈도우쓰면편하지않나요?:운영체제/플랫폼
8.1RTOS(RealTimeOS)
8.2Linux
8.3Android
8.4Raspbian/Debian
8.5POSIX
실습8.1리눅스커널구성/빌드

CHAPTER09부트로더(Bootloader)는임베디드전용소프트웨어인가요?:부트로더
9.1부팅프로세스
9.2부트로더란
9.3라즈베리파이부팅과정분석
실습9.1라즈베리파이부트로더실습:rpiboot/eeprom/bootconfig
실습9.2라즈베리파이에u-boot구동하기.

CHAPTER10어떤프로그래밍언어를익혀야할지모르겠어요:프로그래밍언어286
10.1어셈블리언어
10.2C언어
10.3C++
10.4셸스크립트
실습10.1셸스크립트


PART2임베디드리눅스프로그래밍의세계로

CHAPTER11그냥일단한번만들어봐!:소프트웨어빌드와개발환경
11.1개발환경
11.2툴체인(Toolchain)
11.3컴파일러
11.4링커
11.5라이브러리(Library)
11.6코드영역/데이터영역/bss
11.7MakeSystem
실습11.1GCC

CHAPTER12프로그램이어떻게실행되는지좀더들여다보자:프로세스/쓰레드
12.1프로세스
12.2쓰레드
12.3스택(Stack)과힙(Heap)
12.4프로세스통신
실습12.1쓰레드실습-pthread

CHAPTER13복잡한소프트웨어가어떻게잘돌아갈수있을까?:인터럽트/스케줄링
13.1인터럽트(interrupt)
13.2컨텍스트스위칭
13.3선점형(Preemptive)커널과비선점형(Non-Preemptive)커널
13.4레이스컨디션(Racecondition),뮤텍스(Mutex),그리고세마포(Semaphore)
13.5데드락(DeadLock)
실습13.1자원을공유하는다중쓰레드실습

CHAPTER14꽂으면자동으로동작하는것같지만,사실은말야:디바이스드라이버383
14.1DEV파일시스템.
14.2udev
14.3리눅스디바이스드라이버(DeviceDriver)
14.4디바이스트리(DeviceTree,DT)
실습14.1라즈베리파이디바이스드라이버용커널모듈실습

CHAPTER15디버깅도예술이될수있어.가르쳐줄까?:임베디드소프트웨어디버깅
15.1효율적인디버깅을위한개발환경구축
15.2임베디드소프트웨어디버깅테크닉
실습15.1gdb활용
실습15.2크래시리포팅시스템활용:bugsplat

CHAPTER16더높은곳으로가고싶어하는너에게:임베디드어드밴스드
16.1임베디드소프트웨어레이어링
16.2임베디드표준
16.3임베디드보안
에필로그
찾아보기

출판사 서평

“임베디드소프트웨어개론,하드웨어&소프트웨어기초부터중급레벨의실무적지식까지총망라한도서”

『임베디드소프트웨어베이직with라즈베리파이』이책은현업임베디드소프트웨어개발자들에게꼭필요한도서로,특히주니어분들의가려운부분을긁어줄수있는책입니다.단순히이론을나열하는것이아니라주니어의궁금증을시니어가대답해주는방식으로어렵지않게임베디드소프트웨어를설명해주고있습니다.소프트웨어베이직이지만하드웨어지식도빠지지않고설명하고있습니다.실무지식까지놓치지않고설명하고있으니주니어개발자들의좋은길잡이가될것입니다.