ATmega128의 Flash 메모리 (프로그램 저장용)

마이크로프로세서

2020. 4. 21. 12:12

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

 

마이크로 프로세서 및 실습 Ⅰ

마이크로 프로세서 및 실습

www.kocw.net