회원가입 ID/PW 찾기
AA
voliate 란 휘발성의 즉 ram에 강제적으로 저장공간을 만들거나 아니면 컴파일러 임의로 최적화 해서는 안되는 변수에 사용하는 것으로 알고 있습니다.

아래에 voliate에 대해서 나온 내용에 대해서 의심이 생겨서 이글을 올리게 되었는데 자세히 알고 계신는 분들은 댓글 좀 부탁드립니다.
댓글 3
  • No Profile

    <임베디드홀릭>이라는 카페에 주인장이 volatile에 대하여 아주 친절하고 자세하게 설명해 놓은 것이 있습니다.

    한번 가셔서 찾아보시기 바랍니다.

  • No Profile
    제가 아는체 하는 것보다 정확한 답변을 스크랩 해 왔습니다. 출처는 맨 아래에...^^

    AVR-GCC 에서는 인터럽트 서비스 루틴 내에 사용된 전역 변수와 외부 디바이스의 하드웨어 주소 등에 사용되는 전역 변수들은 레지스터가 아닌 메모리, 메모리 중에서도 어떤 상황으로부터라도 독립적일 수 있는 별도의 메모리 영역으로 할당 될 수 있도록 변수 앞에 volatile 이란 키워드를 붙이도록 규정하고 있습니다. 따라서, GCC 를 AVR 용으로 변환시킨 AVR-GCC 에서도 인터럽트 서비스 루틴 내 사용되는 전역 변수 앞에는 반드시 volatile 을 사용하도록 되어 있다.
    그러나, 다른 상용 컴파일러에서는 이럴 필요가 전혀 없습니다. 왜냐하면, 우리가 개발하고 있는 건 단 하나의 태스크(Task)로 구성되어 있는 Firmware 이기 때문에 스케줄링이 되지 않기 때문입니다. 즉, 한번 메모리에 로딩되면 전원이 꺼질 때까지 그 주소 값을 유지할 수가 있다.
    더불어 volatile 선언은 가급적 하지 않는 것이 메모리 효율성을 높이는데 도움이 됩니다. 왜냐하면 volatile 로 선언된 메모리 영역은 다른 태스크(Task)에 의해 방해받지 않도록 독립 공간으로 할당되기 때문에, volatile 타입의 변수 선언이 많이 지게 되면 그 만큼 다른 태스크에 할당될 메모리 공간이 줄어들게 되기 때문입니다.

    [출처] [뻔뻔] 제2강 : 어떤 컴파일러를 사용해야 하나요? (당근이의 AVR 갖구 놀기) |작성자 뻔뻔강사
  • No Profile

    좋은 자료 감사합니다.

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
668 마이크로프로세서 HOTAVR 교육 프로그램 질문입니다.1 sapialdun 5232 2010.11.16
667 마이크로프로세서 HOTatmega 질문 드립니다.2 sapialdun 1188 2010.11.16
666 마이크로프로세서 HOT8051 어셈블리질문좀할게요ㅠ2 바나나보트 1591 2010.11.15
665 마이크로프로세서 HOT8051 다운카운터 질문이요 partangel 1775 2010.11.13
664 마이크로프로세서 HOTpic용으로 짜진 어셈을 8051용으로 바꿀수 잇나요?5 고장이 1360 2010.11.09
663 마이크로프로세서 HOT음성 안내 VOICE CHIP4 광대역 1777 2010.11.09
662 마이크로프로세서 HOTCSTACK 이라는게 뭔가요?1 BARK 2483 2010.11.06
661 마이크로프로세서 HOTatmega32의 핀을 연결하는 법..1 jyuder 925 2010.11.04
660 마이크로프로세서 HOTF포트 입력 문의 입니다.1 핵교 1641 2010.11.04
659 마이크로프로세서 HOT코드비전에서의 퓨즈비트 설정법좀 가르쳐주세요1 POV매니아 2371 2010.11.04
658 마이크로프로세서 HOT예전에 작품하나한다고 생각했던거 시작중인데요7 온니무 1238 2010.11.04
657 마이크로프로세서 HOT12V에서 8V 사이를 넣어주라는 것은 그속에 이미 레귤레이터가 있는 것이 아닌가요?1 바다거북 1158 2010.11.02
마이크로프로세서 HOTvoliate에 대한 이야기가 있어서3 바다거북 4621 2010.11.02
655 마이크로프로세서 HOTATmega128 소스문의요1 양양양111 1391 2010.11.01
654 마이크로프로세서 HOTuart포트 사용하여 통신3 촌철살인 1538 2010.11.01
653 마이크로프로세서 HOTKEIL Example에서 STM32_Init.c 내부의 0xFFUL에서 UL은 무슨 의미인지요?1 세상탈출 3232 2010.10.31
652 마이크로프로세서 HOTAVR-ISP error enteing proming mode8 POV매니아 7497 2010.10.30
651 마이크로프로세서 HOT질문입니다ㅜ4 lju_0415 1144 2010.10.29
650 마이크로프로세서 HOTATMEG128로 SRF04를 쓰고 싶습니다.. 리타이켄 2363 2010.10.25
649 마이크로프로세서 HOTATmega128로 LED60개를 제어해보려하는데 포트확장에 관해서 문제가있어요 ㅠㅠ5 POV매니아 3426 2010.10.24
Prev 1 ... 12 13 14 15 16 17 18 19 20 21 ... 50 Next
  • 경험은 사상의 아들이고 사상은 행동의 아들이다. 책에서 인간을 배울 수는 없다.
    - 디즈레일리
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.