이미 소장하고 있다면 판매해 보세요.
|
Unit 0 - 라이브러리 작업 및 Base Program 구축
1.STM32 Library Update 작업 1.1. Library 다운로드 1.2. Library 수정 작업 1.3. 연습 문제 2.Base Program 작업 2.1. 디렉토리 구조 2.2. 프로젝트 환경 구축 2.3. Base Program 분석 2.4. Flash Loader Demonstration 버전에 따른 차이 2.5. Base Program 확인 2.6. 연습 문제 Unit 1 - Cortex-M3 심화 학습 3.Library Debug 3.1. lib_dbg.c 설명 3.2. 빌드 환경 설정 3.3. USE_FULL_ASSERT define & assert_failed 3.4. Assert Test Code 3.5. 실행 결과 3.6. 결론 3.7. 연습 문제 4.Bit Banding 4.1. Bit Banding 복습 4.2. Bit Banding Test 매크로 분석 4.3. Bit Banding Test Code 분석 및 실행 결과 4.4. 결론 4.5. 연습 문제 5.Mode Privilege 5.1. Processor mode & Privilege level 5.2. Stacks 5.3. Stack Pointer - Full-Descending 5.4. Special Register - CONTROL register 5.5. 빌드 환경 구성 5.6. Cortex microcontroller software interface standard (CMSIS) 5.7. 소스 코드 분석 및 실행 결과 5.8. 연습 문제 6.USB Device Firmware Upgrade 6.1.UM0412. DfuSe USB device firmware upgrade 6.2.DfuSe USB upgrade 프로그램 변경 6.3.DfuSe USB upgrade 프로그램 내용 분석 6.4.프로그램 실행 및 드라이버 설치 6.5.DFU Download File 만들기 6.6.DFU 파일 다운로드 작업 6.7.실행 결과 6.8.결론 6.9.연습 문제 7.USB 회로 및 Disconnect 복습 7.1.USB 회로도 분석 7.2.USB_DISCONNECT 설정 코드 분석 7.3.USB 부분 하드웨어 개요 7.4.USB Disconnect 동작 원리 7.5.결론 7.6.연습 문제 8.Interrupt Priority Test 8.1.Cortex-M3 Priority group 8.2.Priority group vs. Sub priority 8.3.SCB_AIRCR 레지스터 VECTKEYSTAT 8.4.Priority Test 1 - Priority Group 8.5.Priority Test 2 - Sub Priority 8.6.Priority Test 3 - 동작 중 Priority 변경 8.7.결론 8.8.연습 문제 9.GPIO JTAG Remap 9.1.Remap 개요 9.2.STM32 & Cortex-M3 Debug 9.3.회로도 분석 9.4.예제 코드 시나리오 9.5.예제 코드 분석 9.6.실행 결과 및 결론 9.7. 연습 문제 10.Power Control (PWR) 10.1. 망고 M32, Z1 Power 공급 10.2. STM32F103xx Low-power modes 10.3. PWR 예제 1 - STOP mode 설정 10.4. PWR 예제 2 - RTC Alarm 설정 10.5. PWR 예제 3 - STANDBY mode 10.6. 연습 문제 11.RTC Calendar 11.1.RTC (Real-time clock) 개요 11.2.예제 코드 시나리오 및 분석 11.3.빌드 및 실행 결과 11.4.연습 문제 12.Independent watchdog (IWDG) 12.1.IWDG 개요 12.2.예제 코드 시나리오 12.3.예제 코드 분석 12.4.실행 결과 12.5.결론 12.6.연습 문제 13.Window Watchdog (WWDG) 13.1.WWDG 개요 13.2.예제 코드 시나리오 13.3.예제 코드 분석 13.4.실행 결과 13.5.결론 13.6.연습 문제 14.FLASH Program 14.2.Flash Read operation 14.3.Flash program & erase controller (FPEC) 14.4.예제 프로그램 시나리오 14.5.예제 프로그램 분석 14.6.실행 결과 14.7.결론 14.8.연습 문제 15.FLASH Write Protection 15.1.Option byte 15.2.Option byte programming 15.3.예제 프로그램 시나리오 15.4.예제 프로그램 분석 15.5.실행 결과 15.6.연습 문제 Unit 2 - 다양한 통신 프로토콜 연구 16.USART 통신 Polling UART2 & 3 16.1.UART2, UART3 Pin 배정 16.2.UART2, UART3 Pin Remapping 16.3.Polling 방식 사용 16.4.예제 코드 1 분석 16.5.망고 M32를 이용한 시험 16.6.망고 Z1을 이용한 시험 16.7.망고 M32와 Z1 간의 연결을 통한 시험 - 예제 코드 2 16.8.결론 16.9.연습 문제 17.USART 통신 - Interrupt 17.1.망고 Z1과 망고 M32의 연결 17.2.USART3 Interrupt Enable 17.3.UART3 수신 버퍼 구현 - Circular Queue 17.4.Word Length & Parity 17.5.데이타 송수신 처리 부분 17.6.실행 결과 17.7.연습 문제 18.USART 통신 - Synchronous with SPI 18.1.USART synchronous mode 18.2.망고 M32 보드 연결 - USART3, SPI1 18.3.망고 Z1 보드 연결 - USART2, SPI2 18.4.초기화 설정 작업 18.5.USART & SPI 통신 방식 설정 작업 18.6.USART 송신 -」 SPI 수신 통신 작업 18.7.SPI 송신 -」 USART 수신 통신 작업 18.8.실행 결과 18.9.오실로스코프 파형 검사 18.10.연습 문제 19.SPI 통신 - Full Duplex (망고 M32) 19.1.Serial peripheral interface (SPI) 19.2.SPI1 「-」 SPI2 연결 19.3.SPI1, SPI2 클럭 & GPIO 설정 19.4.SPI 초기화 및 enable 설정 19.5.1차 전송 시험 - SPI1 master, SPI2 slave 19.6.2차 전송 시험 - SPI2 master, SPI1 slave 19.7.실행 결과 19.8.연습 문제 20.SPI 통신 - Software SPI (망고 Z1) 20.1.Motorola SPI & CC2520 20.2.spi_sw.c 구현 내용 20.3.기타 구현 내용 20.4.실행 결과 20.5.연습 문제 21.TIM IRQ Channels 21.1.STM32 TIM Timer 21.2.TIM2, 1초 update interrupt 예제 21.3.TIM2, TIM3, TIM4, update interrupt 예제 21.4.연습 문제 22.TIM Time Base 22.1.CCx Interrupt Output mode 22.2.예제 코드 시나리오 22.3.망고 보드 연결 22.4.예제 소스 코드 분석과 실행 결과 22.5.오실로스코프 파형 22.6.연습 문제 23.TIM PWM Output 23.1.PWM (Pulse Width Modulation) 23.2.예제 코드 시나리오 23.3.예제 소스 코드 분석 23.4.오실로스코프 파형 23.5.연습 문제 24.TIM Input Capture & PWM Input 24.1.Input capture mode 24.2.PWM input mode 24.3.Input Capture 예제 코드 시나리오 24.4.Input Capture 망고 보드 연결 24.5.Input Capture 예제 소스 코드 분석 24.6.빌드 시의 유의 사항 24.7.Input Capture 실행 결과 24.8.PWM Input 예제 코드 시나리오 24.9.PWM Input 망고 보드 연결 24.10.PWM Input 예제 소스 코드 분석 24.11.PWM Input 실행 결과 24.12.연습 문제 25.TIM DMA 25.1.Direct memory access (DMA) 25.2.예제 코드 시나리오 및 망고 보드 연결 25.3.예제 소스 코드 분석 25.4.오실로스코프 파형 25.5.연습 문제 26.ADC DMA 26.1.ADC (analog-to-digital converter) 26.2.Injected Channel & Regular Channel 26.3.Data alignment 26.4.Scan mode 26.5.Calibration 26.6.예제 코드 시나리오 및 망고 보드 시험 환경 26.7.라이브러리 변경 사항 26.8.예제 소스 코드 분석 26.9.실행 결과 26.10.연습 문제 27.ADC Temperature Sensor 27.1.STM32 Temperature Range 27.2.Temperature Sensor 27.3.온도 측정 과정 27.4.예제 소스 코드 분석 27.5.수행 결과 27.6.연습 문제 28.ADC Analog Watchdog 28.1.Analog watchdog 28.2.예제 코드 시나리오 및 망고 보드 시험 환경 28.3.예제 소스 코드 분석 28.4.실행 결과 28.5.연습 문제 29.ADC Dual Mode 29.1.Dual ADC mode 29.2.Regular Simultaneous Mode 29.3.VREFINT internal channel 29.4.예제 코드 시나리오 및 망고 보드 시험 환경 29.5.예제 소스 코드 분석 29.6.시험 결과 29.7.연습 문제 30.I2C 개념 및 Software I2C 30.1.I2C 통신 개념 30.2.Pull-up 저항 & Open-Drain 30.3.망고 보드 연결 작업 30.4.예제 소스 코드 분석 30.5.시험 결과 30.6.Software I2C 소스 코드 분석 30.7.연습 문제 31.I2C (in board) I2C1 & I2C2 - (M) Polling (S) IT 31.1.STM32 Hardware I2C 31.2.Master Slave 모드 선택 31.3.예제 코드 시나리오 31.4.Pull-up 저항 연결 작업 31.5.망고 보드 연결 작업 31.6.예제 코드 분석 31.7.시험 결과 31.8.연습 문제 32.CAN Loop Back 32.1.CAN 통신 개요 32.2.CAN Frame Structure 32.3.STM32 CAN 32.4.Silent & Loopback mode 32.5.예제 코드 분석 32.6.실행 결과 32.7.연습 문제 Unit 3 - 각종 센서 보드 활용 33.BH1600 Light Sensor - 분석 33.1.조도 센서 모듈 개요 33.2.BH1600 조도 센서 33.3.BH1600 조도 센서 모듈 커넥터 33.4.BH1600 조도 센서 모듈 회로도 33.5.조도 센서(BH1600FVC) 1번 PIN 위치 33.6.연습 문제 34.BH1600 Light Sensor - ADC 34.1.망고 보드 연결 34.2.소스 코드 분석 34.3.시험 결과 34.4.조도 값 계산 34.5.연습 문제 35.BMA150 3-Axis Accelerometer Sensor - 분석 35.1.BMA150 3축 가속도 센서 모듈 35.2.BMA150 가속도 센서 모듈의 구조 35.3.BMA150 가속도 센서 모듈 회로도 35.4.SMB380 & BMA150 35.5.연습 문제 36.BMA150 3-Axis Accelerometer Sensor - SW SPI 36.1.4-Wire SPI 사용을 위한 연결 방식 36.2.망고 보드 연결 36.3.소스 코드 분석 36.4.실행 결과 36.5.연습 문제 37.BMA150 3-Axis Accelerometer Sensor - HW SPI 37.1.NSS (NCS) 제어 37.2.소스 코드 분석 37.3.실행 결과 37.4.연습 문제 38.BMA150 3-Axis Accelerometer Sensor - SW I2C 38.1.I2C 사용을 위한 연결 방식 38.2.망고 보드 연결 38.3.BMA150 I²C protocol: 38.4.예제 코드 분석 38.5.실행 결과 38.6.연습 문제 39.BMA150 3-Axis Accelerometer Sensor - HW I2C 39.1.STM32 I2C Master Receiver 39.2.소스 코드 분석 39.3.실행 결과 39.4.연습 문제 40.BMA150 3-Axis Accelerometer Sensor - SPI & I2C 통합 40.1.망고 보드 연결 40.2.예제 코드 분석 40.3.실행 결과 40.4.연습 문제 41.SN65HVD231 CAN Transceiver 모듈 분석 41.1.보드 개요 및 구조 41.2.Connector 핀 배치 및 기능 41.3.회로도 42.SN65HVD231 CAN Transceiver - CAN Normal 42.1.CAN Remap 42.2.CAN Interrupt 42.3.Identifier filtering 42.4.망고 보드 연결 42.5.예제 코드 분석 42.6.실행 결과 42.7.연습 문제 맺음말 색 인 |
|
ARM Cortex-M3 (STM32F10x) 테스트 보드를 통해
실제 개발에 활용할 수 있는 가장 완벽한 지침서 l ARM Cortex-M3 시스템 프로그램 개발 실전 가이드 l 입문에서 전문가 수준까지 친절한 안내서 l Cortex-M3 MCU를 활용한 펌웨어 개발 실전 코드 제공 l 단순 제어에서 무선통신까지 광범위한 체험 l 조도 센서, 가속도 센서, CAN 트랜시버 보드 제어 Cortex-M3 시스템 개발자의 고민을 한번에 해결하는 완벽! ARM Cortex-M3 실전 바이블 Unit 0 라이브러리 작업 및 Base Program 구축 STM32 Library Update 작업 Base Program 작업 Unit 1 Cortex-M3 심화 학습 Library Debug, Bit Banding, Mode Privilege, USB Device Firmware Upgrade USB 회로 및 Disconnect 복습, Interrupt Priority Test GPIO JTAG Remap, Power Control (PWR), RTC Calendar Independent watchdog (IWDG), Window Watchdog (WWDG) FLASH Program, FLASH Write Protection Unit 2 다양한 통신 프로토콜 연구 USART 통신 Polling UART2 & 3, Interrupt, Synchronous with SPI SPI 통신 Full Duplex (망고 M32), Software SPI (망고 Z1) TIM IRQ Channels, TIM Time Base, TIM PWM Output TIM Input Capture & PWM Input, TIM DMA ADC DMA, ADC Temperature Sensor, ADC Analog Watchdog ADC Dual Mode, I2C 개념 및 Software I2C I2C (in board) I2C1 & I2C2 - (M) Polling (S) IT, CAN Loop Back Unit 3 각종 센서 보드 활용 BH1600 Light Sensor 분석 및 ADC 제어 BMA150 3-Axis Accelerometer Sensor 분석 및 SPI, I2C 통합 제어 SN65HVD231 CAN Transceiver 모듈 분석 및 CAN Normal 통신 “실전! ARM Cortex-M3 시스템 프로그래밍 완정정복 I”에서 Cortex-M3 MCU의 특성과 프로그래밍에 대해 기초부터 각종 내장 주변장치 활용에 이르기까지 폭넓게 다루었습니다. 가능한 많은 것들을 다루려 노력했지만 지면에 제약이 있어 Cortex-M3 MCU를 속속들이 파헤치지 못한 아쉬움이 남았습니다. 이제 “실전! ARM Cortex-M3 시스템 프로그래밍 완전정복 II”에서 지난 책에서 다루지 못했던 부분들을 더욱 심도 있게 보충했습니다. Cortex-M3 MCU의 가능성이 너무나 크기 때문에 아직도 미진한 부분이 많지만 이 2권의 책이 Cortex-M3 MCU를 활용하는데 많은 도움이 될 것입니다. 이번 “완전정복 II”는 Cortex-M3 MCU의 장착된 각종 주변 장치와 외장 센서를 다루는 것에 대해 심도 있게 설명하였습니다. “완정정복 I”과 같이 모든 코드와 회로는 직접 만들고 실전에서 검증하여 실제 응용에 바로 활용할 수 있도록 하였습니다. 특히, MCU 응용에서 자주 사용되는 가속도센서와 CAN 보드를 따로 만들어 이들에 대해 실습해 볼 수 있도록 하여 좀 더 실질적인 MCU 응용 프로그래밍을 체험 할 수 있도록 하였습니다. 또한, 이 책으로 공부하면서 만나게 될 많은 문제점들은 커뮤니티 (http://cafe.naver.com/embeddedcrazyboys)를 통해 저자와 이 책의 저작에 많은 도움을 준 고수님들 그리고 기타 같은 문제로 고민하고 있는 엔지니어들과 묻고 대답하며 해결할 수 있도록 하였습니다. 이 책의 독자들도 커뮤니티에서 적극적으로 정보를 공유하여 함께 발전할 수 있기를 기원합니다. 책은 4개의 Unit으로 구성되어 있습니다. 「Unit 0」 STM 라이브러리를 최신의 것으로 갱신하는 방법에 대한 부분과 향후 책에 사용하게 될 모든 예제 코드의 베이스가 될 프로그램에 대해서 설명합니다. 「Unit 1」 디버그, Bit Band, Mode Privilege, USB FW Upgrade, Priority, Power mode, RTC, Watchdog, Flash 등 MCU 자체에서 필수적으로 알아야 할 부분들에 대해서 설명합니다. 「Unit 2」 USART, SPI, Timer, ADC, I2C, CAN에 대해서 상세한 설명을 하고 있습니다. 각각은 여러 장에 걸쳐서 자세하게 다루고 있습니다. 「Unit 3」 두 개의 센서 보드와 하나의 CAN Transceiver 보드를 추가로 제작하여 이 보드들을 실제로 활용하는 부분을 설명하고 Unit 2에서 배운 각종 통신 방식을 이용해서 실제적인 활용이 될 수 있도록 구성하였습니다. 커뮤니티를 꾸리고 이끌어 나가는데 도움을 주신 많은 분들과 함께 집필하며 고락을 함께한 멤버들에게 깊이 감사 드립니다. |