AVR (컨트롤러)

최근 편집: 2022년 12월 27일 (화) 01:04

개요

AVR은 ATMEL 사에서 제작한 8비트 RISC 마이크로컨트롤러이다.

특징

  • ISP 인터페이스를 지원해서 롬라이터 없이 ISP로 바로 프로그램을 다운로드 할 수 있다.
  • RISC형 MPU 이며 하버드 구조를 채택
  • 다른 임베디드 마이크로컨트롤러와 달리 C/C++언어 모두 프로그래밍이 가능하다. 다른 마이크로컨트롤러의 경우 기존 프로그래머들이 모두 어셈블리어/C언어 외에 다른 언어로 개발하는 것을 일종의 금기시할 정도로 저급언어로만 개발하지만, Arduino 라이브러리를 필두로 C++을 이용한 객체지향형 프로그래밍을 이용하여 개발하는 경우도 어렵지 않게 볼 수 있다. 물론, 어설픈 객체지향형 프로그래밍을 하다가 프로그램이 정지하거나, 메모리가 줄줄 새는 등 최적화에서 문제가 생기는 경우도 많다. 하나의 클래스에 온갖기능을 다 때려 박아 넣은 놀라운 프로그래밍을 하는경우도 볼 수 있다! 그리고 C++프로그래밍을 하더라도 new 오퍼레이터 같은경우 allocate 함수로 대체되어 있는(...) 순수한 C++이라고 보기 힘든 부분도 존재한다.
  • 개발환경 구비가 쉬운편이다. IDE의 경우 무료로 배포 중인 atmel studio(이름에서도 볼 수 있듯이 visual studio 껍데기를 씌어 놓아서 windows환경에 익숙한 대부분의 사람들이 쉽게 접근 가능하다.)에는 롬라이팅 기능, 시리얼 통신 기능까지 모두 통합되어 있어서 atmel studio 하나만으로 개발환경이 사실상 끝.(물론 고급 개발자들은 요거 하나만 쓰지 않는다.JTAG이라던가) ISP또한 짝퉁(...)이 굉장히 많이 풀려있어 1~2만원이면 구매 가능하다.(대신 구버전 atmel studio 랑만 호환되는 경우가 많다.)
  • 관련 커뮤니티가 활발하다. 네이버 카페에만 봐도 여러 유명한 카페들의 주력 마이크로컨트롤러는 AVR인 경우가 많고 또한 고수, 고급개발자들 또한 그러한 카페에 자주 등장하여 여러 초보자들을 구원해주는 경우가 많다. 그리고 각종 고급 팁이나, 예제 등을 그냥 올려놓아서 공부하기 굉장히 좋다.다만 보고 이해 못하는게 문제

기타

  • ATmega128이 AVR시리즈중에서 가장 인기가 좋은 모델이다.
  • arduino에 사용되었으나 현재는 ARM으로 대체되었다.