본문 바로가기

추천 검색어

실시간 인기 검색어

규칙으로 배우는 임베디드 시스템

CPU 이론 및 펌웨어 개발 규칙(개정증보판)
장선웅 지음
북랩

2023년 08월 28일 출간

종이책 : 2023년 07월 28일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (7.39MB)
ISBN 9791168365612
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 불가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
  • sam 무제한 이용가능
  • sam 프리미엄 이용가능

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

작품소개

이 상품이 속한 분야

“이 책을 읽는 가장 좋은 방법은 소설책 읽듯이 반복하여 읽어 기초 이론과 시스템 개발 규칙 간의 연관관계에 대해 이해하는 것입니다.”

CPU(Central Processing Unit)는 목표하는 동작을 수행하기 위해 명령을 읽고 해석하여 처리하는 중앙 처리 장치로 정의된다. 수동 소자, 능동 소자와 반도체 IC. 특히 플립플롭 같은 메모리 소자들을 모두 이용한 회로를 하나의 패키지에 집적하여 만들어진 IC가 CPU이며, 집적회로의 최고봉이라 할 수 있다.
CPU의 사용은 하드웨어만으로 설계된 시스템에 비하여 소프트웨어만 변경함으로써 시스템의 구현 및 수정을 쉽게 할 수 있다는 최대의 장점으로 대부분의 전기/전자 시스템에 사용되므로 구조 및 동작에 대해 알아 두어야 한다.
특정 CPU를 지정하여 자세히 알아보는 것도 충분히 의미가 있겠지만, 여기서는 CPU의 일반적인 구성 요소들과 동작에 대해서 살펴봄으로써, 사용하게 될 CPU의 종류가 바뀌더라도 쉽게 접근할 수 있는 능력 배양을 목표로 한다.
I. CPU 기초 이론
1. CPU 일반
1.1. CPU의 구조 및 동작
1.1.1. CPU의 구조 및 기능
1.1.2. CPU의 동작 단계
1.2. 명령어 구조와 실행 파일
1.2.1. 명령어 구조로 보는 RISC/CISC CPU 구조
1.2.2. CPU의 동작과 실행 바이너리 파일
1.3. CPU동작을 위한 주변 하드웨어
1.3.1 전원 (Power)을 위한 레귤레이터
1.3.2. 클럭 (Clock)
1.3.3. 메모리 (Memory)
1.3.4. CPU 버스 구조
1.3.5. 리셋(Reset)
1.4. 리셋 후 펌웨어 부팅 과정
1.4.1. 리셋 벡터
1.4.2. Reset_Handle
1.5. 인터럽트
1.5.1. 인터럽트의 동작
2. MCU(Micro Controller Unit)
2.1. GPIO
2.1.1. 부가 기능 (Alternate Function)
2.1.2. GPIO 내부 회로
2.2. 직렬 통신 이론 일반
2.2.1. 7 계층(Layer)
2.2.2. 프로토콜(Protocol)
2.2.3. 직렬 (Serial) 통신 방식의 구분
2.2.4. 통신 신호의 SNR(Signal to Noise Ratio) 강화
2.2.5. 통신 오류 검출 방법
2.3. 직렬 통신
2.3.1. UART (Universal Asynchronous Receiver & Transmitter)
2.3.2. I2C
2.3.3. SPI (Seri2.3.3. SPI (Serial Peripheral Interface)
2.4. ADC와 DAC&PWM
2.4.1. ADC(Analog To Digital Converter)
2.4.2. DAC (Digital to Analog Converter)
2.4.3. PWM(Pulse Width Modulation)
2.5. MCU 선택의 고려사항

II. 시스템 개발 프로세스

III. 펌웨어 개발 규칙
1. 펌웨어의 설계 및 구현 규칙
1.1. 펌웨어의 설계
1.1.1. HAL 구조 설계
1.1.2. 데이터 취득 및 제어 방식
1. 1.3. 펌웨어 설계 도구
1.2. 펌웨어의 구현 전략
1.2.1. 시스템에 맞는 컴파일 환경 설정
1.2.2.가독성을 위한 규칙
1.2.3. 하드웨어 접근 코딩
1.3. 펌웨어의 안전성
1.4. 펌웨어의 성능
1.4.1. 알고리즘 구현
1.4.2. 메모리 정렬 (Align)
1.4.3. 매크로와 Inline 함수의 사용
1.4.4. 실수 사용의 고려사항
1.4.5. 테스크의 병렬 처리
1.4.6. 기타 성능 규칙
1.5. 펌웨어의 양산 및 유지보수
2. Low Level 펌웨어
2.1. CPU의 동작과 바이너리 파일 생성 과정
2.1.1. 빌드 (Build) 과정
2.2. Low Level 프로그래밍 실습
2.2.1. 소스 파일 생성
2.2.2. 링커 스크립트 작성 .
2.2.3. Startup 코드 작성
2.2.4. Main() 함수 작성
2.2.5. Makefile 작성
2.2.6. 컴파일로 컴파일로 이진 바이너리 파일 생성
2.2.7. [ 참고 ] ELF 파일에서 정보 얻기
3. 펌웨어 설계 및 구현 실습
3.1. 모드버스(Modbus) RTU 프로토콜
3.1.1. 필드 버스 (Field Bus) 일반
3.1.2. 모드버스(Modbus) RTU
3.2. 펌웨어 설계
3.2.1. 블록 다이어그램
3.2.2. 플로우 차트
3.3. 펌웨어 구현 및 테스트
3.3.1. Modbus_io 모듈 소스 구현
3.3.2. Modbus COM 모듈
3.3.3. Main 함수
3.4. 펌웨어 취약점 보완
4. 기초 알고리즘
4.1. [일반] 채터링 방지 알고리즘
4.1.1. 일정 시간 반복 체크 법
4.1.2. 저주파 필터를 이용한 채터링 방지 방법
4.2. 자료 구조론
4.2.1. 데이터 정렬
4.2.2. 원형 큐(Circular Queue)
4.3. 수치 해석
4.3.1. 테일러 급수 (Taylor Series)
4.3.2. 연립 방정식의 해
4.3.3. 방정식의 근
4.3.4. 보간법 (Interpolation)
4.3.5. 수치 미분
4.3.6. 수치 적분
4.4. 디지털 신호 처리(DSP)
4.4.1. 샘플링 샘플링 주파수
4.4.2. 저주파 통과 필터
4.4.3. 고주파 통과 필터

IV. [참고] 디버깅
1. 디버깅 절차
2. 측정 장비 및 디버깅 예
2.1. 전기 신호 측정 장비
2.2. 디버깅/측정 항목

C 언어, 어셈블리어 등의 프로그래밍 언어를 이용하여 원하는 동작을 구현(코딩, 프로그래밍)한 텍스트 파일(코드 파일)을 컴파일하여 얻어지는 CPU가 해독할 수 있는 이진 기계어 명령의 집합을 펌웨어(Firmware)라 한다.
이 펌웨어를 메모리에 저장하면 CPU는 메모리에서 기계어 명령을 읽어 해석하고 실행한다. 이런 일련의 과정을 이해하기 위하여 CPU가 전원이 들어온 후 펌웨어를 동작시키는 과정에 대해 살펴보도록 할 것이다.

p. I-1


전기/전자 시스템에는 EMI/EMC 와 전기안전 규격이 있어 그에 맞는 회로 설계 및 PCB 설계를 통하여 하드웨어의 안전성을 확보해야 하는 규칙이 있다.
마찬가지로, 펌웨어 측면에도 안전성은 매우 중요한 항목으로, 안전한 펌웨어는 어떠한 경우라도 오동작을 하지 않는 펌웨어를 의미한다.
ESD, EOS 등의 전기적 충격에 의한 레지스터, 메모리의 값의 손상이 제품의 동작의 정지로 이어진다면 오히려 안전하다 할 수 있겠지만, 펌웨어의 오동작, 예를 들면 모터를 멈춰야 하는 시점에 하드웨어 메모리의 손상으로 플래그가 모터를 돌려야 하는 조건에 들어온다면 안전에 문제가 된다.
특히, 화재 및 감전, 인체 손상과 같은 심각한 결과를 유발할 수 있는 가전기기에서의 안전한 펌웨어의 구현은 매우 중요하다 할 수 있다.
소프트웨어 안전 측면에도 국제규격의 안전성(Safety)을 시험하는 항목이 있는데, 가정용 및 이와 유사한 자동제어 장치에 대한 시험 규격인 IEC 60730-1 이 좋은 예이며, 여기에는 노이즈 또는 전기 충격, 환경 변화 등에 의해 발생할 수 있는 하드웨어 손상에 의한 펌웨어 오동작에 대한 시험 항목들이 있다.
이 시험 항목에 대해 간단하게 살펴보면, CPU 의 PC 레지스터 및 기본 레지스터의 훼손에 의한 오동작, 잘못된 인터럽트에 대한 오동작, 비트 단위의 메모리 훼손 시 메모리에 의한 오동작, 통신 데이터 훼손에 의한 오동작, 디지털 IO/ADC/DAC 입력 오류로 인한 오동작 등이 있을 수 있는데, 이때 기기는 이 오류를 검출하여 정지하거나 리셋을 통해 다시 시작하는 방법 등으로 펌웨어가 오동작을 하지 않도록 해야 한다.
FailSafe는 오류에 대한 예외 처리를 의미하는 용어로 이번 장에서 간단하지만 일반적으로 사용되는 FailSafe 기법에 대해서 살펴본다.

p. III-152


만약, 샘플링 주기가 100ms 즉, 10Hz 라면 처리할 수 있는 최대 주파수는 10Hz/2 = 5Hz 의 주파수가 된다. 5Hz 이상의 아날로그 신호가 입력된다면, 디지털 필터에서는 저주파로 잘못 해석되어 처리되기 때문에 오류가 된다.
정리하자면, 처리하고자 하는 신호의 최대 주파수보다 2배 이상 빠른 주기로 샘플링해야 한다는 것을 의미하며, 이를 나이퀴스트 샘플링 이론(Nyquist Sampling Theorem)이라 한다.
나이퀴스트 샘플링 이론은 측정하려는 밴드 제한(Band-Limit)된 연속 신호의 최대 주파수보다 최소 2배 이상의 샘플링 주파수를 가지면, 주파수의 간섭(Aliasing, 에일리아싱) 없이 원본 신호를 완전히 복원 가능하다라고 정의된다.
이런 이유로 ADC에서 잠깐 보았던 안티 에일리아싱 하드웨어 필터가 샘플링 주파수/2 이상의 신호를 하드웨어적으로 미리 제거함으로써, 샘플링 주파수/2 이상의 데이터가 디지털 데이터로 변환되지 못하도록 하는 용도이다.

p. III-279

작가정보

저자(글) 장선웅

1999년도 충남대학교 메카트로닉스학과를 졸업했다. 이후 반도체 팹리스 업체에서 18년 동안 엔지니어로 근무하면서, 특허청장 표창을 받은 이력이 있다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    규칙으로 배우는 임베디드 시스템 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    규칙으로 배우는 임베디드 시스템 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    규칙으로 배우는 임베디드 시스템
    CPU 이론 및 펌웨어 개발 규칙(개정증보판)
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)