임종수의 STM32 Cortex-M 완벽 활용서 Vol 2

임종수의 STM32 Cortex-M 완벽 활용서 Vol 2

$48.00
Description
이 책은 임베디드 소프트웨어 최고의 전문가를 꿈꾸는 여러분들을 위해 집필하였다.

2022년 2월 출간된 임종수의 STM32 Cortex-M 완벽 활용서(Vol. 1)의 2번째 시리즈이 다. 전체 본문 내용은 STM32 MCU 내부에 저장되어 있는 제조사 bootloader에 대한 사용방법과 사용자 정의 bootloader를 만드는 다양하고 자세한 구현 방법을 서술하였다. 구체적으로 내부 MCU flash memory, 또는 외부 SPI serial flash memory를 이용한 ROM booting 방법과 MCU 내부 SRAM을 이용한 RAM booting 방법에 대해서 실제 제품 에 적용되는 Code를 직접 구현하고 실험할 수 있도록 구성하였다. 특별히, Windows Program인 무료 SJ_MCUFree 소프트웨어를 이용하여 개발한 임의의 실행 hex file 또는 binary file을 MCU에 downloading하여 booting할 수 있도록 다양하고, 풍부한 예제들을 수록하였다. 또한, C 언어와 Assembly 언어를 활용하여 RTOS의 구조와 동작 방법을 학습할 수 있도록 다양한 그림들과 flowchart들을 수록하였다. 무엇보다도 RTOS를 포함

한 OS(운영체제)에 대한 다양한 이론적인 개념들과 흐름을 모두 구현하면서 스스로 OS에 대한 전문가가 되도록 하였다. 예를 들면, Task Context Switching에 대한 다양한 그림들 과 설명으로 이해를 넓히고, 이를 바로 C 언어와 assembly 언어로 구현하여 완벽한 이해 와 활용을 할 수 있도록 하였다. 또한, Kernel Object인 Semaphore, Mutex, Message mailbox, 그리고, Message Queue 등등에 대한 개념과 이들을 어떻게 구현하고, 활용하 는지 철저한 설명과 완벽한 예제들로 구성하였다. 그리고, 현재, Embedded Linux와 함께 광범위하게 사용되는 무료 FreeRTOS를 활용하는 방법도 자세히 서술하였다.

이 책에서 다루는 모든 source 파일을 포함한 자료들은 항상 그러하듯이 필자의 naver cafe인 http://cafe.naver.com/limjongsulab를 참조하면 되고, 필자의 email address는 limjongsulab@naver.com이다.

필자가 저술한 Matlab, Simulink와 같은 기존의 책자들뿐만 아니라 앞으로 출간될 책자 들, 그리고, 필자의 회사에서 추진하는 여러 교육 과정들과 최신 정보들에 대한 모두 사항 들을 앞서 언급한 naver cafe에서 관리하고 있다. 이곳에서 여러분과 함께 질문과 답변을 통한 토론을 하였으며 한다. 그리고 유용한 자료들을 많이 등록하여 공유하였으면 한다.

또한, 이 책에서 사용하는 SJ_MCUPro, SJ_MCUFree windows program뿐만 아니라 SJ_MCUBook_M0, SJ_MCUBook_M3 그리고, SJ_MCUBook_M4 보드를 포함한 다양한 제품들에 대한 자료와 동영상 강좌에 대한 구매는 필자의 homepage인 https://www.sujinpub.com/shop/ 를 참조하면 된다.
저자

임종수

건국대학교전자공학과졸업,건국대학교대학원신호처리전공및졸업.현대전자정보통신연구소,삼성전자네트워크사업부,AnalogdeviceKorea에서근무했다.

목차

제1장제조사Bootloader소개 13
□학습목표 14
1.1 Bootloader소개. 15
1.2 Reset의종류와특징정리. 20

1.3 STM32MCU종류와구분방법정리. 23
1.4 BOOTMode종류와USARTbooting실습. 26
제2장제조사UARTBootloader사용방법-I 49
□학습목표 50
2.1 USARTKernelBootloaderProtocol분석. 51
2.2 Get(0x00)Command. 56
2.3 GetVersion(0x01)Command. 70
2.4 GetID(0x02)Command. 74
2.5 ReadMemory(0x11)Command. 80
2.6 Go(0x21)Command. 89
제3장제조사UARTBootloader사용방법-II 107
□학습목표 108
3.1 WriteMemory(0x31)Command. 109
3.2 HexFile구조에대한이해. 123
3.3 상태도(Stateflow)를이용한HexFiledownloading방법. 135
3.4 Erase(0x43)Command. 148
□ 연구과제 155
제4장MCU내부Flashmemory사용방법 157
□ 학습목표 158
4.1 HxDHexEditor소개.159
4.2 STM32MCU내부FlashMemory사용방법. 172
4.2.1 FlashmemoryReadAccessTime소개. 174
4.2.2 FlashmemoryWriteAccessTime소개. 178
4.2.3 STM32내부Flashmemory특징과사용방법.182
제5장MCU외부Flashmemory사용방법 201
□학습목표 202
5.1 SerialFlashMemoryW25Q32소개. 203
5.2 SerialSPIFlashMemoryW25Q32FV사용방법. 208
5.3 SerialSPIFlashMemory동작원리분석. 215
5.4 FlashMemoryInstruction정리. 227

제6장SPIFlashmemory관련Coding방법 249
□학습목표 250
6.1 SerialFlashMemoryProgramming방법. 251
6.2 SerialFlashMemory식별을위한Code구현. 267
6.3 SerialFlashMemorydata를지우는Code구현.274
6.4 SerialFlashMemory로부터데이터를읽는방법.283
6.5 SerialFlashMemory에데이터를쓰는방법. 289
제7장UserBootloader를위한downloader개발 305
□학습목표 306
7.1 실행binary파일을외부FlashMemory에저장하는방법. 307
7.2 Host에서실행파일을전송하는방법. 317
7.3 MCU내부flashmemory또는SRAM에데이터저장방법. 349
제8장UserBootloader소개와간단한예제구현 373
□학습목표 374
8.1 간단한UserBootloader구현방법소개. 375
8.2 간단한UserBootloader개발과정따라하기. 389
제9장실전UserBootloader구현방법 415
□학습목표 416
9.1 MCU내부MainFlashmemorybooting방법. 417
9.2 실제제품에적용되는사례소개. 432
9.2.1 내부flashmemory또는EEPROM을사용하는경우. 440
9.2.2 RS-485와Modbus를사용한사례. 441
9.3 MCU내부RAMbooting방법과의미. 446
9.4 MCU외부SerialFlashMemory를이용한booting방법.452
제10장OS(운영체제)의구조이해와uC/OS-II소개 459
□ 학습목표 462
10.1 OS에대한개념과uC/OS-II소개 463
10.2 Multi-tasking을위한taskscheduling과task의상태 473
10.3 Multi-tasking을위한task전환방법과구현 496

10.4 Hook함수와uC/OS-II간단한예제실습 512
□ 연구과제 524
제11장uC/OS-IIOS와KernelObject의구조와종류527
□ 학습목표 528
11.1 OS사용에따른stack과heap의관리방법 529
11.2 Task전환에따른Stack관리방법 541
11.3 Task와Interrupt사이의전환방법 556
11.4 Kernelobject의개념과종류 567
제12장uC/OS-II와FreeRTOS사용방법 579
□학습목표 580
12.1 uC/OS-II와다양한Kernelobject사용방법 581
12.1.1 Multi-task와단일task의차이점. 583
12.1.2 Mutex를이용한공유자원접근과PriorityInversion. 589
12.1.3 Semaphore를이용한공유자원접근방법. 597
12.1.4 MessageMailbox를이용한task간정보전송방법. 603
12.1.5 MessageQueue를이용한task간정보전송방법. 610
12.2 FreeRTOS소개와AC6로compiler방법 623
12.3 FreeRTOS에Task등록과사용방법 637
□ 연구과제 644
부록1SJ_MCUPro사용설명서 645
부록2SJ_MCUBook_M0/M4보드회로도와설명서 653
부록3KEILMDK-ARM사용시주의사항 673
찾아보기 683