본문 바로가기

Develop Knowledge/Atmega, AVR

3강. 개발 환경 준비

본 강의는 Atmega를 개발하기 위한 환경을 준비하는 방법을 설명한다.

이 과정은 이해하는건 아니고, 초기에 필요한 소프트웨어만 준비하고 설정하는 과정이므로 편하게 따라와도 괜찮을 것 같다!

 

Atmega로 모듈을 제어하는 과정은 다음과 같다.

1. 회로를 구성한다.

2. 회로를 제어하는 코드를 작성한다.

3. 코드를 Atmega에 넣는다.

하나씩 살펴보도록 하자.

 

- 1. 회로를 구성한다.

회로도를 보고, 회로를 구성한다.

 

- 2. 코드를 작성한다.

이를 위해서 IDE(Integrated Development Envirionment). 즉 개발을 할 수 있는 프로그램이 필요하다.

프로그램은 Atmel Studio를 가장 많이 쓰고, AVRvision을 쓰는 사람도 있긴 하지만 전자를 추천한다.

과정은 다음과 같다.

1. 프로그램을 다운로드 한다 : https://www.microchip.com/en-us/tools-resources/develop/microchip-studio

설치 환경은 기본으로 하면 된다. Next를 계속 눌러주자.

2. FIle -> New -> New Project 선택

3. GCC C Executable Project(실행 가능한 프로젝트) 선택

4. 칩 선택

5. 코드 작성

 

IDE에서 칩을 선택할 때 주의사항이 하나 있다.

칩을 구매할 때 이름을 보면, 'Atmega128PRO-AU', 'AVR Atmega128-PL' 등 온갖 수식어를 적어두는 모습을 볼 수 있다..

이거는 Atmega를 수입해서 파는 국내 회사에서 임의로 붙인 이름이고, 실제로는 아무 의미 없다.

실제로 칩의 이름을 보려면, 칩을 살펴보면 된다.

이런식으로, 맨 윗줄의 이름을 보면 된다. 위같은 경우는 'ATMEGA128A' 이다.

 

-3. 코드를 Atmega에 넣는다.

코드를 Atmega에 넣기 위해서는, ISP 프로그래머가 필요하다.

사진과 같이, USB와 Atmega를 ISP 프로그래머로 연결해주면 된다.

잘 연결되었는지 확인을 해보려면, '장치 관리자'에 들어가서 'AVRUSB mkII' 라고 떠있는지 확인해본다.

 

만약 없다면, CP210x 드라이버를 설치해본다.(ISP 프로그래머 중에 CP210x 드라이버를 필요로 하는 것도 있다.)

설치 방법은, https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers 에 들어간 후,

'CP210x Window Driver'를 다운로드 하고 윈도우 버전에 맞는 프로그램을 설치하면 된다.

 

인식이 잘 됬다면, Atmel Studio에서 ISP 프로그래머를 사용하기 위해 설정을 해주어야 한다.

Tools-> Device Programming에 들어가보자.

설정을 다음과 같이 해준다.

 

만약 Tool에 'Simulator'만 있다면, 인식에 문제가 생긴 것이다. ISP 프로그래머가 올바른 방향으로 연결되었는지 확인하고, 그래도 안된다면 다른 ISP 프로그래머를 사용하는게 좋다.. 오류가 워낙 방대하고 자료도 없기 떄문에, 다른 ISP 프로그래머를 사용하는게 속이 더 편하다..

다 했으면, 일단 기본 설정을 사용한다. Set 버튼을 눌러준다.

 

그러면 이제 ISP 프로그래머 설정은 끝났고, 이제 코드를 Atmega에 넣는 일만 남았다!

먼저, 프로그램을 build 해준다.

build -> build Solution을 선택하면 된다.

그 다음, Debug -> Start Without Debugging 을 선택한다.

그러면 다음과 같은 창이 뜬다.

"연결된 프로그래머를 선택하고 다시 시도해주세요"

오류 메세지는 아니고, 프로그래머를 선택하라는 의미이다.

Select debugger/programmer 에서 'AVRISP mkII'를 선택해준다.

그리고 다시 실행해보면, 드디어 프로그램을 Atmega에 넣을 수 있게 된다!!

'Develop Knowledge > Atmega, AVR' 카테고리의 다른 글

6강. GPIO 실습 - 스위치로 LED 다루기  (0) 2022.12.17
5강. 핀 선택하기  (0) 2022.12.17
4강. GPIO 개요  (0) 2022.12.17
2강. 준비물  (0) 2022.12.17
1강. Atmega AVR 개요  (0) 2022.12.17