
000 | 00000cam c2200205 c 4500 | |
001 | 000045902894 | |
005 | 20170414121526 | |
007 | ta | |
008 | 170413s2016 ulka b 000c kor | |
020 | ▼a 9788971018231 ▼g 93560 | |
035 | ▼a (KERIS)BIB000014231802 | |
040 | ▼a 211044 ▼c 211044 ▼d 211009 | |
082 | 0 4 | ▼a 004.165 ▼2 23 |
085 | ▼a 004.165 ▼2 DDCK | |
090 | ▼a 004.165 ▼b 2016 ▼c 1 | |
100 | 1 | ▼a 윤덕용 ▼g 尹德鏞 |
245 | 2 0 | ▼a (ARM Cortex-M0) STM32F091 정복 : ▼b OK-STM091 키트 / ▼d 尹德鏞 著 |
260 | ▼a 서울 : ▼b Ohm사, ▼c 2016 | |
300 | ▼a 1058 p. : ▼b 삽화 ; ▼c 26 cm | |
440 | 0 0 | ▼a ARM Cortex-M 시리즈 ; ▼v 1 |
504 | ▼a 참고문헌: p. 1058 | |
945 | ▼a KLPA |
소장정보
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 004.165 2016 1 | 등록번호 121239988 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
STMicroelectronics사의 Cortex-M 시리즈 마이크로컨트롤러를 공부하는 연속물의 첫번째로서 Cortex-M0 모델인 STM32F091VCT6을 중점적으로 설명한다. 여기에는 효율적인 학습을 지원하기 위하여 트레이닝용의 OK-STM091 키트를 함께 제공한다.
이 키트에서는 IAR사의 C컴파일러를 사용하여 C언어로 프로그램을 작성하고, ST-LINK/V2 에뮬레이터를 사용하여 이를 키트에 다운로드하고 실행하는 기술을 익힌다. ARM 마이크로프로세서에서는 사용자가 직접 어셈블리 언어를 사용하여 프로그램을 작성하는 경우가 매우 드물고, Cortex-M0는 C언어에 매우 적합하게 설계되었기 때문에 이 책에서는 C언어만을 사용하기로 한다.
Cortex-M0가 시장에서 8비트 MCU와 경쟁하고는 있지만 마이크로컨트롤러에 처음 입문하는 초보자가 이를 바로 공부하기는 쉽지 않은 32비트급이므로 가급적이면 선행 단계로서 8051, AVR 등과 같은 8비트 MCU를 먼저 공부하고 나서 Cortex-M0를 공부하는 것이 바람직하다.
머 리 말
ARM 마이크로프로세서의 위세가 날로 확장되고 있다. 1990년대 초에 발표된 이후 급속한 진화를 거쳐서 1990년대 후반부터 널리 소개되기 시작한 ARM은 32비트 RISC 구조의 고성능이면서도 가격이 매우 싸고 소비전력이 적다는 등의 장점을 가지고 있어서 이 분야의 시장에 진입한지 불과 10년도 지나지 않아 고성능 임베디드 프로세서 시장을 거의 장악하였다. ARM이 이처럼 경쟁력이 있는 것은 ARM사가 공통의 CPU 코어를 공급하고 각 반도체 회사에서 여기에 필요한 I/O 기능을 추가하여 소자를 제조함으로써 설계 개발에 필요한 시간과 비용을 절감할 수 있었기 때문이다.
그동안 ARM 마이크로프로세서는 소비전력이 적고 고성능이라는 장점 때문에 휴대용 기기나 통신기기에 압도적으로 많이 사용되었다. 그러나, ARM은 2000년대에 들어서면서 기능과 패키지를 간소화하고 저가격이라는 장점을 앞세워 기존의 16비트나 심지어는 8비트의 마이크로컨트롤러 시장까지 파고들기 시작했다. ARM7TDMI 제품군을 중심으로 한 이러한 스마트 ARM 마이크로컨트롤러는 가격 대비 성능이나 성능 대비 소비전력 측면에서의 우월성을 바탕으로 일반 MCU 시장에 쉽게 진입하였다.
ARM의 마이크로컨트롤러 시장 공략은 2004년 ARM사에서 Cortex-M3 아키텍쳐를 발표하고 최근에 이에 속하는 제품들을 여러 반도체 회사에서 출시하면서 더욱 본격화되었다. Cortex-M3는 32비트 마이크로컨트롤러로서 설계되었기 때문에 명령처리 속도는 물론이고 인터럽트 처리 기능이나 다양한 I/O 기능이 기존의 마이크로컨트롤러 제품들을 압도하였다. 여기에 2009년에 초저가형의 Cortex-M0 시리즈를 추가되고, 2010년에는 부동소수점 연산장치를 내장한 Cortex-M4 시리즈, 2012년에 초저전력형의 Cortex-M0+ 시리즈, 2014년에는 Cortex-M4를 더욱 고성능화한 Cortex-M7 시리즈를 계속하여 발표함으로써 이제는 ARM이 아래로는 8비트 MCU 시장에서부터 위로는 DSP 시장까지도 차례로 점령해나가고 있다.
이 책은 STMicroelectronics사의 Cortex-M 시리즈 마이크로컨트롤러를 공부하는 연속물의 첫번째로서 Cortex-M0 모델인 STM32F091VCT6을 중점적으로 설명한다. 여기에는 효율적인 학습을 지원하기 위하여 트레이닝용의 OK-STM091 키트를 함께 제공한다. 이 키트에서는 IAR사의 C컴파일러를 사용하여 C언어로 프로그램을 작성하고, ST-LINK/V2 에뮬레이터를 사용하여 이를 키트에 다운로드하고 실행하는 기술을 익힌다. ARM 마이크로프로세서에서는 사용자가 직접 어셈블리 언어를 사용하여 프로그램을 작성하는 경우가 매우 드물고, Cortex-M0는 C언어에 매우 적합하게 설계되었기 때문에 이 책에서는 C언어만을 사용하기로 한다. Cortex-M0가 시장에서 8비트 MCU와 경쟁하고는 있지만 마이크로컨트롤러에 처음 입문하는 초보자가 이를 바로 공부하기는 쉽지 않은 32비트급이므로 가급적이면 선행 단계로서 8051, AVR 등과 같은 8비트 MCU를 먼저 공부하고 나서 Cortex-M0를 공부하는 것이 바람직하다.
기술도서 시장이 날로 위축되어 가는 어려운 여건 속에서도 이 책을 출판해주신 Ohm사의 곽종학 사장님과 직원 여러분에게 감사드리는 바이다.
2016년 8월 저자 尹 德 鏞 씀
정보제공 :

저자소개
윤덕용(지은이)
(1) 학력 1981. 2. 서울대학교 전기공학과 졸업 1983. 2. 서울대학교 대학원 전기공학과 졸업(공학석사) 1995. 2. 단국대학교 대학원 전기공학과 졸업(공학박사) (2) 주요 경력 1982. 12.~1984. 5. 삼성전자(주) 종합연구소 근무 1984. 6. ~1985. 2. 한독(주) 컴퓨터기술연구소 근무 1985. 3. ~2006. 2. 국립 천안공업대학 전자계산기과/제어계측과 교수 2005. 3. ~현재 국립 공주대학교 천안공과대학 전기전자제어공학부 교수 (3) 저서 마이크로프로세서 응용실습 (1988, 자유아카데미) 16비트 마이크로프로세서 및 IBM PC 하드웨어 입문 (1991, 조원사) 마이크로프로세서 응용 -Z80 MASTER- (1998, Ohm사) DSP 마스터 시리즈 ① - TMS320C31 마스터 (1998, Ohm사) DSP 마스터 시리즈 ② - TMS320C32 마스터 (1999, Ohm사) 어셈블리와 C언어로 익히는 80C196KC 마스터(I) (2000, Ohm사) 어셈블리와 C언어로 익히는 80C196KC 마스터(II) (2000, Ohm사) 어셈블리와 C언어로 익히는 8051 마스터 (2001, Ohm사) 어셈블리와 C언어로 익히는 AT89S52 마스터 (2006, Ohm사) 프로세서 응용 시리즈 ① - LCD 모듈의 철저 활용 (2002, Ohm사) 프로세서 응용 시리즈 ② - LCD 모듈 활용 마스터 (2004, Ohm사) 프로세서 응용 시리즈 ③ - ATmega128을 활용한 졸업작품 만들기(I) (2005, Ohm사) 프로세서 응용 시리즈 ④ - 졸업작품 만들기(VII) TFT-LCD 모듈 활용 마스터 (2009, Ohm사) AVR 마스터 시리즈 ① - AVR ATmega128 마스터 (2004, Ohm사) AVR 마스터 시리즈 ② - AVR ATmega162 마스터 (2004, Ohm사) AVR 마스터 시리즈 ③ - AVR ATmega8515 마스터 (2004, Ohm사) 고성능 AVR 정복 시리즈 ① - AVR ATmega128 정복 (2006, Ohm사) 고성능 AVR 정복 시리즈 ② - AVR ATmega1281/2561 정복 (2006, Ohm사) 고성능 AVR 정복 시리즈 ③ - AVR ATmega1280/2560 정복 (2006, Ohm사) 고성능 AVR 정복 시리즈 ④ - AVR ATxmega 패밀리 정복 (2010, Ohm사) 고성능 AVR 정복 시리즈 ⑤ - AVR ATmega128A 바이블 (2011, Ohm사) 고성능 AVR 정복 시리즈 ⑥ - AVR ATmega128A 바이블2 (2020, Ohm사) 고성능 AVR 정복 시리즈 ⑦ - 8비트 MCU AVR128DA64 정복 (2022, Ohm사) ARM 시작하기 시리즈 ① - ARM7TDMI AT91SAM7S256으로 시작하기 (2007, Ohm사) ARM 시작하기 시리즈 ② - ARM Cortex-M0 STM32F051 마스터 (2013, Ohm사) NXP사의 ARM Cortex-M0+ MKL25Z128VLK4 활용 (2016, Ohm사) ARM Cortex-M 시리즈 ① - ARM Cortex-M0 STM32F091 정복 (2016, Ohm사) ARM Cortex-M 시리즈 ② - ARM Cortex-M7 STM32F767 정복 (2017, Ohm사) ARM Cortex-M 시리즈 ③ - ARM Cortex-M3 STM32F103 정복 (2018, Ohm사) 실용 모터제어 시리즈 ① - 직류전동기 제어 기술 (2015, Ohm사) 실용 모터제어 시리즈 ② - BLDC 모터 제어 기술 (2015, Ohm사) 실용 모터제어 시리즈 ③ - 유도전동기 벡터제어 기술 (2019, Ohm사) (4) 주 관심 분야 벡터제어 인버터를 이용한 유도전동기 및 동기전동기 서보제어 시스템 설계 마이크로프로세서를 이용한 자동화 시스템 및 제어계측 시스템 설계 기타 마이크로프로세서, 마이크로컨트롤러 및 DSP 응용 시스템 개발 마이크로프로세서와 마이크로컨트롤러의 기초 및 응용 분야 교육

목차
제1장 STM32F091VCT6의 구조와 기능 1.1 ARM 마이크로프로세서의 개요 11 1. ARM 마이크로프로세서의 역사 및 특징 11 [휴게실] 마이크로프로세서와 마이크로컨트롤러 21 [휴게실] CPU에서 레지스터 중심구조와 하버드 구조 22 2. Cortex-M3 마이크로컨트롤러의 특징과 종류 23 3. Cortex-M4 마이크로컨트롤러의 특징과 종류 34 4. Cortex-M7 마이크로컨트롤러의 특징과 종류 47 5. Cortex-M0 마이크로컨트롤러의 특징과 종류 50 6. Cortex-M0+ 마이크로컨트롤러의 특징과 종류 58 1.2 STM32F091VCT6의 기본 구조와 기능 65 1. STM32F091VCT6의 특징 65 2. STM32F091VCT6의 외부 구조 67 3. STM32F091VCT6의 내부 구조 70 [휴게실] EEPROM과 플래시 메모리 76 4. STM32F091VCT6의 메모리 구조 77 1.3 STM32F091VCT6의 기본 시스템 제어기 87 1. 전력관리 제어기(PWR) 87 2. 리셋 및 클록 제어기(RCC) 95 3. 시스템 설정 제어기(SYSCFG) 113 4. 시스템 제어 블록(SCB) 122 5. 시스틱 타이머(SysTick) 126 6. 인터럽트 제어기(NVIC, EXTI) 128 7. DMA 제어기(DMA) 138 8. 디버그 지원 장치(DBG) 148 제2장 STM32F091VCT6의 내장 I/O 2.1 병렬 I/O 포트(GPIO) 153 1. GPIO의 개요 153 2. GPIO의 구조와 동작 159 3. GPIO 관련 I/O 제어 레지스터 162 2.2 A/D 컨버터(ADC) 167 1. A/D 컨버터의 개요 167 2. A/D 컨버터의 구조와 동작 169 3. A/D 컨버터 관련 I/O 제어 레지스터 180 2.3 D/A 컨버터(DAC) 186 1. D/A 컨버터의 개요 186 2. D/A 컨버터의 구조와 동작 187 3. D/A 컨버터 관련 I/O 제어 레지스터 192 2.4 아날로그 비교기(COMP) 198 1. 아날로그 비교기의 개요 198 2. 아날로그 비교기의 구조와 동작 198 3. 아날로그 비교기 관련 I/O 제어 레지스터 201 2.5 고성능 제어 타이머(TIM1) 203 1. STM32F091VCT6 타이머의 개요 203 2. 타이머 TIM1의 개요 204 3. 타이머 TIM1의 구조와 동작 204 4. 타이머 TIM1 관련 I/O 제어 레지스터 235 2.6 범용 타이머(TIM2,TIM3) 252 1. 타이머 TIM2/3의 개요 252 2. 타이머 TIM2/3의 구조와 동작 252 3. 타이머 TIM2/3 관련 I/O 제어 레지스터 254 2.7 범용 타이머(TIM14) 269 1. 타이머 TIM14의 개요 269 2. 타이머 TIM14의 구조와 동작 269 3. 타이머 TIM14 관련 I/O 제어 레지스터 271 2.8 범용 타이머(TIM15,TIM16,TIM17) 276 1. 타이머 TIM15/16/17의 개요 276 2. 타이머 TIM15/16/17의 구조와 동작 277 3. 타이머 TIM15/16/17 관련 I/O 제어 레지스터 278 2.9 기본 타이머(TIM6, TIM7) 289 1. 타이머 TIM6/7의 개요 289 2. 타이머 TIM6/7의 구조와 동작 289 3. 타이머 TIM6/7 관련 I/O 제어 레지스터 293 2.10 동기 및 비동기 직렬통신 포트(USART) 297 1. USART 직렬통신 포트의 개요 297 2. USART 직렬통신 포트의 구조와 동작 298 3. USART 직렬통신 포트 관련 I/O 제어 레지스터 313 4. RS-232C 직렬통신 321 [휴게실] ASCII 코드 328 2.11 동기식 직렬통신 포트(SPI) 330 1. SPI 직렬통신의 개요 330 2. SPI 직렬통신 포트의 구조와 동작 333 3. SPI 직렬통신 포트 관련 I/O 제어 레지스터 344 2.12 동기식 직렬통신 포트(I2C) 349 1. I2C 직렬통신의 개요 349 2. I2C 직렬통신 포트의 구조와 동작 354 3. I2C 직렬통신 포트 관련 I/O 제어 레지스터 372 2.13 터치 검출 제어기(TSC) 379 1. TSC의 개요 379 2. TS의 구조와 동작 379 3. TSC 관련 I/O 제어 레지스터 388 [휴게실] I/O 제어 레지스터의 비트 속성 392 제3장 OK-STM091 키트 및 개발 툴 3.1 OK-STM091 키트의 구조와 기능 395 1. OK-STM091 키트의 개요 및 사양 395 2. OK-STM091 키트의 하드웨어 구조 397 3. TFT-32A 보드의 하드웨어 구조 408 4. OK-STM091 키트의 조립 및 테스트 414 5. RS-232C 통신 케이블의 제작 419 3.2 Cortex-M용 에뮬레이터 ST-LINK/V2 421 1. 하드웨어 및 소프트웨어 개발 툴 421 2. ST-LINK/V2 에뮬레이터 426 3.3 IAR EWARM 컴파일러의 설치 및 사용 435 1. IAR EWARM 프로그램의 설치 435 2. 예제 프로그램의 설치 441 3. IAR EWARM의 환경 설정 441 [휴게실] 인텔 HEX 파일의 형식 451 4. IAR EWARM의 주요 기능 요약 452 5. 주요 내장함수 및 헤더파일 467 제4장 C언어 프로그래밍 4.1 IAR EWARM을 사용한 C언어 프로그래밍 기초 495 4.2 기본적인 C언어 프로그래밍 기법 527 4.3 텍스트형 LCD 모듈 응용 프로그램 546 [휴게실] 텍스트 LCD 모듈과 그래픽형 LCD 모듈의 차이점 563 4.4 키입력 및 인터럽트 처리 프로그램 578 4.5 TFT-LCD 모듈 영문 ASCII 출력 프로그램 592 4.6 TFT-LCD 모듈 한글 출력 프로그램 640 4.7 TFT-LCD 모듈 그래픽 출력 프로그램 698 4.8 터치스크린 입력 및 TSC 입력 프로그램 712 4.9 SysTick 타이머 인터럽트 응용 프로그램 749 4.10 TV 리모컨 응용 프로그램 764 4.11 타이머 응용 프로그램 789 4.12 타이머를 이용한 PWM 제어 프로그램 797 4.13 A/D 컨버터와 비교기 응용 프로그램 804 4.14 D/A 컨버터 응용 프로그램 829 4.15 RS-232C 직렬통신 프로그램 857 4.16 SPI 및 I2C 직렬통신 프로그램 867 4.17 DS3234를 이용한 시계 프로그램 881 4.18 TFT-LCD를 이용한 게임 프로그램 937 4.19 SD 카드를 이용한 전자앨범 프로그램 980 4.20 MP3 플레이어 프로그램 1018 참고문헌 및 저자소개 1058