1. Flash Memory (프로그램 저장용 메모리 → 하버드 구조)
- 일반적으로 마이크로 컨트롤러는 주로 제어 전용 내장형 시스템에 쓰이기 때문에,
- 프로그램은 전원을 꺼도 지워지지 않는 비휘발성 메모리에 저장된다. (10,000번 다시 쓰기 가능)
- ATmaga128은 프로그램이 저장되는 비활성메모리로 Flash메모리를 사용하며,
- 이 Flash메모리는 In System Programming기술을 사용하여 PC에서 직접 프로그램을 다운받을 수 있다
2. Flash 메모리 크기와 워드
- ATmega128은 8bit 프로세서여서 기본적으로 모든 데이터를 8bit단위로 저장하고 처리하지만,
- ATmega128이 포함된 AVR 시리즈의 명령어세트는 기본적으로 16bit로 구성된다.
- ATmega128은 하버드구조이기 때문에 데이터/프로그램 메모리의 워드가 다를 수 있는데,
- 이런 이유때문에 프로그램 메모리(플래시 메모리)의 워드는 16Bit(2Byte)이다.
- 프로그램 메모리는 128KB로 64KWord이다. (약 64,000개의 명령어를 저장할 수 있음)
3. ATmega128 Flash 메모리의 구성
- ATmega128의 플래시메모리는 위와 같이 (부트섹션/응용섹션)으로 나뉘는데,
- 부트섹션에는 부트로더 등의 기본적인 밑작업을 하기 위한 펌웨어가 저장되어있고,
- 응용섹션에는 사용자가 사용할 응용프로그램이 저장되어있다.
- 만약 부트섹션 사용을 원치 않으면 모든 영역에 응용프로그램을 저장 할 수 있다.
4. 휘발성(Volitile) vs 비휘발성(Non Volitile)
- 휘발성(Volitile) : 전원을 끄면 내용이 날아가는 메모리 (RAM)
- 비휘발성(Non Volitile) : 전원을 꺼도 내용이 유지되는 메모리 (ROM & FLASH)
- ATmega128과 같은 제어용 컨트롤러는 일반적으로 프로그램을 비휘발성 메모리에 저장한다
5. Reference
'마이크로프로세서' 카테고리의 다른 글
ATmega128 보드 (0) | 2020.04.21 |
---|---|
ATmega128의 EEPROM (추가메모리) (0) | 2020.04.21 |
ATmega128의 SRAM과 레지스터 (데이터 저장용) (0) | 2020.04.21 |
ATmega128의 레지스터 (0) | 2020.04.21 |
ATmega128 컨트롤러의 특징 (0) | 2020.04.21 |
2진수와 16진수 표현법 (0) | 2020.02.18 |
메모리 접근 구조 (폰노이만, 하버드) (0) | 2020.02.18 |