기초에서 응용까지 STM32Fx Cortex ARM 프로그래밍: 기초편

기초에서 응용까지 STM32Fx Cortex ARM 프로그래밍: 기초편

$27.00
Description
현재 많은 대학에서 8비트 AVR 수업을 하고 있습니다. 필자가 근무하고 있는 대학에서도 오래전부터 Atmega 128 MCU AVR 수업을 해왔습니다. 기술이 발전함에 따라 기업에서는 ARM MCU를 많이 사용하고 있습니다. 임베디드 AVR 수업을 하는 학교는 이어서 ARM Cotex 수업을 하는 것이 학생들에게 산업체로 갔을 때 많은 도움이 되리라 생각됩니다. 그 이유는 Cotex ARM 가격이 많이 저렴하고, 다양한 메모리 용량과 32비트의 고성능의 기능을 갖추고 있고, 선택의 폭이 아주 넓기 때문입니다. 필자는 어떻게 하면 최소의 예산으로 학부 학생들이 흥미롭게 배울 수 있을까 하는 고민에서 이 책을 쓰게 되었습니다.
저자

홍봉조

〈이력〉
숭실대학교전자공학과(학사)
숭실대학교대학원소프트웨어공학(석사)
숭실대학교대학원컴퓨터공학(공학박사)
LG정보통신책임연구원
영동영보통신(주)부사장/연구소장
HPNRT(주)연구위원
유한대학교전자공학과겸임교수

〈수상〉
장영실상(IWF)

〈개발경력〉
No.7,이동통신IWF,무선키폰,PABX,ISDN교환기,
비상통화장치,엘리베이터원격감시시스템,
에스컬레이터보조브레이크제어기등국내다수의특허를보유

〈관심분야〉
임베디드시스템,자율주행자동차,인공지능의료분야,
ARMProcessor,RTOS,CAN통신,암호통신보안,
사물인터넷,음성통신,데이터통신

목차

머리말
강의계획서구성


PartISW개발방법UML과STM컴파일러환경구축

1장SW개발방법및ARMProcessor
1.1소프트웨어개발방법
1)소프트웨어란?
2)소프트웨어의특징
3)소프트웨어개발의기본적인활동
4)개발작업의특징
5)소프트웨어의개발프로세스
6)단계적프로세서
7)단계적프로세서와산출물
8)소프트웨어개발비용비중
1.2ARMCPU및NUCLEO보드
1)마이크로프로세서와마이크로컨트롤러
2)ARM(AdvancedRISCMachines)이란?
3)RISC(ReducedInstructionSetComputer)프로세스란?
4)STM32F429(144Pin)
5)STM32F429ZiARMMCU기능
6)NUCLEO보드소개
7)NUCLEO-F429Zi/F439Zi보드기능

2장CortexARMIDE환경구축
2.1선행학습
1)STM32CubeMX개요
2)STM32CubeIDE
2.2학습도구및기자재
2.3CubeMX설치
1)CubeMX개요
2)CubeMX설치
3)CubeMX를실행하고사용법익히기
2.4STM32CubeIDE설치
2.5Debugging
2.6부품및사용기기,프로그램
2.7예제1:ProjectFile만들기실습
1)CubeMX로NUCLEO-F429Zi선택한후Project코드만들기
2)시험하기

3장UML소개와LEDBlinking
3.1선행학습
1)UML의개요
2)UML의역사와버전
3)UML다이어그램
4)UML모델링절차
5)USE케이스
6)시퀀스다이어그램
7)상태다이어그램
8)ActivityDiagram
9)StarUML
3.2학습도구및기자재
3.3예제1:LEDBlinking
1)사용자요구사항작성하기
2)UMLTool을이용하여ActivityDiagram작성하기
3)구현하기
3.4예제2:DigitalInput
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)구현하기
4)시험하기

4장GPIO
4.1선행학습
1)STM32펌웨어구성
2)HAL(HardwareAbstractionLayer)드라이브
3)GPIO(GeneralPurposeInputOutput)
4)GPIO설정용구조체
5)GPIOMode
6)Pull
7)Speed
8)GPIO구동용함수
9)인터럽트처리용함수
10)GPIO관련함수
4.2학습도구및기자재
4.3예제1:Switch입력에따른LED제어
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)구현하기(CubeMX로Project만들기)
4)시험하기
4.4예제2:프린트문사용하기
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)CubeMX로Project를만들고code를generate한다.
4)구현하기
5)main.c의main(void)함수에다음과같이코딩한다.
6)시험하기

5장Analog전압측정과scanf
5.1선행학습
1)ADC블록다이어그램
2)STM32ADC기능
3)ADC클럭
4)단일변환모드
5)연속변환모드
6)STM32CubeMX에서의ADC설정
5.2학습도구및기자재
5.3예제1:ADC로전압표시하기
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)CubeMX로Project만들기
4)구현하기
5)시험하기
5.4예제2:scanf기능사용하기
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)CubeMX로Project만들기
4)구현하기
5)시험하기

6장인터럽트와USART
6.1선행학습
1)인터럽트의개념
2)STM32F4xx인터럽트VectorTable
6.2학습도구및기자재
6.3예제1:Interrupt방식으로Switch처리
1)사용자요구사항작성하기
2)UMLTool을이용하여ActivityDiagram작성하기
3)CubeMX를실행하여Project를만들어보라.
4)구현하기
5)시험하기
6.4예제2:USART를인터럽트방식으로사용
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)CubeMX로Project만들기
4)구현하기
5)시험하기


PartⅡFreeRTOS환경에서의실습

7장FreeRTOS
7.1선행학습
1)RTOS의개념
2)FreeRTOS란?
3)RTOS의특징
4)Multitasking
5)MessageQueue
6)상용OS와FreeRTOS
7.2학습도구및기자재
7.3예제1:FreeRTOSTask로LEDBlinking
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)CubeMX구성하기
4)구현하기
5)시험하기
7.4예제2:FreeRTOS상에서2개의LEDOn/Off
1)사용자요구사항작성하기
2)UML작성하기
3)구현하기
4)시험하기

8장FreeRTOSMonitor
8.1선행학습
1)Monitor에대한개념
2)큐(Queue)의개념
8.2학습도구및기자재
8.3예제1:FreeRTOS환경에서모니터만들기
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)구현하기
4)CodeGenerate가다끝나면OpenFolder로들어가보자.
5)시험하기

9장MonitorDisplayMemory,ChangeMemory실습
9.1선행학습
1)STM32F429ZiMemoryMap
9.2학습도구및기자재
9.3예제1:모니터DisplayMemory만들기
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)DisplayMemoryProgram구현하기
4)시험하기
9.4예제2:모니터ChangeMemory만들기
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)구현하기
4)시험하기

10장Timer실습
10.1선행학습
1)STM32F429ZiCPUTimer
2)STM32F429ZiCPUTimer관련블록다이어그램
3)Advanced-controlTimer(Timer1,Timer8)의기능
4)CubeMXTimer설정
10.2학습도구및기자재
10.3예제1:100msTimer만들기
1)사용자요구사항작성하기
2)UMLTool로구현하기
3)구현하기
4)시험하기
10.4예제2:Interrupt모드로타이머사용
1)사용자요구사항작성하기
2)UMLTool로구현하기
3)구현하기
4)시험하기
10.5예제3:PWM모드로Timer사용
1)사용자요구사항작성하기
2)UML작성하기
3)구현하기
4)시험하기

11장DHT-11온습도센서와RTC실험
11.1선행학습
1)DHT-11프로토콜
11.2부품및사용기기,프로그램
11.3예제1:DHT-11실험
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)Project만들기
4)코딩하기
5)시험하기
11.4예제2:RTC실험
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)RTC,Alarm구현하기
4)시험하기


PartⅢ데이터통신관련된실습

12장I2C,SPI통신과I2CLCD
12.1선행학습
1)I2CLCD
2)I2C통신방법
3)SPI통신
12.2학습도구및기자재
12.3예제1:I2CLoop시험
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)I2CLoop구현하기
4)시험하기
12.4예제2:I2CLCD실험
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)I2CLCD구현하기
4)시험하기
12.5예제3:SPILoop시험
1)사용자요구사항작성하기
2)UML작성하기
3)SPILoop구현하기
4)시험하기

13장USART통신
13.1선행학습
1)시리얼통신개념
2)RS-232통신
3)RS-422통신
4)RS-485통신
13.2학습도구및기자재
13.3예제1:시리얼통신Loop실험
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)CubeMX로USART환경구성하여구현하기
4)시험하기
13.4예제2:시리얼과스마트폰블루투스통신
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)구현하기
4)시험하기

14장CANBus통신실습
14.1선행학습
1)개요
2)CANBus특징
3)CANBus등장배경
4)CANBUS네트워크동작원리
5)CAN통신프로토콜
14.2학습도구및기자재
14.3예제1:CAN통신루프실험
1)사용자요구사항작성하기
2)UMLTool로ActivityDiagram설계하기
3)CAN통신속도250kbps설정하기
4)구현하기
5)코딩하기
6)시험하기

15장TCP/IPServer와Client구현하기
15.1선행학습
1)TCPProtocol
2)TCPServer와Client
15.2학습도구및기자재
15.3예제1:TCP-IPLwipPing실습하기
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)구현하기
4)시험하기
15.4예제2:TCP-IPServer실습하기
1)사용자요구사항작성하기
2)UML설계하기
3)구현하기
4)시험하기
15.5예제3:TCP-IPClient실습하기
1)사용자요구사항작성하기
2)UMLTool로설계하기
3)구현하기
4)시험하기

출판사 서평

학부AVR수업관련서적은많이있으나ARMMCU관련대학교실습교재는많지않습니다.ARMMCU프로그래밍은어려워서대부분대학원과정에서많이다루는데이책은아주쉽게배울수있는것이특징입니다.AVR수업을하는대학에서는이어서ARM강의를하거나AVR수업대신ARM수업으로할수있습니다.이책은전문학사,4년제대학전자공학,통신공학,제어계측공학,메카트로닉스,전기공학,정보보안과,컴퓨터공학과등에서한학기실습수업용으로활용할수있도록짜여있습니다.뿐만아니라벤처기업,중소기업에서ARMMCU를이용한펌웨어개발에도유용하게활용할수있도록펌웨어설계과정과프로그램개발방법등을제공하고있습니다.

〈이책의구성〉
이책은크게3부로나누어져있고한학기15주수업에맞추어15강으로구성되어있습니다.
제1부에서는SW개발방법UML과STM32컴파일러환경구축으로전반적인소프트웨어개발프로세서와Nucleo보드설명,컴파일러설치과정,UML(UnifiedModelingLanguage)로설계하는방법,STM32CubeMX와STM32CubeIDE사용법과프로젝터생성하는방법이설명되어있습니다.
제2부에서는FreeRTOS환경에서의실습으로멀티Task환경에서프로그래밍하는방법이설명되어있고,FreeRTOS환경에서모니터프로그램개발방법과모니터환경하에서GPIO,타이머,DHT-11,RTC등의실습예제가포함되어있습니다.
제3부에서는데이터통신관련된실습으로산업현장에서많이사용하는I2C통신과SPI,UART통신,자동차에서많이사용하고있는CAN버스통신,마지막으로TCPIP서버와클라이언트실습예제가포함되어있습니다.

〈이책이필요한독자〉
◈대학교전자공학,정보통신공학,컴퓨터공학,제어계측공학실습교재
◈마이크로프로세서혹은펌웨어수업수강을하는독자
◈32BitCortex-MARM프로세스에관심이많은독자
◈ARM프로세서로펌웨어개발프로젝터를수행하는독자
◈FreeRTOS환경에서펌웨어개발에관심이많은독자