LUNA's Archive

고정 헤더 영역

글 제목

메뉴 레이어

LUNA's Archive

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (79) N
    • C (2)
    • C++ (1)
    • Data Structure & Algorithm (9)
    • Computer Vision (0)
    • RDBMS (18)
    • Spring Framework (4)
    • Network (8)
    • Spring Webflux (2)
    • Java (12) N
    • 대규모 설계 기초 (12)
    • Spring Data JDBC (5)
    • Spring Security (4)
    • JPA (0)
    • Spring Batch (0)
    • Infra (2)

검색 레이어

LUNA's Archive

검색 영역

컨텐츠 검색

Embedded System

  • [C] 임베디드 시스템에서 volatile 키워드를 사용하는 이유

    2019.07.16 by Wanderer Kim

[C] 임베디드 시스템에서 volatile 키워드를 사용하는 이유

MCU 프로그래밍을 하다 보면 레지스터를 제어하기 위해 같은 주소에 여러번 값을 여러번 쓰는 경우가 빈번하고, 이런 경우 코드를 보면 앞에 volatile 키워드를 사용하는 경우를 볼 수 있다. 처음 이런 코드를 보면 언뜻 C언어를 배울 때 배웠던 volatile 키워드의 용법과 연결이 되지 않는다. 그래서 volatile이 왜 쓰이는지 같이 살펴보도록 하자. volatile? 우선 volatile 키워드가 무엇인지 알아보자. 변수를 선언할 때 앞에 volatile을 붙이면 컴파일러는 해당 변수를 최적화에서 제외하여 항상 메모리에 접근하도록 한다. 즉, volatile 변수를 참조할 경우 레지스터에 로드된 값을 사용하지 않고 매번 메모리를 참조한다. volatile [type] [variable_name..

C 2019. 7. 16. 14:44

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
LUNA's Archive © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바