1부. 고성능 임베디드 시스템 기초
1장. 고성능 임베디드 시스템 설계
기술 요구 사항
임베디드 시스템 요소
전원
시간 축
디지털 처리
메모리
소프트웨어와 펌웨어
특수 회로
환경으로부터 입력
환경으로 출력
네트워크 통신
사물인터넷
실시간 동작
주기적 동작
이벤트 기반 동작
실시간 운영체제
임베디드 시스템에서의 FPGA
디지털 논리 게이트
플립플롭
FPGA 요소
FPGA 합성
하드웨어 설계 언어
임베디드 시스템 설계에서 FPGA 사용의 장점
자일링스 FPGA 및 개발 도구
요약
2장. 세계를 감지하기
기술 요구 사항
수동 선서, 능동 센서, 스마트 센서의 개요
아날로그-디지털 변환기 적용
임베디드 시스템이 사용하는 센서 유형
빛
온도
압력
습도
유체 흐름
힘
초음파
오디오
자기
화학
이온화 방사선
레이더
라이다
비디오와 적외선
관성
GPS
센서와의 통신
GPIO
아날로그 전압
I2C
SPI
CAN 버스
무선
센서 데이터 처리
요약
3장. 실시간 동작
기술 요구사항
실시간의 의미
실시간 임베디드 시스템의 속성
다중 작업 수행하기
비율 단조 스케줄링
주요 RTOS 기능 및 과제 이해
뮤텍스
세마포어
큐
이벤트 플래그
타이머
동적 메모리 할당
교착상태
우선순위 역전
많이 사용되는 실시간 운영체제
embOs
FreeRTOS
INTEGRITY
Neutrino
μc/OS-III
VxWorks
요약
2부. 고성능 임베디드 시스템 설계 및 구축
4장. FPGA 프로그램 개발 시작하기
기술 요구사항
실시간 임베디드 시스템 설계에서 FPGA 사용
블록 램과 분산 램
FPGA 입출력 핀과 관련 기능
전문 하드웨어 자원
프로세서 코어
FPGA 0구현 언어
VHDL
Verilog
블록 다이어그램
C/C++
FPGA 개발 과정
시스템 요구사항 정의하기
FPGA에 기능 할당하기
필요한 FPGA 기능 식
이 책에서 다루는 내용
◆ 실시간 임베디드 시스템과 센서의 기본
◆ FPGA의 기능과 개발 도구 사용법
◆ 디지털 회로 설계와 KiCad를 사용한 PCB 레이아웃
◆ 저렴한 비용으로 고속 회로 보드 프로토타입 제작
◆ FPGA용 고성능 알고리듬 설계 및 개발
◆ C를 이용한 견고하고 안정적이며 효과적인 펌웨어 개발
◆ 임베디드 디바이스 하드웨어와 펌웨어의 완전한 테스트 및 디버깅
이 책의 대상 독자
소프트웨어 개발자나 하드웨어 엔지니어, 사물인터넷 개발자, 고성능 임베디드 시스템 개발 과정을 이해하고자 하는 이들을 위한 책이다. FPGA 개발의 기본 및 C나 C++로 작성된 펌웨어 개발에 관심이 있다면 도움이 될 것이다. C 언어와 디지털 회로, 전자 부품 납땜(솔더링등의 기초를 알고 있어야 한다.
이 책의 구성
1장, ‘고성능 임베디드 시스템 설계’에서는 임베디드 시스템 구조를 이루는 요소를 소개하고 여러 임베디드 애플리케이션에서 공통적으로 사용하는 주요 시스템 기능을 소개한다.
2장, ‘세계를 감지하기’에서는 다양한 임베디드 애플리케이션에서 사용되는 센서의 이론 및 구현을 소개한다.
3장, ‘실시간 동작’에서는 임베디드 시스템이 센서나 다른 자원들로부터 측정된 입력에 대해 실시간 응답을 생성해야 할 필요성을 다룬다. 실시간 운영체제(RTOS의 개념 및 주요 기능을 소개하며, 실시간 애플리케이션에서 멀티태스킹을 구현할 때 흔히 겪는 어려움도 알아본다.
4장, ‘FPGA 프로그램 개발 시작하기’에서는 실시간 임베디드 시스템에서 FPGA 장치의 효과적인 사용법이 무엇인지 설명한다. 표준 FPGA에 포함된 기능적 요소를 알아본다. HDL(하드웨어 명세 언어와 블록 다이어그램 기법, C나 C++ 같은 자주 사용되는 소프트웨어 프로그래밍 언어를 포함하는 다양한 FPGA 설계 언어를 소개한다.
5장, ‘FPGA로 시스템 구현하기’에서는 FPGA를 사용한 임베디드 디바이스 설계 및 구현 과정을 깊게 살펴본다.
6장, ‘KiC