임베디드 엔지니어 교과서 : 인공지능 시대가 요구하는 임베디드 시스템 개발자의 핵심 스킬 - 제이펍의 로봇 시리즈 15
Description
『임베디드 엔지니어 교과서』는 하드웨어 및 소프트웨어 지식, 임베디드 프로그램의 개요, 실시간 운영체제, 임베디드 소프트웨어의 개발 프로세스뿐만 아니라 사물인터넷/인공지능 시대의 임베디드 소프트웨어에 대해서도 상세히 다루고 있다. 또한, 앞으로 임베디드 시스템을 개발할 엔지니어가 개발환경에 참가하기 전에 알아 두어야 할 필수 사항을 수록했으며, 마이크로컴퓨터 보드가 단순한 블랙박스가 아닌, 실제로 어떻게 동작하는지에 대해 그 구조를 이해하고 문제를 해결할 수 있도록 충분한 내용을 담았다.

저자

와타나베노보루,마키노신지

저자:와타나베노보루
전자제품제조사에서통신시스템의개발및프로세스개선업무를진행하였고,IPA(독립행정법인정보처리추진기구)연구원으로서임베디드기술자육성업무를담당하였다.2010년부터는주식회사아프렐에서레고마인드스톰을이용한인재육성을기획하였으며,현재는NPO법인임베디드소프트웨어관리자이며,기술자육성연구회이사로재직중이다.또한,합동회사와타나베기술연구소및주식회사‘forOurKids’를창업하여자체제작한교재용로봇의개발,영업등의업무를맡고있다.

저자:마키노신지
사업자용ISDN,PHS용교환기의임베디드소프트웨어개발및유지보수를시작해스마트폰,IVI및방송기기용하드웨어개발(회로설계,FPGA설계)등의경력을쌓았다.개발기술뿐만아니라임베디드개발프로세스개선,소프트웨어유지보수방법의개선등개발관리,임베디드기술자의교육등도진행했다.저서로는《ETSS표준가이드북》,《임베디드시스템개발을위한임베디드소프트웨어기술》이있다.최근에는IoT기기등임베디드제품의보안대책과관련한연구활동도하고있다.

역자:정인식
숭실대학교에서전자계산학을전공하였다.사회초년생시절자바에심취해현대정보기술에서웹애플리케이션을개발하였고,그후이동통신단말기분야로옮겨휴대전화단말기의부가서비스개발업무를진행하였다.그리고일본키스코모바일사업부의팀장을거쳐,일본교세라의북미향휴대전화기개발에참여하였다.지금은일본의주요이동통신사에서업무프로세스개선을위한IT컨설팅및데이터분석관련도구를개발하고있다.또한,《알파고를분석하며배우는인공지능》,《빅데이터를지탱하는기술》,《유니티5로만드는3D/2D스마트폰게임개발》,《자바마스터북》,《자바스크립트마스터북》등을비롯해10여종의책을번역하였다.

목차

CHAPTER1임베디드소프트웨어엔지니어의업무1
01임베디드시스템이란?3
임베디드시스템의중요성3
임베디드시스템과PC,서버는어떻게다른가?4
02임베디드시스템의특징5
Nature:자연법칙의취급6
Time:실시간성의요구7
Constraint:엄격한제약사항8
Reliability:높은신뢰성9
제품별NTCR요구사항의특징9
03임베디드소프트웨어란?10
소프트웨어의종류10
04임베디드소프트웨어엔지니어의업무13
임베디드소프트웨어엔지니어가속하는조직13
임베디드소프트웨어의규모에따라조직은변한다13
하청이아닌프로서비스14
05임베디드소프트웨어엔지니어의직종16

CHAPTER2마이크로컴퓨터하드웨어19
06임베디드시스템의구성21
07임베디드마이크로컴퓨터의구성23
하드웨어의종류23
CPU와마이크로컴퓨터24
메모리25
메모리의종류27
버스의구성29
메인버스의용도29
로컬버스31
주변장치34
주변장치의제어방식36
08CPU란?38
CPU의명령실행40
인터럽트43

CHAPTER3임베디드소프트웨어47
09임베디드시스템의소프트웨어49
임베디드소프트웨어의종류49
10임베디드소프트웨어를개발하는흐름51
실제빌드의흐름확인하기53
11어셈블리언어로부터알수있는것59
스타트업루틴61
main함수가호출될때까지의흐름추적61
메모리맵63
스택64
스택과인터럽트65
12임베디드소프트웨어의테스트환경68
ICE68
13임베디드시스템프로그래밍에서의C언어71
최적화옵션의장점과단점71
volatile선언71
unsigned와signed72
pragma73
포인터와배열73
인터럽트핸들러74

CHAPTER4임베디드시스템을사용한C언어프로그래밍77
14아두이노의하드웨어확인하기79
아두이노란?79
아두이노우노의하드웨어구성80
마이크로컴퓨터의데이터시트조사하기82
데이터시트와보드맞춰보기84
ATmega328P의내부구성과커넥터와의관계88
15LED를ON/OFF하는실험93
LED실험의개요93
LED접속94
점멸프로그램작성하기96
동작확인101
16LED실험프로그램이해하기103
CPU의관점에서바라본레지스터제어103
어셈블러에서확인103
17LED점멸시간지정하기109
타이머의이용111

CHAPTER5실시간운영체제113
18임베디드시스템의운영체제115
운영체제란?115
임베디드운영체제가필요한이유116
임베디드운영체제를사용할때의단점121
19임베디드운영체제사용해보기123
임베디드운영체제의동작123
20FreeRTOS동작배우기128
FreeRTOS의구성128
FreeRTOS의기본동작129
소스코드의실제동작131
21임베디드운영체제의역사136
임베디드운영체제의역사136
임베디드운영체제의종류와시대배경138
22임베디드운영체제의선택방법142
임베디드운영체제의선정포인트142

CHAPTER6스마트디바이스145
23데이터주도사회147
데이터의활용147
24스마트디바이스149
스마트디바이스란?149
스마트디바이스의사용예150
스마트디바이스의구성152

CHAPTER7임베디드리눅스161
25임베디드리눅스163
리눅스운영체제를사용하는이유163
리눅스운영체제가동작하는하드웨어구성164
리눅스운영체제가동작하는소프트웨어구성168
26임베디드리눅스소프트웨어의개요170
프로세스170
스레드171
IPC171
커널172
시스템콜인터페이스175
27임베디드리눅스의빌드와기동179
이용할하드웨어179
라즈베리파이3B+의리눅스배포판181
라즈베리파이3B+에서Yocto를기동하기까지의흐름183
Yocto에서의빌드실행183
28임베디드리눅스의동작확인187
Yocto재빌드에의한자체개발환경의도입187
sysfs의이용196
오픈소스소프트웨어의이용198
임베디드리눅스개발에서주의해야할포인트203

CHAPTER8임베디드소프트웨어의개발프로세스207
29임베디드시스템의라이프사이클209
30임베디드시스템의개발방법211
동시개발211
프런트로딩212
임베디드소프트웨어개발프로세스의V자모델213
임베디드소프트웨어개발프로세스214
31시스템요구정의216
32시스템아키텍처설계218
33소프트웨어요구정의223
34소프트웨어아키텍처설계225
35소프트웨어상세설계228
36구현,단위테스트229
37소프트웨어결합,통합테스트232
38소프트웨어타당성확인테스트235
39시스템결합,통합테스트와시스템타당성확인테스트236
40제품출하237

CHAPTER9사물인터넷/인공지능시대의임베디드소프트웨어개발239
41산업혁명과임베디드시스템241
제1차산업혁명241
제2차산업혁명242
제3차산업혁명243
제4차산업혁명245
42DX시대의임베디드시스템개발247
기능배치의변화247
43임베디드엔지니어의학습방법253
수파리이론253
표준적인개발방법배우기254
자신이직접정보를제공하면다른정보도수집된다255

APPENDIXAArduinoIDE/Yocto의설치257
44ArduinoIDE를윈도우10에서설치하기259
ArduinoIDE의입수259
ArduinoIDE의설치262
AVR명령의동작확인266
45Yocto빌드환경의준비267
dash의전환267
빌드에필요한패키지설치267
프록시의설정이필요할때268
46라즈베리파이3의Yocto환경구축271
Yocto의버전271
Yocto의환경구축271
Yocto환경의셋업272

찾아보기276

출판사 서평

아두이노와라즈베리파이를이용한최신실전기술수록!
임베디드엔지니어를목표로하는사람과신입임베디드엔지니어를위한필독서!

이책은하드웨어및소프트웨어지식,임베디드프로그램의개요,실시간운영체제,임베디드소프트웨어의개발프로세스뿐만아니라사물인터넷/인공지능시대의임베디드소프트웨어에대해서도상세히다루고있습니다.또한,앞으로임베디드시스템을개발할엔지니어가개발환경에참가하기전에알아두어야할필수사항을수록했습니다.특히,마이크로컴퓨터보드가단순한블랙박스가아닌,실제로어떻게동작하는지에대해그구조를이해하고문제를해결할수있도록충분한내용을담았습니다.

다른책이나인터넷등에도아두이노나라즈베리파이에관한다양한정보가있지만,대부분이센서에접속하거나서버설정방법을설명하는정도입니다.하지만이책에서는독자가시중에서구하기쉬운소형마이크로컴퓨터아두이노와고성능마이크로컴퓨터를탑재한라즈베리파이를활용해서마이크로컴퓨터나운영체제를화이트박스로서이해하는것과함께,개발환경에서이용되는소형마이크로컴퓨터부터고성능마이크로컴퓨터까지응용하는것을목표로합니다