설치후 AVRISP mkⅡ Programmer 를 연결후 드라이브 설치
- AVR Studio 프로그램 실행 후 Tools -> Program AVR -> Connect 클릭 연결 또는
메뉴 밑에 실행 박스에 Con 아이콘을 실행
- Platform 과 Port 설정 후 Connect 실행해서 연결함
Platform : AVRISP mkⅡ 선택
Port : USB 선택
- 연결이 되면 아래와 같이 실행됨
Connect 실행해도 아래와 같이 실행이 안되면 케이블이나 Programmer 확인
[#M_- Main|- Main|- Main : Device 연결 설정을 한다.
※ Device and Signature Bytes
Device : 연결하는 CPU 선택
Erase Device - Device 메모리 지우기
Read Signature - 선택한 Device가 Target Device 와 동일한지 체크
※ Programming Mode and Target Settings
Programming Mode : ISP mode 선택
Settings - ISP Frequency 셋팅 버튼
Target 는 AVRISP mkⅡ에서 생성하는 클럭신호(SCK)를 받는데 Target의 클럭 속도는 AVRISP mkII의 클럭 속도보다 최소 4배 정도 빨라야 한다.
AVRISP mkⅡ의 ISP Frequency를 Target보다 4배 정도는 낮게 설정을 해주어야 Target과 통신이 된다.
- Program : 프로그램 쓰기 설정을 한다.
※ Device
Erase Device - Device 메모리 지우기
Erase device before flash programming : Device 에 쓰기 전에 Flash, EEPROM 지우기
Verify device after programming : Device 에 쓰기 후에 프로그램 검증
※ Flash
Input HEX File : Flash 에 쓰기 HEX 파일 위치 지정
Program - Flash 에 쓰기
Verify - 프로그램 검증
Read - Device 의 Flash 파일 읽어서 저장
※ EEPROM
Input HEX File : EEPROM 에 쓰기 HEX 파일 위치 지정
Program - EEPROM 에 쓰기
Verify - 프로그램 검증
Read - Device 의 EEPROM 파일 읽어서 저장
※ ELF Production File Format
Input ELF File : ELF파일 위치 지정
Program - 프로그램 쓰기
Save - 파일 저장
*.hex : Intel Hex File Format
*.a90 : IAR Compiler 에서 생성되는 Intel Hex File Format
*.eep : AVR 어셈블러에서 생성되는 EEPROM 용 Hex 파일
- Fuses : Device 의 동작 환경 설정을 한다.
체크 전부 해제함
BODLEVEL : Brown-out detection at VCC = 4.0V
SUT_CKSEL : Ext, Crystal/Resonator High Ferq ; Start-up time : 16K CK + 64ms
[#M_CompMode|CompMode|CompMode(ATmega103 Compatibility Model)
기본적으로 체크되어 있으며 ATmega 128 로 사용하고자 할 적엔 체크하지 않는다.
이것은 Mega128이 Mega103의 후속 모델로 나왔기 때문이며, Mega162, Mega8515, Mega8535 등은 각각 161,8515, 8535와 호환 모드를 갖는다.
WDTON(Watchdog Timer always on)
워치독 타이머를 하드웨어적으로 ON 시킨다.
OCDEN(On-Chip Debug Enabled)
JTAG을 사용한 Debug를 Enable 한다.
JTAGEN(JTAG Interface Enabled)
JTAG 을 사용해 Debug 나 Writing 을 할 때 체크 한다.
JTAG ICE을 사용하지 않는다면 체크하지 않는다.
SPIEN(Serial Program Downloading (SPI) Enabled)
ISP 기능을 사용할 때 체크 한다.
기본적으로 체크되어 있으며, 이 비트가 지워질 경우 ISP로 라이팅이 되지 않으므로 주의 하여야 한다.
EESAVE(Preserve EEPROM through Chip Erase cycle)
Device 의 메모리를 Erase 할 때 EEPROM 은 지우지 않는다.
Device 를 Erase 할 때에 Flash 와 EEPROM 을 모두 지우므로, EEPROM에 저장되어 있는 데이터를 보존하고 싶을 때 사용한다.
단, Program은 가능하다.
BOOTSZ(Select Boot Size)
BOOTRST(Boot Reset vector Enabled)
Self Programming 을 사용할 때 Boot Loader 가 들어갈 Flash 메모리의 크기와 리셋 번지를 설정한다.
만약, Self Programming 을 사용하지 않는다면 Boot Flash section의 크기는 어느 것이든 상관 없으며 Boot Reset vector Enable 에는 체크하지 않는다.
CKOPT(CKOPT Fuse(operation dependent of CKSEL fuses))
Clock의 Swing 레벨을 Small 에서 Full Swing 하게 한다.
Ext. Crystal/Resonator 를 사용할때 8MHz 보다 클 경우 반드시 체크해 주어야 하며, XTAL2 로 다른 디바이스에 클럭을 주고자 할 때에도 사용한다.
BODLEVEL(Brown-out Detector Trigger Level)
ㅁ Brown-out detection at VCC=4.0V
ㅁ Brown-out detection at VCC=2.7V - (default value)
BODEN(Brown-out Detection Enabled)
Brown-out detection 기능을 사용할때 체크한다.
Brown-out detection 기능은 VCC가 위에 설정된 레벨 이하로 떨어질 경우 시스템적으로 Reset을 해 주는 기능이다.
Brown-out detection enableed 를 체크하지 않으면 레벨은 상관이 없다.
SUT_CKSEL(Select Clock Source)
ㅁ Ext. Clock; Start-up time: 6 CK + 0 ms ...
XTAL1 핀으로 외부에서 클럭을 공급 받을 때 사용한다.
Oscillator 를 사용할 때 사용한다. 만약 XTAL/Resonator 사용시 실수로 이 클럭 옵션을 선택하게 되면 발진을 하지 않아 ISP 기능을 사용할 수 없다. 이럴 경우 Oscillator를 연결하거나, 펑션 제너레이터로 XTAL1 에 클럭을 공급해 주면서 ISP로 클럭 옵션을 바꿔 주어야 한다.
ㅁ Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms ...
ㅁ Int. RC Osc. 2 MHz; Start-up time: 6 CK + 0 ms ...
ㅁ Int. RC Osc. 4 MHz; Start-up time: 6 CK + 0 ms ...
ㅁ Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms ...
내부 RC 발진기를 사용할때 체크한다.
1~8MHz 까지 선택할 수 있으며, 1MHz 를 제외한 2,4,8 MHz 일 경우, 외부 롬라이터에서 Calibration Byte 를 읽어서 OSCCAL 레지스터에 써넣어 주어야 한다.
ㅁ Ext. RC Osc. - 0.9 MHz; Start-up time: 18CK + 0 ms ...
ㅁ Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18CK + 0 ms ...
ㅁ Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18CK + 0 ms ...
ㅁ Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18CK + 0 ms ...
외부 RC 발진기를 사용할때 체크한다.
ㅁ Ext. Low-Freq. Crystal; Start-up tie : 1K CK + 4 ms ...
32.768KHz 의 시계 클럭을 사용할 시 사용한다.
ㅁ Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 4 ms ...
ㅁ Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 4 ms ...
ㅁ Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 4 ms ...
외부 Crystal 이나 Resonator 를 사용할때 사용한다 (Clock Freq : 9 ~ 16MHz)
※ Start-up time : ?? CK + ?? ms 는 시스템이 Reset 되었을 경우 다시 On 되기까지의 리셋 딜레이이다.
각 클럭 옵션마다 SUT 값에 따라 각각 다른 리셋 딜레이가 있다.
AVR Studio 에서는 클럭 옵션에 대한 설명이 나와 있지만 PonyProg2000 등과 같은 프로그램에선 이 부분에 대한 설명이 나와 있지 않으므로, 데이터쉬트에서 System Clock and Clock Options 부분을 잘 읽어 보고 선택해야 한다.
특히 해당 비트를 체크하면 “0” 이므로 이 부분을 주의 해야 한다.
Auto read
Smart warnings
Verify after programming
Program - 프로그램 쓰기
Verify - 프로그램 검증
Read - 프로그램 파일 읽어서 저장
_M#]
- LockBits : 프로그램 보호 기능
LockBit 설정후 Chip erase 명령을 수행하면 LockBit는 모두 Default로 설정한다.
이때 Chip erase 명령 수행동안 Fuse Bit 에는 영향이 없다.
따라서 Fuse Bit 설정 -> Chip erase -> 프로그램 다운로딩 -> LockBit 순으로 진행해야 한다.
외부에서 플래시 메모리를 프로그랭하는 기능에 대한 보호 설정한다.
- Default 값은 11
- FLASH/EEPROM 쓰기 금지 또는 FLASH/EEPROM 읽기,쓰기 금지(Fuse Bit 포함)
BLB0(Boot Lock Bit)
실행프로그램으로 응용프로그램 섹션을 엑세스하는데 대한 보호를 설정한다. LPM/ELPM/SPM 명령은 메모리 영역에서 정의된 상수를 엑세스하는 명령어이다.
- Default 값은 11
- DataSheet 참고하여 용동에 맞게 설정하다.
BLB1(Boot Lock Bit)
실행프로그램으로 부트로더 섹션을 엑세스하는데 대한 보호 설정한다.
- Default 값은 11
- DataSheet 참고하여 용동에 맞게 설정하다.
Smart warnings
Verify after programming Program - 프로그램 쓰기
Verify - 프로그램 검증
Read - 프로그램 파일 읽어서 저장
_M#]
- Advanced
※ Oscillator Calibration Byte
Calibrate for frequency
- HW Settings
※ Voltages
※ Clock Generator
※ Firmware Upgrade
- HW Info
※ Hardware and Firmware Revision
- Auto :
_M#]
'소프트웨어 > AVR Setup' 카테고리의 다른 글
IAR Embedded Workbench-AVR (0) | 2011.09.21 |
---|---|
AVRISP mkII Programmer (0) | 2011.09.21 |