- [ABOV]테이블 등 초기값을 갖는 특정 데이터를 Flash 영역에 저장 목차
반응형
프로그램을 하다 보면 초기값을 가지는 특정 데이터가 RAM 영역이 아니라 Flash(ROM) 영역에 저장될 필요가 있습니다.
이 경우에 어떻게 해야 하는지 알아보겠습니다.
unsigned int AT103_11K_Table[]=
{
//--------50.1~60---------- // 279~219(61개)
800,800,800,795,795,795, // 6
...
}
이렇게 선언을 하고 컴파일 후 map 파일을 보시면
AT103_11K_Table 0x2000001c Data 2668 main.o(.data)
RAM 영역에 선언되어 있습니다.
Flash 영역에 선언하기 위해서는 const를 사용하시면 됩니다.
const unsigned int AT103_11K_Table[]=
{
//--------50.1~60---------- // 279~219(61개)
800,800,800,795,795,795, // 6
...
}
컴파일 후에 다시 map 파일을 열어보시면
AT103_11K_Table 0x0000394c Data 2668 main.o(.constdata)
이렇게 되어 있습니다.
같은 DATA 타입으로 나오지만은 주소가 Flash(ROM) 영역으로 변경되어 있고
.data에서 .constdata로 변경되어 있습니다.
반응형
'STM32' 카테고리의 다른 글
[TouchGFX]화면의 SlideBar 변경 값을 응용 프로그램에 전달 방법 (0) | 2024.01.25 |
---|---|
[TouchGFX]A Screen을 복사하여 B Screen만들기 (0) | 2024.01.24 |
[ABOV]Timer 인터럽트 예제 보면서 다른 Timer 추가하기 (2) | 2024.01.09 |
[ABOV]예제 프로그램을 내 환경에 맞게 변경하기 (0) | 2024.01.08 |
Keil에서 multiply defined 발생 파일 찾아가기 (1) | 2024.01.03 |