책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 소프트웨어 공학
· ISBN : 9791197772719
· 쪽수 : 691쪽
· 출판일 : 2024-10-11
책 소개
목차
제1장 제조사 Bootloader 소개 13
∎ 학습 목표 14
1.1 Bootloader 소개. 15
1.2 Reset의 종류와 특징 정리. 20
1.3 STM32 MCU 종류와 구분 방법 정리. 23
1.4 BOOT Mode 종류와 USART booting 실습. 26
제2장 제조사 UART Bootloader 사용 방법 – I 49
∎ 학습 목표 50
2.1 USART Kernel Bootloader Protocol 분석. 51
2.2 Get(0x00) Command. 56
2.3 Get Version(0x01) Command. 70
2.4 Get ID(0x02) Command. 74
2.5 Read Memory(0x11) Command. 80
2.6 Go(0x21) Command. 89
제3장 제조사 UART Bootloader 사용 방법 – II 107
∎ 학습 목표 108
3.1 Write Memory(0x31) Command. 109
3.2 Hex File 구조에 대한 이해. 123
3.3 상태도(State flow)를 이용한 Hex File downloading 방법. 135
3.4 Erase(0x43) Command. 148
∎ 연구 과제 155
제4장 MCU 내부 Flash memory 사용 방법 157
∎ 학습 목표 158
4.1 HxD Hex Editor 소개. 159
4.2 STM32 MCU 내부 Flash Memory 사용 방법. 172
4.2.1 Flash memory Read Access Time 소개. 174
4.2.2 Flash memory Write Access Time 소개. 178
4.2.3 STM32 내부 Flash memory 특징과 사용 방법. 182
제5장 MCU 외부 Flash memory 사용 방법 201
∎ 학습 목표 202
5.1 Serial Flash Memory W25Q32 소개. 203
5.2 Serial SPI Flash Memory W25Q32FV 사용 방법. 208
5.3 Serial SPI Flash Memory 동작 원리 분석. 215
5.4 Flash Memory Instruction 정리. 227
제6장 SPI Flash memory관련 Coding 방법 249
∎ 학습 목표 250
6.1 Serial Flash Memory Programming 방법. 251
6.2 Serial Flash Memory 식별을 위한 Code 구현. 267
6.3 Serial Flash Memory data를 지우는 Code 구현. 274
6.4 Serial Flash Memory로부터 데이터를 읽는 방법. 283
6.5 Serial Flash Memory에 데이터를 쓰는 방법. 289
제7장 User Bootloader를 위한 downloader 개발 305
∎ 학습 목표 306
7.1 실행 binary 파일을 외부 Flash Memory에 저장하는 방법. 307
7.2 Host에서 실행 파일을 전송하는 방법. 317
7.3 MCU 내부 flash memory 또는 SRAM에 데이터 저장 방법. 349
제8장 User Bootloader 소개와 간단한 예제 구현 373
∎ 학습 목표 374
8.1 간단한 User Bootloader 구현 방법 소개. 375
8.2 간단한 User Bootloader 개발과정 따라하기. 389
제9장 실전 User Bootloader 구현 방법 415
∎ 학습 목표 416
9.1 MCU 내부 Main Flash memory booting 방법. 417
9.2 실제 제품에 적용되는 사례 소개. 432
9.2.1 내부 flash memory 또는 EEPROM을 사용하는 경우. 440
9.2.2 RS-485와 Modbus를 사용한 사례. 441
9.3 MCU 내부 RAM booting 방법과 의미. 446
9.4 MCU 외부 Serial Flash Memory를 이용한 booting 방법. 452
제10장 OS(운영 체제)의 구조 이해와 uC/OS-II 소개 459
∎ 학습 목표 462
10.1 OS에 대한 개념과 uC/OS-II 소개 463
10.2 Multi-tasking을 위한 task scheduling과 task의 상태 473
10.3 Multi-tasking을 위한 task 전환 방법과 구현 496
10.4 Hook 함수와 uC/OS-II 간단한 예제 실습 512
∎ 연구 과제 524
제11장 uC/OS-II OS와 Kernel Object의 구조와 종류 527
∎ 학습 목표 528
11.1 OS 사용에 따른 stack과 heap의 관리 방법 529
11.2 Task 전환에 따른 Stack 관리 방법 541
11.3 Task와 Interrupt 사이의 전환 방법 556
11.4 Kernel object의 개념과 종류 567
제12장 uC/OS-II와 FreeRTOS 사용 방법 579
∎ 학습 목표 580
12.1 uC/OS-II와 다양한 Kernel object 사용 방법 581
12.1.1 Multi-task와 단일 task의 차이점. 583
12.1.2 Mutex를 이용한 공유자원 접근과 Priority Inversion. 589
12.1.3 Semaphore를 이용한 공유자원 접근 방법. 597
12.1.4 Message Mailbox를 이용한 task간 정보 전송 방법. 603
12.1.5 Message Queue를 이용한 task간 정보 전송 방법. 610
12.2 FreeRTOS 소개와 AC6로 compiler 방법 623
12.3 FreeRTOS에 Task 등록과 사용 방법 637
∎ 연구 과제 644
부록 1 SJ_MCUPro 사용 설명서 645
부록 2 SJ_MCUBook_M0/M4 보드 회로도와 설명서 653
부록 3 KEIL MDK-ARM 사용시 주의 사항 673
찾아보기 683