STM32에서 코드, 로다타, RW-data, ZI-data의 의미
Code: 프로그램 코드 섹션입니다.
RO-DAta: 프로그램이 정의한 상수와const형 데이터를 나타낸다.
RW-DAta: 초기화된 정적 변수의 초기 값을 나타냅니다.
ZI-DAta: 초기화되지 않은 정적 변수를 나타내며 초기 값이 없는 변수입니다.
#define DATA (0x10000000) /* RO-Data */
char const GcChar = 5; /* RO-Data */
char GcStr[] = "string."; /* RW-Data */
char GcZero; /* ZI-Data */
여기서,
ROM(Flash) Size = Code+RO-Data+RW-Data;
RAM Size = RW-Data+ZI-Data;
왜 상술한 RW-DAta는 Flash와 RAM을 차지하는가, 변수는 RAM에 놓인 것이 아닌가.
Flash 사용RW 데이터는 ZI처럼'무중생유'할 수 없기 때문에 ZI단 데이터는 그 소재만을 요구한다
의 영역을 모두 0으로 초기화하기 때문에 컴파일러가 제시한 ZI 기지와 크기에 따라 해당하는 RAM을
낱개로 정리하다.그러나 RW 세그먼트 데이터는 이렇게 하지 않기 때문에 컴파일러는 모든 RW 세그먼트 데이터에 값을 부여하기 위해 먼저 RW 세그먼트를
의 모든 초기 값을 Flash에 저장하고 프로그램이 실행될 때 Flash의 데이터를 RAM으로 운반하기 때문에 RW
세그먼트는 Flash를 사용하고 RAM을 사용하며 공간 크기는 동일합니다.
내용은 에서 참고하였다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.