서브메뉴

본문

규칙으로 배우는 임베디드 시스템 (CPU 이론 및 펌웨어 개발 규칙)
규칙으로 배우는 임베디드 시스템 (CPU 이론 및 펌웨어 개발 규칙)
저자 : 장선웅
출판사 : 북랩
출판년 : 2023
ISBN : 9791168361768

책소개

베테랑 엔지니어의 전기/전자
임베디드 시스템 개발을 위한 확실한 로드맵!

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

CPU(Central Processing Unit)는 목표하는 동작을 수행하기 위해 명령을 읽고 해석하여 처리하는 중앙 처리 장치로 정의된다. 수동 소자, 능동 소자와 반도체 IC. 특히 플립플롭 같은 메모리 소자들을 모두 이용한 회로를 하나의 패키지에 집적하여 만들어진 IC가 CPU이며, 집적회로의 최고봉이라 할 수 있다.
CPU의 사용은 하드웨어만으로 설계된 시스템에 비하여 소프트웨어만 변경함으로써 시스템의 구현 및 수정을 쉽게 할 수 있다는 최대의 장점으로 대부분의 전기/전자 시스템에 사용되므로 구조 및 동작에 대해 알아 두어야 한다.
특정 CPU를 지정하여 자세히 알아보는 것도 충분히 의미가 있겠지만, 여기서는 CPU의 일반적인 구성 요소들과 동작에 대해서 살펴봄으로써, 사용하게 될 CPU의 종류가 바뀌더라도 쉽게 접근할 수 있는 능력 배양을 목표로 한다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

베테랑 엔지니어의 전기/전자

임베디드 시스템 개발을 위한 확실한 로드맵!



“이 책을 읽는 가장 좋은 방법은 소설책 읽듯이 반복하여 읽어 기초 이론과

시스템 개발 규칙 간의 연관관계에 대해 이해하는 것입니다.”



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. 디버깅/측정 항목
[교보문고에서 제공한 정보입니다.]

QuickMenu

  • TOP