오늘(12/07)부터 g-camp에서 열어준 avr 스터디에 참가하게 되었다.
사용하는 보드는 arduino uno보드이지만 일반적인 arduino ide 프로그램인 아닌 범용적으로 사용가능한 atmel studio(이전에는 avr studio라고 불렸다.)를 이용하며 업로드 방식도 조금 다른 방법을 이용한다.
기본적으로 arduino ide를 이용한다면
위의 연결법이 매우 일반적인 연결 방법이다.
하지만 이 연결은 아두이노에서 쉽게 업로드 하고 쉽게 시리얼 데이터를 통신하기 위해서 부가적인 장치가 달린것이다.
위의 그림을 본다면 우노는 대표적으로 (atmega 328p)칩을 사용하지만 이를 쉽게 코드를 업로드를 해주고 시리얼 통신을 하기위해서 또 하나의 mcu칩이 달려 있다. 바로 usb 포트쪽에 보이는 atmeag 16u2 라는 칩셋이 시리얼 브릿지로써의 역활을 해주고 쉽게 코드를 업로드 할 수 있도록 한것이다.
그래서 icsp핀이 아두이노는 2개가 있는 이유이다.
그렇기에 그냥 usb에 연결해서 atmel studio를 사용하기에는 사전 작업이 좀 필요해서 atmel studio를 설치하는겸 간이 연결을 해서 테스트 해보기로 했다.
atmel studio 7은 https://www.microchip.com/mplab/avr-support/atmel-studio-7
이 링크에서 설치 할 수 있다.
설치는 해당 링크 하단에서 (네트워크를 이용하여 설치 , 오프라인으로 설치) 이 2가지 중에서 편한것을 고르면 된다.
설치에서는 특별히 언급할것 없이 모두 '예' 와 '다음'을 누르고 인내심을 가지고 기다리면 모든게 끝나있는 것을 볼 수 있다.
File - New - Project..
로 이동하게 되면 해당 2번째 부분인 GCC C Executable Project를 선택해주면 된다.
다양한 칩셋 이름들이 나오지만 당황하지 말고 검색창을 이용하여 해당 칩셋을 맞게 선택해주면 된다. 핀맵을 소프트웨어를 통해서 바꿀 수 없기때문에 p라던지 뒤에 붙은 철자 하나 놓치고 잘못 만들면 오류가 생기거나 다른 핀에서 신호가 터져 나오는 현상을 만날 수 있다.
선택을 완료 했다면 이러한 창을 볼 수 있다. 이러한 창에서 이제부터 자유롭게 코드를 사용할 수 있다.
한번 자유롭게 작동을 확인할겸 이렇게 적어보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#define F_CPU 16000000L
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
while(1){
DDRB = 0X20;
PORTB = 0X20;
_delay_ms(100);
PORTB = 0X00;
_delay_ms(100);
}
}
|
이렇게 작성을 했다면, 이제 컴파일을 통해서 코드에 이상이 없는지 확인을 해볼 차례 이다. (arduino 때와는 다른 코드라고 생각되겠지만 원래 atmega GCC 컴파일러가 지원하는 코드 이며 arduino를 만든 곳에서는 이러한 언어를 좀더 순화한(?) 상태로 우리가 사용하게 편하게 해준것이다. 물론 서로 일장 일단이 있는 것이니 이건 차차 스터디 해가면서 주관적으로 아니면 좀더 조사해서 이를 비교해서 올려 볼까 생각중이다...)
F7 키를 사용하거나,
위 그림처럼 Build - Build Solution 탭을 이용해서 컴파일을 진행 시킬 수 있다.
만약 아무런 문제가 없다면 Build succeed. 라는 문구가 나온다면 잘 작동한다는 증거이다.
또한
프로젝트 경로를 따라가 보면 hex파일과 elf 파일이 생성된것을 확인 할 수 있다.
이렇게 파일들이 생성이 되었다면 atmel studio는 잘 설치된것이다.
다음에는 arduino 보드 즉 atmega328p 칩을 atmel studio에 어떻게 연결 하며 이를 어떻게 코드를 업로드 하는지 확인해보자.
'임베디드 > avr study' 카테고리의 다른 글
pullup, pulldown (0) | 2020.10.08 |
---|---|
ddrx, pinx, portx (2020/10/04) (0) | 2020.10.04 |
avr_study(2020/09/28)_폰노이만, 하버드 구조 비교 (0) | 2020.09.28 |
AVR-STUDY 2일차 (LED ON/OFF ) (0) | 2019.12.08 |