· AVRDUDE 란?

AVRDUDE는 AVR 마이크로 컨트롤러의 ROM 및 EEPROM 컨텐츠를 다운로드/업로드/조작 등을 도와주는 유틸리티입니다.
Atmel Studio & CodevisonAVR은 Linux 환경을 지원하지 않으므로,

Linux 환경에서 Hex 파일을 AVR microcontrollers에 다운로드 하기 위해 사용합니다.

 

· AVRDUDE Install

1. Download AVRDUDE File

/home 폴더에 AVRDUDE를 설치하기 위해 /home 폴더로 이동한 후
wget 명령어로 다운로드를 진행합니다.

# cd /home
# wget http://download.savannah.gnu.org/releases/avrdude/avrdude-5.9.tar.gz

 

2. Unpack AVRDUDE File

/home 폴더에 다운로드가 완료된 avrdude-5.9.tar.gz 파일의 압축을 해제합니다.
압축 해제 후 생성된 avrdude-5.9 폴더로 이동합니다.

# tar -zxvf avrdude-5.9.tar.gz
# cd avrdude-5.9/

 

3. Install AVRDUDE File (configure)

configure는 소스파일에 대한 환경설정을 해주는 명령입니다.

소스를 사용할 컴퓨터와 사용자의 환경에 맞게 내 컴퓨터는 어떤 기종이고 컴파일에 필요한 시스템 파일들은 어디에 위치해 있으며,

어떤곳에 설치를 하겠다고 지정을 하는 과정입니다.

# ./configure

 

4. Install AVRDUDE File (make)

make는 소스를 컴파일 하는 과정입니다.

컴파일이란 것은 소스파일을 사용자가 실행 가능한 파일로 만들어 주는 과정을 말합니다.

make 과정이 끝나고 나면 설치파일(Setup 파일 같은 것)이 생성된 상태라고 볼 수 있습니다.

# make

 

5. Install AVRDUDE File (make install)

make install은 make를 통해 만들어진 설치파일(setup)을 설치를 하는 과정입니다.

build된 프로그램을 실행할 수 있게 파일들을 알맞은 위치에다가 복사합니다.

# make install

 

6. Install AVRDUDE File (Version Check)

make install 완료 후 avrdude –v 명령어로 Version 확인이 되면 정상적으로 설치가 되었습니다.

# avrdude -v

 

· AVRDUDE Configuration

7. USB Port Configuration

AVR ISP와 연결된 Port를 찾아야 합니다.

Linux 환경은 File System 으로 구성되어 있으므로, Port도 하나의 파일로 관리됩니다.

# dmesg | grep tty

 

8. AVR Device Configuration

AVRDUDE는 다양한 종류의 AVR Device에서 Download를 지원합니다.

사용하는 Device에 따라 명령어가 달라지므로 현재 Device를 확인합니다.

저는 Atmega16을 사용하므로 아래의 Command에서 m16 값을 사용하였습니다.

# avrdude -p ?

 

9. Make Hex File Directory & Move Hex File  

Hex 파일만을 관리하기 위한 폴더를 생성합니다.

Hex 폴더 생성 후 해당 폴더로 이동 후 Download 할 Hex 파일을 /home/avrdude-5.9/hex 폴더로 이동시킵니다.

# mkdir hex

# cd hex/

# mv [Download 진행할 Hex 파일 이름] /home/avrdude-5.9/hex/[Download 진행할 Hex 파일 이름]

 

· AVRDUDE Start

10. Write Hex File

Atmega에 Hex File을 Write하는 Command 입니다.

# avrdude -p m16 -c stk500 -P /dev/ttyUSB0 -U flash:w:IcingAVR_5v.hex

 

11. Read Hex File

Atmega에 Hex File을 Read하는 Command 입니다.

# avrdude -p m16 -c stk500 -P /dev/ttyUSB0 -U flash:r:IcingAVR_5v.hex:i

 

12. Verify Hex File

Atmega에 Download되어 있는 Hex File을 Verify하는 Command 입니다.

Verify는 현재 AVR에 올라가 있는 Hex 파일과 입력한 Hex 파일의 Binary 값의 일치여부를 확인합니다.

# avrdude -p m16 -c stk500 -P /dev/ttyUSB0 -U flash:v:IcingAVR_5v.hex:i