아두이노의 메모리 구조, 아키텍쳐(Flash Memory, SRAM, EEPROM)란? 개념정리



1. 아두이노 우노의 저장 장치

1.1. 저장 장치의 종류와 역할 및 특징

특징 / 종류 Flash Memory SRAM EEPROM
용량 32KB 2KB 1KB
역할 - 스케치(프로그램 코드) 저장
- PC의 보조기억장치(HDD, SSD) 역할
- 프로그램의 작동을 위한 각종 변수와 값을 임시 저장(전원 차단시 데이터 소멸)
- PC의 메모리 or L1/L2/L3 캐시 역할
- SRAM 보다 느리지만 변수 값을 Flash에 저장하는 역할.
- PC의 보조기억장치(HDD, SSD) 역할
  • Flash Memory (Program Space)
    • 스케치를 위한 Flash Memory와 EEPROM은 같은 Flash Memory를 사용
    • 아두이노 스케치에서 Flash Memory에 쓰는 작업 불가
    • 아두이노 IDE에서 작성한 스케치를 업로드 할 때만(burn time) 쓰기 작업 가능
  • SRAM (Static Random Access Memory)
    • 변수, 버퍼, 문자열 등 생성
  • EEPROM
    • Flash Memory와 EEPROM은 두 영역이 파티션처럼 서로 구분되어 있어 스케치를 업로드해도 EEPROM의 값은 변경 X
    • EEPROM을 사용하여 변수의 값을 Flash Memory에 저장하기 위해서는 EEPROM 라이브러리를 등록하고 EEPROM 함수를 사용해야 한다.

2. 아두이노 모델별 저장 장치 크기

  ATMega168 ATMega328P ATmega1280 ATmega2560
Flash (1 Kbyte used for bootloader) 16 KBytes 32 KBytes 128 KBytes 256 KBytes
SRAM 1024 bytes 2048 bytes 8 KBytes 8 KBytes
EEPROM 512 bytes 1024 bytes 4 KBytes 4 KBytes

reference