L01_intro

advertisement
Introduction to AVR &
Development Environment Setting
Microcomputer
a computer with a microprocessor as its central
processing unit
personal computer or computer
c.f.) mainframe, minicomputer
as a subject
Computer architecture
Assembler
Memory Interface
I/O Interface
…
incoming Lab.
microprocessor
A microprocessor incorporates most or all of the functions
of a computer's central processing unit (CPU) on a single
integrated circuit (IC, or microchip).
General purpose
 Pentium, AMD, MC68000, …
Digital Signal Processor (DSP)
 optimized specifically for digital signal processing
Advanced RISC Machine(ARM) processor
 mobile and embedded electronics
Micro-controller(MCU)
 designed for embedded applications
…
* CPU : carries out the instructions of a computer program.
incoming Lab.
Micro-Controller
a small computer on a single integrated circuit containing
a processor core, memory, and programmable
input/output peripherals
µC or MCU(micro-controller unit)
시스템 내부의 칩 개수를 줄여줌으로써, 가볍고 작은 시스템
을 만들 수 있게 해준다
가격을 최적화할 수 있으며, 제품의 개발기간을 줄여줄 수
있다
8051(Intel), AVR(Atmel), PIC(Microchip Tech.) , …
incoming Lab.
AVR micro-controller
a modified Harvard architecture 8-bit RISC single chip
micro-controller (Atmel)
architecture was conceived by two students at the
Norwegian Institute of Technology (NTH) Alf-Egil
Bogen and Vegard Wollan
first microcontroller families to use on-chip flash
memory for program storage
megaAVR — the ATmega series
4–256 kB program memory
28–100-pin package
Extended instruction set
Extensive peripheral set
ATmega128 : 128K program memory
incoming Lab.
Harvard architecture vs. von Neumann architecture
Harvard architecture
CPU can both read an
instruction and perform
a data memory access at
the same time
von Neumann architecture
both cannot occur at the same
time
incoming Lab.
RISC vs. CISC
RISC
Reduced Instruction Set Computing
a CPU design strategy based on the insight that simplified (as
opposed to complex) instructions can provide higher
performance if this simplicity enables much faster execution of
each instruction
CISC
Complex Instruction Set Computing
each instruction can execute several low-level operations, such
as a load from memory, an arithmetic operation, and a memory
store, all in a single instruction
incoming Lab.
Pinout of ATmega128
TQFP : thin quad flat pack
c.f) MLF : Micro Lead Frame
incoming Lab.
Internal Architecture of ATmega128
incoming Lab.
Development Environment
프로그램
컴파일
다운로드
실행
AVR Studio : 프로그램, 다운로드
Win AVR : 컴파일
USB ISP : 다운로드(USB driver)
incoming Lab.
AVR Studio 내려받기
http://www.atmel.com
Download AVR Studio 4.18
Register required
Datasheet
ATmega128
incoming Lab.
WinAVR 내려받기
http://sourceforge.net/projects/winavr/files/
incoming Lab.
개발환경 설치
AVR Studio 설치
처음 단계에서 아래와 같은 초기 화면이 표시
[다음] 선택하고 License Agreement 화면에서 Accept
incoming Lab.
개발환경 설치
소프트웨어 설치 경로 지정
AVR Studio 에서 이용하게 되는 USB 포트 드라이브 설치
incoming Lab.
개발환경 설치
설치에 대한 모든 설정항목이 완료되었고 설치를 진행함을 알리는
화면
incoming Lab.
개발환경 설치
모든 설치가 완료되었음을 알리는 화면
incoming Lab.
개발환경 설치
WinAVR 설치하기
초기 화면에서 설치 시 표시될 언어를 선택하는 화면
[KOREA] 선택 후 환인 버튼
incoming Lab.
개발환경 설치
WinAVR 에 대한 라이센스에 동의를 구하는 화면
기본 설치 경로 사용
incoming Lab.
개발환경 설치
기본으로 설정된 구성요소 선택 후 [설치] 선택
프로그래밍 설치되는 과정 수분의 시간이 소요
incoming Lab.
개발환경 설치
설치가 완료되었음을 알리는 화면
[시작]-[프로그램]–[Atmel AVR Tools] 폴더 확인
incoming Lab.
개발환경 설치
Usb ISP 프로그래머 설치
프로그램을 컴파일 시 AVR 마이크로컨트롤러에서 동작을 시킬
수 있는 실행 파일이 만들어짐
실행 파일을 AVR 마이크로컨트롤러의 프로그램 메모리, 즉 플래
쉬 메모리로 옮겨 적재시키는 작업(다운로딩)을 위한 드라이버 설
치
장비에 USB Connector A to B Type을 이용하여 컴퓨터의
USB Port 에 연결
 AVR ISP Programmer 장치를 Connector와 연결
 드라이버는 다음과 같은 사이트를 방문 후 절차대로 설치함

incoming Lab.
개발환경 설치
VCP 설치
http://www.ftdichip.com/Drivers/VCP.htm
해당 사이트로부터 CDM 2.00.00.zip 파일을 다운로드
incoming Lab.
개발환경 설치
HBE-MCU-Multi의 AVR ISP Programmer를 PC의 USB포트에 연
결
연결 후 새 하드웨어 검색 마법사에서 설치
“목록 또는 특정 위치에서 설치(고급)”을 선택 후 [다음] 클릭 후
[찾아보기] 클릭하여 CDM 2.00.00을 찾아 선택
incoming Lab.
개발환경 설치
[마침] 클릭하여 드라이버 설치 종료
incoming Lab.
HBE-RoboMotor-SE 실습환경
incoming Lab.
HBE-RoboMotor-SE 실습 준비
마이크로프로세서 파트(MCU Part) 의 상태를 체크.
①
②
③
MCU /Module 스위치 상태를 MCU 상태로 유지
Auto/User 스위치 상태를 User 상태로 유지
AD Port/JTAG 스위치 상태를 JTAG 상태로 유지
MCU Part 의 ISP와 AVR-ISP Programmer와 연결
AVR-ISP Programmer와 PC 연결
AVR-ISP Programmer의 mode는 ISP
incoming Lab.
개발환경 사용
AVR Studio 처음 실행
Atmel사의 AVR Studio를 처음 사용하는 사용자를 위해 간단한
예제를 이용
작성한 코드를 컴파일하고 이를 장비에 프로그램하는 과정을 진행
[시작]-[프로그램]-[Atmel AVR Tools]-[AVR Studio4] 선택
27
incoming Lab.
개발환경 사용
프로그램 초기 화면에서는 AVR Project를 생성하거나 이미 만들
어진 프로젝트를 오픈하는 화면이 표시됨
[New Project] 선택
28
incoming Lab.
개발환경 사용
Project 생성에 필요한 항목 지정하는 화면
Project name과 Create folder, Initial file, 프로젝트를 저장할 폴더
의 Location 등 설정
Debug platform : JTAG ICE 설정
Device : ATmega128 설정
29
incoming Lab.
개발환경 사용
기본 프로젝트 생성 완료 후 AVR Studio 메인화면이 표시됨
화면에는 공란의 Getting_Start.c 파일이 표시
다음과 같은 코드를 입력
#include<avr/io.h>
int main(){
DDRB = 0xFF;
DDRD = 0x00;
while(1){
if(PIND & 0x40)
PORTB |= 0x20;
else
PORTB &= ~0x20;
if(PIND & 0x80)
PORTB |= 0x40;
else
PORTB &= ~0x40;
}
return 0;
}
30
incoming Lab.
개발환경 사용
#include<avr/io.h>
int main(){
DDRB = 0xFF;
DDRD = 0x00;
while(1){
if(PIND & 0x40)
PORTB |= 0x20;
else
PORTB &= ~0x20;
if(PIND & 0x80)
PORTB |= 0x40;
else
PORTB &= ~0x40;
}
return 0;
}
31
incoming Lab.
개발환경 사용
코드 입력 후 [Build]-[Build] 선택하여 코드를 컴파일 및 프로그램
파일을 생성하는 과정 수행
정상적으로 Build 수행 후 프로그램 코드를 다운로드 진행
화면 상단 중앙에 [Con] 아이콘을 선택
32
incoming Lab.
개발환경 사용
AVR 디바이스를 프로그램하기 위한 프로그래머 선택
Plaform : STK500 or AVRISP 선택
Port : 프로그래머가 연결된 포트 선택(장치관리자 참조)
[Connect] 선택
33
incoming Lab.
개발환경 사용
Device : ATmega128 선택
Programming mode : ISP mode 선택
Build 과정에서 프로그램 다운로드에 필요한 HEX 파일이 프로젝
터 폴더에 있는 ‘default’라는 폴더에 만들어짐
HEX 파일을 Flash 항목에 입력
[Program] 선택 하면 프로그램 다운로드가 진행
프로그램 다운로드가 완료되면 아래의 메시지 창에 다운로드가 정
상적으로 완료되었음을 알림
34
incoming Lab.
개발환경 사용
35
incoming Lab.
개발환경 사용
AVR Device 설정을 위한 Fuse 과정을 수행
AVR Device의 동작을 설정하는 항목
설정 후 [Program] 선택
36
incoming Lab.
Download