[임베디드 기초] 2편 - 메모리 구조와 변수 저장 원리
들어가며 1편에서 펌웨어가 플래시에 저장되고, 변수는 RAM에서 동작한다고 정리했다. 그런데 막상 “전역변수는 어디 저장돼요?”, “const는요?” 라는 질문을 받으면 정확하게 대답하기가 쉽지 않다. 2편에서는 STM32 메모리 구조를 조금 더 깊이 들어가본다. 내가 선언한 변수 하나가 어느 메모리 영역에 올라가는지, 링커가 이걸 어떻게 결정하는지까지 정리한다. Flash vs RAM 다시 짚기 STM32에는 크게 두 가지 메모리가 있다. Flash (플래시) non-volatile — 전원을 꺼도 데이터가 유지된다 읽기는 자유롭지만, 쓰기는 Erase → Write 순서로 페이지/섹터 단위로만 가능하다 속도가 RAM보다 느리다 코드(명령어), 상수, 전역변수 초기값이 저장된다 RAM ...