728x90

1. ATmega128 개발장비

1) Atemga128 보드

- ATemga128 마이크로 컨트롤러가 장착된 보드, 회로도 준비

- ATmega128 내부 컨트롤러이해 중요

ATmega128 보드들

 

- 사용하려는 소자 or 장치가 어떤 핀에 연결되어있는지 확인하기 위해 회로도를 알아야함

ATmega128 회로도

 

- 핀 C에 LED 8개가 전원과 연결 -> PC의 n번 비트가 0이면 해당 비트 LED에 불이 들어옴

ATmega128 LED 회로

 

ISP In System Program

- Atmega128 내부 플래시 메모리에 다운르도 하는 장치

 ex) AVR ISP mkII, STK500, JTAGICE mkII

- ISP : 프로그램 다운로더

- JTAG : 프로그램 다운로드 + 소스 코드 레벨 디버깅

AVR ISP mkII

 

 ISP 커넥터

- ISP는 제조사마다 핀맵이 다르므로 ATmega128 보드와 ISP간 핀맵이 일치하는 것을 사용해야함

AVR ISP mkII
STK 600

 

 

개발 장비 구성

- 개발 호스트 : 개인 PC or 노트북 - hex 파일 준비

- ISP 장비 : 타겟 시스템과 핀맵이 일치하는 ISP 준비

- 타겟 시스템 : ATmega128이 장착된 보드

 

1. 예제 프로그램

- DDRC = 0xFF -> 핀 C들의 모든 비트를 출력 모드로

- PORTC = 0x00; 핀 C의 모든 비트 출력 0->전류가 흘러 LED 켜짐

- PORTC = 0xFF; 핀 C의 모든 비트 출력 1->전위차가 같아져 전류 안흐름 -> LED 꺼짐

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
	DDRC = 0xFF;
    while (1)
    {
    	PORTC = 0x00;
        _delay_ms(200);
        PORTC = 0xFF;
        _delay_ms(200);
    }
    return 1;
}

 

 

ATmega128 LED 회로

 

2. 빌드 하여 핵사코드 생성

 

3. 파일 다운로드

- Tools > Device Programming

- Tool에 ISP 장치 선택 ex) AVRISP mkII

- Device에 ATmega128 설정

- memories 메뉴 선택

- Flash 경로를 생성한 헥스코드 선택

- 프로그램 버튼 클릭

 

4. 다운로드 결과

300x250

+ Recent posts