제1장 실습 도구 환경
1.1 마이크로 프로세서란?
1.2 마이크로 프로세서 아키텍처(기본 구조) 종류
1.3 MPU(Micro Processor Unit)와 MCU(Micro Controller Unit)
1.4 AVR(Alf-Egil Bogen, Vergard Wollen, RISC) MCU
1.5 MCU 개발 환경
1.6 ATmega2560(GEMS-CRC 모트) 개발 환경 구축
1.7 Hello 프로젝트
1.8 ATmega2560 내부 구조와 코딩 환경
제2장 주제별 프로젝트
2.1 Pjt01_led
2.2 Pjt02_uart_busy
2.3 Pjt03_uart_stdout
2.4 Pjt04_uart_intr_volatile
2.5 Pjt05_uart_intr_race
2.6 Pjt06_uart_stdout_cir_queue
2.7 Pjt07_uart_input_cir_queue
2.8 Pjt08_uart_stdin_cir_queue
2.9 Pjt09_linked_list
2.10 Pjt10_timer_linked_list
2.11 Pjt11_timer_task
2.12 Pjt12_ADC_TC1047
2.13 Pjt13_SPI_TC77
2.14 Pjt14_I2C_TCN75
2.15 Pjt15_TWI_TCN75
2.16 Pjt16_IOT_IIS(MypPage, static web page)
2.17 Pjt17_IOT_IIS(MyCGI, dynamic web page)
2.18 Pjt18_IOT_TC1047(COM3 port)
2.19 Pjt19_IOT_Query(port, command)
2.20 Pjt20_IOT_Query(form)
2.21 Pjt21_IOT_Console(MyTerm)
제3장 컴파일러 최적화와 경쟁상황
3.1 컴파일러 최적화(Compiler Optimization) 개념
3.2 컴파일러 최적화 기법들
3.3 병렬(다중 스레드) 프로그래밍과 컴파일러 최적화
3.4 인터럽트 핸들러와 컴파일러 최적화
3.5 Voaltile 타입 변수
3.6 임베디드 소프트웨어와 컴파일러 최적화
3.7 임베디드 소프트웨어에서 변수참조 경쟁상황(Race Condition)
제4장 ATmega2560 플래시ㆍEEPROM 쓰기와 읽기
4.1 ATmega2560 메모리 구성
4.2 ATmega2560 플래시(flash) 메모리
4.3 Atmeaga2560 EEPROM
제5장 부트 로더
5.1 부트 로더(Boot Loader)란?
5.2 UART(직렬 통신) 기반 부트 로더
5.3 부트 로더 배치
5.4 부트 로더 써넣기
5.5 메모리(플래시, EEPROM, 퓨즈 바이트, 락 바이트) 보호