임베디드 시스템과 펌웨어
많은 마이크로컨트롤러에서 변경하지 않는 큰 테이블(폰트 데이터 등)을 const를 붙여 선언하는 이점으로 올바른 것은 무엇입니까?
- A플래시 메모리에 놓여 적은 RAM을 사용하지 않아도 된다
- B테이블의 내용이 자동으로 압축된다
- C테이블의 내용을 실행 중에 자유롭게 바꿔 쓸 수 있게 된다
정답과 해설 보기
정답: A. 플래시 메모리에 놓여 적은 RAM을 사용하지 않아도 된다
마이크로컨트롤러에서는 프로그램을 두는 플래시 메모리가 수백 KB 있어도 RAM은 수십 KB인 경우가 흔합니다. const를 붙이지 않은 초기값 있는 배열은 .data가 되어 기동 시 플래시에서 RAM으로 복사되므로 RAM을 사용합니다. const를 붙이면 읽기 전용 데이터로서 플래시에 둔 채 읽을 수 있습니다. 마이크로컨트롤러에 따라서는 플래시에 두기 위한 별도의 지정이 필요한 것도 있습니다.