본문 바로가기
카테고리 없음

[펌웨어] FLASH 메모리와 SRAM 이란?

by newbeverse 2025. 1. 8.

언젠가 한번 보게 되는 메모리 주소

개발중 부트로더나 디버그를 진행하다보면, 메모리 주소와 사이즈를 종종 접하게 된다.

 

FLASH 메모리와 SRAM

Flash 메모리

- 비휘발성 메모리로 (전원이 꺼져도 데이터가 유지) 된다.

- 프로그램 코드, 상수, 설정값 등이 저장된다.

- 프로그래밍을 통해서만 내용 변경이 가능하다.

- 읽기는 빠르지만 쓰기는 상대적으로 느리다.

- stm32 에서는 주소가 0x08000000 부터 시작한다.

 

SRAM (Static Random Access Memory)

- 휘발성 메모리 (전원이 꺼지면 데이터 삭제)

- 실행 중인 프로그램의 변수들이 저장

- 읽기 쓰기 매우 빠름

- 프로그램 실행 중 자유롭게 데이터 변경 가능

- stm32에서는 주소가 0x20000000 부터 시작.

 

SRAM 예시

우리가 mcu와 연결된 센서를 변수명 "sensorA" 로 지정하고 이를 실시간으로 디버깅 watch 기능으로 모니터링 하는경우, SRAM 메모리를 변수에 저장하고 확인한다.

 

프로그램 시작 단계 이해하기

미세먼지 센서값을 디스플레이에 표시하는 과정

FLASH :

프로그램 코드가 저장되어 있습니다. (센서 초기화, 통신 프로토콜, 디스플레이 제어 코드)

 

 

반응형