SlideShare a Scribd company logo
임베디드임베디드 마이크로프로세서마이크로프로세서
프로그래밍프로그래밍 실전실전
제작제작 :: 네네 로로 테테 크크
강의강의 :: 김김 종종 형형
--22--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
AVRAVR 개요개요 및및 개발개발 환경환경 구축구축
1. AVR 개요 및 특징
2. AVR 개발 환경 구축
--33--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
1-1 AVR의 개요
◈ AVR [ Alf(Bogen) Vergard(Wollen) Risc ]이란?
☞ ATMEL사에서 제작된 RISC(Reduced Instruction Set Computer) 구조의 저전력 CMOS 8-Bit 마이크로컨트롤러.
1] 1997년에 처음 발표한 8비트 제어용 마이크로프로세서로서, 이는 Alf-Egil Bogen과 Vegard Wollan의 진보된 RISC 기술을
기반되었다고 하여 첫 글자를 따서 AVR이라고 명명.
2] 대부분의 명령은 단일 클럭으로 실행하여 동작 속도를 혁신적으로 개선한 마이컴으로 임베디드 환경에 적합한 저전력 소모의 칩.
3] AVR RISC 구조는 CISC 마이크로컨트롤러보다 10배 이상의 빠른 속도로 프로그램 실행이 이루어지는 보다 편리한 코드 체계를
가지는 MCU.
4] ATMEL사의 장점인 플래시 메모리 기술과 접목시켜 칩 내에 프로그램 코드용으로 플래시 메모리를 내장하고 여기에 사용자
프로그램을 쉽게 다운로드 할 수 있는 ISP(In-System Programming) 방식을 적용함.
5] 위의 장점 때문에 늦게 출시되었음에도 불구하고 많은 기능과 높은 수행속도 인해 8051이나 PIC을 능가하는 인기를 단시간내에
얻게 되었고 앞으로도 많이 사용될 전망임.
6] AVR 시리즈는 지금도 활발하게 개발 중인 제품이기 때문에 어느 모델이 갑자기 단종되기도 하고 새로 출시되는 모델도 있다.
7] 현재는 ATtiny 및 ATmega 패밀리의 2가지 기본 모델 외 LCD 구동, 배터리관리, 조명제어, 모터제어 등과 같은 특수 응용분야의
모델이 점차로 강화되는 추세임.
--44--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
1-2 AVR의 특징
⊙ RISC 구조를 가지고 있으며 대부분 단일 사이클 명령을 실행할 수 있음
⊙ 연산과 데이터 저장을 한 번에 할 수 있는 하버드 아키텍처(Harvard Architecture)를 가짐
⊙ 32개의 8비트 범용 레지스터를 가지는 레지스터 중심형 구조이며, 단순한 어드레싱 모드와 간결한 프로그램 코드 사이즈를
가지도록 하는 등 C언어 프로그램에 매우 유리하도록 설계됨
⊙ 반복 프로그램이 가능한 1KB에서 256KB까지의 내부 프로그램 메모리를 가짐. 프로그램은 직렬 프로그래밍 인터페이스 방식
(Serial Programming Interface)의 ISP(In-System Programming) 기능을 이용하여 쉽게 1,000번까지 재 프로그래밍 가능
⊙ 모델에 따라 64Byte에서 4KB까지 EEPROM을 내장하고 있어서 데이터 백업이 가능함. 100,000여 번 정도까지 반복 사용 가능
⊙ 모델에 따라 데이터 메모리로서 32바이트에서 8KB까지 비교적 용량이 큰 SRAM을 내장
⊙ 모델에 따라 병렬 I/O포트, 내장 시스템 클럭 발진기, 8비트 타이머/카운터, 16비트 타이머/카운터, 워치독 타이머, UART 또는
USART, SPI, TWI, I2C, 아날로그 비교기, 10비트 ADC, PWM출력, RTC, Brown Out Detector 등 매우 다양한 I/O 기능
⊙ 외부에 버스를 가지는 모델에서는 이 외부 시스템 버스를 이용하여 데이터 메모리 또는 I/O 디바이스를 확장 가능
⊙ 다양한 인터럽트 소스와 처리 기능
⊙ 여러 가지의 파워절약 모드
⊙ 다양한 응용 분야에 적합한 모델을 선택적으로 사용할 수 있도록 기능 및 성능에 따라 ATtiny, AT90, ATmega 등 3가지 패밀리
--55--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
1-3 AVR의 종류
① tinyAVRtinyAVR ATtinyXXATtinyXX ( 1( 1 -- 4kB )4kB )
▶ 대량으로 생산되는 간단한 응용분야에 사용(가격이 낮고 기능이나 성능도 낮음).
▶ 핀 수가 8핀에서 28핀 정도이며 외형이 작음.
▶ 내부 발진기를 내장하는 모델도 있음.
② classicAVRclassicAVR AT90XXXX ( 1AT90XXXX ( 1 -- 8kB )8kB )
▶ 비교적 큰 512바이트 이하 정도의 EEPROM과 SRAM을 내장.
▶ 핀 수가 20핀에서 40핀 정도.
▶ 특징이나 장점이 뚜렷하지 않아 시장에서 대부분의 모델 단종됨.
③ megaAVRmegaAVR ATmegaXXXATmegaXXX ( 8( 8 -- 256kB )256kB )
▶ 가장 규모가 크고 높은 응용 분야에서 사용(가격이 높고 기능이나 성능도 높음).
▶ 핀 수가 28핀에서 100핀 정도.
▶ 최근 출시되는 모델들은 20MHz 클럭에서 20MIPS의 명령 처리속도를 가짐.
▶ 플래시 메모리의 용량에 따라 모델이 ATmega8, 16, 32, 64, 128, 256 등으로 정착됨.
--66--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
AVR PRODUCT ROADMAP
DEVICE COMPLEXITY
FLASHDENSITY
megaAVR FAMILY
8KB TO 256KB
classicAVR FAMILY
1KB TO 8KB
tinyAVR FAMILY
1KB TO 4KB
--77--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-1 AVR의 개발 과정
☞ AVR 마이컴으로 개발하는 데 필요한 S/W와 H/W의 툴의 개발 환경 구축.
시스템 사양 설정
하드웨어 설계
프로그램 소스 작성
오브젝트, 헥사 파일 생성
시뮬레이션, 에뮬레이션
디바이스에 직접 프로그래밍
실장 테스트
개발 완료
마이컴 사용 결정
시스템 사양에 맞는 부품 선정 및 회로 설계
에디터 사용
어셈블러, C 컴파일러 이용
시뮬레이션, 에뮬레이션 이용하여 디버깅
프로그래머를 이용하여 헥사 파일 라이팅
타겟보드 이용하여 테스트
개발 완료
마이컴 개발 과정
--88--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
① SDK(StarterupSDK(Starterup Development Kit)Development Kit)
▶ ATMEL STK500시리즈, Kanda STK200/300.
▶ AVRMALL AVR Board.
▶ 타사 AVR Development Board.
② Assembler & CompilerAssembler & Compiler
▶ AVR STUDIO, IAR Assembler 등.
▶ AVR-GCC의 기반의 AVR-EDIT(국내), WINAVR(외국) 등의 무료 컴파일러.
▶ IAR, CodevisionAVR, Imagecraft(ICC) 등의 상용컴파일러.
▶ BASCOM-AVR, FastAVR의 Basic 컴파일러.
③ ProgrammerProgrammer
▶ Parallel – STK200+/300(Ponyprog2000용으로 많이 사용).
▶ Serial – STK500/AVRISP(AVR STUDIO), AVRprog, ATJTAGICE 외.
▶ USB – AVRISP mk2(AVR STUDIO), USBISP 외.
④ Emulator & SimulatorEmulator & Simulator
▶ Emulator – ATJTAGICE, ATJTAGICE mkII, ATICE10/200/30/40/50 외.
▶ Simulator – AVR STUDIO3, AVR STUDIO4, IAR C-SPY Debugger
--99--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
① SDK(StarterupSDK(Starterup Development Kit)Development Kit)
▶ ATMEL STK500시리즈, Kanda STK200/300
▶ AVRMALL AVR Board
--1010--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
② Assembler & CompilerAssembler & Compiler
▶ AVR STUDIO, IAR Assembler 등
--1111--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
② Assembler & CompilerAssembler & Compiler
▶ AVR-GCC의 기반의 AVR-EDIT(국내), WINAVR(외국) 등의 무료 컴파일러
--1212--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
② Assembler & CompilerAssembler & Compiler
▶ IAR, CodevisionAVR, Imagecraft(ICC) 등의 상용컴파일러
--1313--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
③ ProgrammerProgrammer
▶ Parallel – STK200+/300(Ponyprog2000용으로 많이 사용)
▶ Serial – STK500/AVRISP(AVR STUDIO), AVRprog, ATJTAGICE 외
▶ USB – AVRISP mk2(AVR STUDIO), USBISP 외
--1414--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
This is ISP Flash and EEPROM
Your device sits in the application. It is clocked from
the application clock, and VCC can be as low as 2.7V.
Now, with four logical signals + Ground, you can
REPROGRAM THE FLASH AND THE EEPROM
6-wire
serial programming
interface
GND65/RESET
MOSI43SCK
VCC21MISO
--1515--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
④ Emulator & SimulatorEmulator & Simulator
▶ Emulator – ATJTAGICE, ATJTAGICE mkII, ATICE10/200/30/40/50 외
▶ Simulator – AVR STUDIO3, AVR STUDIO4, IAR C-SPY Debugger
--1616--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
ATMEGA128ATMEGA128 구조와구조와 기능기능
1. 내부 구조
2. 코어
3. 외부 구조 및 기능
4. 특징
5. 메모리구조
6. 퓨즈비트
7. 클럭
--1717--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-1 ATMEGA128의 내부 구조
--1818--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-2 ATMEGA128의 코어
--1919--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-3 ATMEGA128의 외부 구조 및 기능
--2020--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-4 ATMEGA128의 특징 1
⊙ 고성능이면서 저소비전력형의 8비트 마이컴
⊙ RISC구조로 16MHz에서 16MIPS의 명령처리 속도
⊙ 133종의 명령 세트(대부분 1클럭 사이클에 실행)
⊙ 32개의 8비트 범용 레지스터
⊙ 128KB의 프로그램용 사용자 플래시 메모리
⊙ 4KB의 데이터 저장용 EEPROM
⊙ 4KB의 SRAM
⊙ 64KB의 외부 메모리 인터페이스
⊙ 디버그 기능을 수행하기 위하여 JTAG 인터페이스
⊙ 다양한 클럭 지원(내부RC, 외부 클럭, 외부RC 클럭, 외부 OSC 클럭)
--2121--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-4 ATMEGA128의 특징 2
⊙ 총 53개의 I/O포트(PORTA~PORTG)
⊙ 2개의 8비트 타이머/카운터(0,2), 2개의 16비트 타이머/카운터(1,3)
⊙ 2개의 8비트 PWM 출력, 6개의 2~16비트 PWM 출력
⊙ 8채널 10비트 A/D컨버터
⊙ 2개의 전이중 통신이 가능한 USART 직렬통신 포트
⊙ SPI 및 TWI(I2C) 직렬통신 포트
⊙ 아날로크 비교기
⊙ 리셋 벡터와 8개의 외부 인터럽트를 포함하여 총 35개의 인터럽트 벡터
⊙ 슬립 모드로서 6개의 파워 절약 모드
⊙ ATMEGA103 호환 모드
⊙ 64핀 TQFP 또는 64핀 MLF 패키지
⊙ 동작전원 및 시스템 클럭
ATMEGA128L(2.7~5.5V, 0~8MHz)
ATMEGA128(4.5~5.5V, 0~16MHz)
--2222--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-5 ATMEGA128의 메모리 구조 1
① 프로그램프로그램 메모리메모리(In(In--System Reprogrammable Flash Program Memory)System Reprogrammable Flash Program Memory)
▶ 내부 128KB의 플래시 메모리(64K*16의 용량).
▶ Boot Flash Section과 Application Flash Section.
▶ 플래시 메모리에 프로그램을 기입하는 방법에는 SPI방식, JTAG을 사용한 방법, 병렬 프로그래밍 방법.
--2323--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-5 ATMEGA128의 메모리 구조 2
② 데이터데이터 메모리메모리(Data Memory)(Data Memory)
▶ I/O 레지스터
ATMEGA128에 내장된 각종 I/O 디바이스들을 제어하기 위한 레지스터 (총 64개, 0x0020~0x005F)
▶ 확장 I/O 레지스터
기존의 AVR 도델들에 비하여 ATMEGA128에 새로 추가된 각종
I/O 디바이스들을 제어하기 위한 레지스터
(총 160개, 0x0060~0x00FF)
▶ 내부 SRAM
0x0100~0x10FF번지의 4KB 내부 데이터 메모리
(2클럭 사이클의 엑세스 타임)
▶ 외부 데이터 메모리
0x1100~0xFFFF 번지의 약 60KB의 외부 데이터 메모리
(사용자가 필요에 의하여 사용하거나 I/O확장 영역으로 사용)
▶ 4KB의 비휘발성 데이터 메모리인 EEPROM
--2424--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-6 ATMEGA128의 퓨즈 비트
☞ MCU의 기본적인 시스템 설정용으로 사용되며 모두 3바이트로 구성
⊙ Extended Fuse Byte
⊙ Fuse High Byte ⊙ Fuse Low Byte
--2525--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-7 ATMEGA128의 클럭 1
☞ ATMEGA128에서 사용할 수 있는 클럭 소스는 모두 5가지가 있는데, CKSEL3~0로 설정
① External Crystal/Ceramic Resonator
외부에 크리스탈 또는 세라믹 레조네이터를 사용하는 경우 XTAL1 입력단자 및 XTAL2 출력단자에 접속(1111~1010)
**CKOPT – ‘0’이면 발진회로의 출력전압이 커짐, 노이즈가 심한 환경이나 XTAL2단자가 또다른 회로를 구동할 때
‘1’이면 발진회로의 출력전압이 작아짐, 소비전력이 감소
**SUT1~0 : 기동시간(Start-Up Time)을 설정
0000External Clock
0100~0001Calibrated Internal RC Oscillator
1000~0101External RC Oscillator
1001External Low-frequency Crystal
1111~1010External Crystal/Ceramic Resonator
CKSEL3~0클럭 소스
--2626--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-7 ATMEGA128의 클럭 2
② External Low-frequency Crystal (1001)
외부에 32.768kHz의 낮은 주파수 크리스탈을 사용하는 경우
③ External RC Oscillator(1000~0101)
정밀한 타이밍이 요구되지 않는 용도로 외부에 RC 소자를 접속한 발진회로를 사용
f = 1/(3RC) 단, C는 22pF 이상
0.1 - 0.90101
0.9 - 3.00110
3.0 - 8.00111
8.0 - 12.01000
Frequency Range (MHz)CKSEL3~0
--2727--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-7 ATMEGA128의 클럭 3
④ Calibrated Internal RC Oscillator(0100~0001)
공장 출하시 내부클럭 1MHz로 설정되어 있음
** OSCCAL 레지스터를 사용하여 클럭 주파수를 정확하게 조정함
⑤ External Clock(0000)
외부 다른 보드(8051보드,PIC보드)등의 클럭을 가져와 XTAL1단자에 연결
단, 이때는 두 보드간 GND단자는 연결하며 XTAL2는 사용하지 않음
1.00001
2.00010
4.00011
8.00100
Frequency Range (MHz)CKSEL3~0
--2828--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-8 ATMEGA128의 시스템 리셋
☞ ATMEGA128의 리셋 소스는 5가지가 있음
① Power-on Reset
전원전압 VCC가 Power-on Reset Threshold(VPOT) 이하일 때 MCU가 리셋
② External Reset
/RESET 핀에 지정된 최소폭(1.5 us) 이상의 L레벨 펄스가 입력되어 MCU가 리셋
③ Watchdog Reset
워치독 타이머에서 지정된 주기 이상이 경과되어 워치독 기능이 동작함으로써 MCU가 리셋
④ Brown-out Reset
전원전압 VCC가 지정된 시간(2 us) 이상동안 Brown-out Reset Threshold(VBOT) 이하로 떨어져
Brown-out Detector가 동작함으로써 MCU가 리셋
⑤ JTAG AVR Reset
JTAG 시스템에서 리셋 레지스터에 논리값 1을 저장시키고 이에 관련된 하드웨어가 동작함으로써 MCU가 리셋

More Related Content

What's hot

Arduino Basic Programming
Arduino Basic ProgrammingArduino Basic Programming
Arduino Basic Programming
SangGyu Kim
 
1 5 horton series 2000 manual
1 5 horton series 2000 manual1 5 horton series 2000 manual
1 5 horton series 2000 manualjohntaveras
 
Arduino 소개, RC카 만들기
Arduino 소개, RC카 만들기Arduino 소개, RC카 만들기
Arduino 소개, RC카 만들기Ji Hun Kim
 
광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro
NAVER D2
 
아두이노 2015-2 한동대학교 공학설계입문
아두이노 2015-2 한동대학교 공학설계입문아두이노 2015-2 한동대학교 공학설계입문
아두이노 2015-2 한동대학교 공학설계입문
Sangjun Han
 
손으로 만드는 아두이노
손으로 만드는 아두이노손으로 만드는 아두이노
손으로 만드는 아두이노
Kisoon Eom
 
메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)
JongyoonWon1
 
04. external interrupt
04. external interrupt04. external interrupt
04. external interrupt
성호 정
 
Netmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW ArchitectureNetmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW Architecture
Chris Changmo Yoo
 
Netmanias L2,L3 Training (3) L2, L3 QoS
Netmanias L2,L3 Training (3) L2, L3 QoSNetmanias L2,L3 Training (3) L2, L3 QoS
Netmanias L2,L3 Training (3) L2, L3 QoS
Chris Changmo Yoo
 
Netmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 EthernetNetmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 Ethernet
Chris Changmo Yoo
 
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작
chcbaram
 
리모콘메뉴얼
리모콘메뉴얼리모콘메뉴얼
리모콘메뉴얼haeung2
 
강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요
chcbaram
 

What's hot (15)

Arduino Basic Programming
Arduino Basic ProgrammingArduino Basic Programming
Arduino Basic Programming
 
1 5 horton series 2000 manual
1 5 horton series 2000 manual1 5 horton series 2000 manual
1 5 horton series 2000 manual
 
Arduino 소개, RC카 만들기
Arduino 소개, RC카 만들기Arduino 소개, RC카 만들기
Arduino 소개, RC카 만들기
 
광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro
 
아두이노 2015-2 한동대학교 공학설계입문
아두이노 2015-2 한동대학교 공학설계입문아두이노 2015-2 한동대학교 공학설계입문
아두이노 2015-2 한동대학교 공학설계입문
 
손으로 만드는 아두이노
손으로 만드는 아두이노손으로 만드는 아두이노
손으로 만드는 아두이노
 
메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)
 
04. external interrupt
04. external interrupt04. external interrupt
04. external interrupt
 
Netmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW ArchitectureNetmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW Architecture
 
Avr lecture6
Avr lecture6Avr lecture6
Avr lecture6
 
Netmanias L2,L3 Training (3) L2, L3 QoS
Netmanias L2,L3 Training (3) L2, L3 QoSNetmanias L2,L3 Training (3) L2, L3 QoS
Netmanias L2,L3 Training (3) L2, L3 QoS
 
Netmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 EthernetNetmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 Ethernet
 
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작
 
리모콘메뉴얼
리모콘메뉴얼리모콘메뉴얼
리모콘메뉴얼
 
강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요
 

Similar to Avr lecture1

[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
GangSeok Lee
 
Nec 이비플러스
Nec 이비플러스Nec 이비플러스
Nec 이비플러스
silverfox2580
 
ABG(Xener SBC-Session Board Controller) Introduction
ABG(Xener SBC-Session Board Controller) IntroductionABG(Xener SBC-Session Board Controller) Introduction
ABG(Xener SBC-Session Board Controller) Introduction
Guisun Han
 
iWorks 아이웍스의 비즈니스, IBM Power Chip(CPU)에 대하여
iWorks 아이웍스의 비즈니스, IBM Power Chip(CPU)에 대하여iWorks 아이웍스의 비즈니스, IBM Power Chip(CPU)에 대하여
iWorks 아이웍스의 비즈니스, IBM Power Chip(CPU)에 대하여
아이웍스 | iWorks Inc.
 
MCU(nanheekim)
MCU(nanheekim)MCU(nanheekim)
MCU(nanheekim)
Nanhee Kim
 
마이크로 서버 기술 동향
마이크로 서버 기술 동향마이크로 서버 기술 동향
마이크로 서버 기술 동향atelier t*h
 
[기술세미나 2차시] Ia 32 레지스터 분석 및 abex, crackme를 통한 stack 파라미터 전달 실습
[기술세미나 2차시] Ia 32 레지스터 분석 및 abex, crackme를 통한 stack 파라미터 전달 실습[기술세미나 2차시] Ia 32 레지스터 분석 및 abex, crackme를 통한 stack 파라미터 전달 실습
[기술세미나 2차시] Ia 32 레지스터 분석 및 abex, crackme를 통한 stack 파라미터 전달 실습
Seongho Park
 
[2D6]무늬만 ARM 서버는 가라
[2D6]무늬만 ARM 서버는 가라[2D6]무늬만 ARM 서버는 가라
[2D6]무늬만 ARM 서버는 가라
NAVER D2
 
2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)
NAIM Networks, Inc.
 
Processor
ProcessorProcessor
Processor
박 경민
 
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
chcbaram
 
Pivot3 overview
Pivot3 overviewPivot3 overview
Pivot3 overview
CDIT-HCI
 
USB-AVRISP
USB-AVRISPUSB-AVRISP
USB-AVRISP
봉조 김
 
Arduino 특강 강태욱
Arduino 특강   강태욱Arduino 특강   강태욱
Arduino 특강 강태욱
Tae wook kang
 
Jnetpcap quickguide
Jnetpcap quickguideJnetpcap quickguide
Jnetpcap quickguideSukjin Yun
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Mario Cho
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1
Jinkyoung Kim
 
kics2013-winter-biomp-slide-20130127-1340
kics2013-winter-biomp-slide-20130127-1340kics2013-winter-biomp-slide-20130127-1340
kics2013-winter-biomp-slide-20130127-1340Samsung Electronics
 
Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정
ymtech
 
[브로셔] ABG (보안 통합 솔루션)
[브로셔] ABG (보안 통합 솔루션)[브로셔] ABG (보안 통합 솔루션)
[브로셔] ABG (보안 통합 솔루션)
xenersystems
 

Similar to Avr lecture1 (20)

[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹
 
Nec 이비플러스
Nec 이비플러스Nec 이비플러스
Nec 이비플러스
 
ABG(Xener SBC-Session Board Controller) Introduction
ABG(Xener SBC-Session Board Controller) IntroductionABG(Xener SBC-Session Board Controller) Introduction
ABG(Xener SBC-Session Board Controller) Introduction
 
iWorks 아이웍스의 비즈니스, IBM Power Chip(CPU)에 대하여
iWorks 아이웍스의 비즈니스, IBM Power Chip(CPU)에 대하여iWorks 아이웍스의 비즈니스, IBM Power Chip(CPU)에 대하여
iWorks 아이웍스의 비즈니스, IBM Power Chip(CPU)에 대하여
 
MCU(nanheekim)
MCU(nanheekim)MCU(nanheekim)
MCU(nanheekim)
 
마이크로 서버 기술 동향
마이크로 서버 기술 동향마이크로 서버 기술 동향
마이크로 서버 기술 동향
 
[기술세미나 2차시] Ia 32 레지스터 분석 및 abex, crackme를 통한 stack 파라미터 전달 실습
[기술세미나 2차시] Ia 32 레지스터 분석 및 abex, crackme를 통한 stack 파라미터 전달 실습[기술세미나 2차시] Ia 32 레지스터 분석 및 abex, crackme를 통한 stack 파라미터 전달 실습
[기술세미나 2차시] Ia 32 레지스터 분석 및 abex, crackme를 통한 stack 파라미터 전달 실습
 
[2D6]무늬만 ARM 서버는 가라
[2D6]무늬만 ARM 서버는 가라[2D6]무늬만 ARM 서버는 가라
[2D6]무늬만 ARM 서버는 가라
 
2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)
 
Processor
ProcessorProcessor
Processor
 
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
 
Pivot3 overview
Pivot3 overviewPivot3 overview
Pivot3 overview
 
USB-AVRISP
USB-AVRISPUSB-AVRISP
USB-AVRISP
 
Arduino 특강 강태욱
Arduino 특강   강태욱Arduino 특강   강태욱
Arduino 특강 강태욱
 
Jnetpcap quickguide
Jnetpcap quickguideJnetpcap quickguide
Jnetpcap quickguide
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1
 
kics2013-winter-biomp-slide-20130127-1340
kics2013-winter-biomp-slide-20130127-1340kics2013-winter-biomp-slide-20130127-1340
kics2013-winter-biomp-slide-20130127-1340
 
Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정
 
[브로셔] ABG (보안 통합 솔루션)
[브로셔] ABG (보안 통합 솔루션)[브로셔] ABG (보안 통합 솔루션)
[브로셔] ABG (보안 통합 솔루션)
 

More from 봉조 김

창의·융합·문제해결을 배우는 메이커 활동 리스트
창의·융합·문제해결을 배우는 메이커 활동 리스트창의·융합·문제해결을 배우는 메이커 활동 리스트
창의·융합·문제해결을 배우는 메이커 활동 리스트
봉조 김
 
Softboxcoding brand name
Softboxcoding brand nameSoftboxcoding brand name
Softboxcoding brand name
봉조 김
 
Weather station performance sharing
Weather station performance sharingWeather station performance sharing
Weather station performance sharing
봉조 김
 
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
봉조 김
 
Softbox coding - raspberrypi3 b+ 2019 Lecture File
Softbox coding - raspberrypi3 b+ 2019 Lecture File Softbox coding - raspberrypi3 b+ 2019 Lecture File
Softbox coding - raspberrypi3 b+ 2019 Lecture File
봉조 김
 
Sw education and maker
Sw education and makerSw education and maker
Sw education and maker
봉조 김
 
소프트박스 라즈베리파이 교육키트 개발환경 설정
소프트박스 라즈베리파이 교육키트 개발환경 설정소프트박스 라즈베리파이 교육키트 개발환경 설정
소프트박스 라즈베리파이 교육키트 개발환경 설정
봉조 김
 
Expansion of maker culture and promotion of maker activity
Expansion of maker culture and promotion of maker activityExpansion of maker culture and promotion of maker activity
Expansion of maker culture and promotion of maker activity
봉조 김
 
2018년 따복공동체 활동 공유 - 과천 디지털 창작집단
2018년 따복공동체 활동 공유 - 과천 디지털 창작집단2018년 따복공동체 활동 공유 - 과천 디지털 창작집단
2018년 따복공동체 활동 공유 - 과천 디지털 창작집단
봉조 김
 
강사료 원천징수 관련 설명자료
강사료 원천징수 관련 설명자료강사료 원천징수 관련 설명자료
강사료 원천징수 관련 설명자료
봉조 김
 
Softbox review and quickstartguide-20180926
Softbox review and quickstartguide-20180926Softbox review and quickstartguide-20180926
Softbox review and quickstartguide-20180926
봉조 김
 
디지털창작집단 활동 소개문서
디지털창작집단 활동 소개문서디지털창작집단 활동 소개문서
디지털창작집단 활동 소개문서
봉조 김
 
Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서 Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서
봉조 김
 
Stuffed animals 20180605
Stuffed animals 20180605Stuffed animals 20180605
Stuffed animals 20180605
봉조 김
 
20180329 reco computer for maker
20180329 reco computer for maker20180329 reco computer for maker
20180329 reco computer for maker
봉조 김
 
2018 donga marathon training schedule
2018 donga marathon training schedule2018 donga marathon training schedule
2018 donga marathon training schedule
봉조 김
 
2017 marathob trainning schedule
2017 marathob trainning schedule2017 marathob trainning schedule
2017 marathob trainning schedule
봉조 김
 
Marathon safe guide
Marathon safe guideMarathon safe guide
Marathon safe guide
봉조 김
 
사물인터넷서비스와 클라우드
사물인터넷서비스와 클라우드사물인터넷서비스와 클라우드
사물인터넷서비스와 클라우드
봉조 김
 
4차 산업혁명과 io t 20170919
4차 산업혁명과 io t  201709194차 산업혁명과 io t  20170919
4차 산업혁명과 io t 20170919
봉조 김
 

More from 봉조 김 (20)

창의·융합·문제해결을 배우는 메이커 활동 리스트
창의·융합·문제해결을 배우는 메이커 활동 리스트창의·융합·문제해결을 배우는 메이커 활동 리스트
창의·융합·문제해결을 배우는 메이커 활동 리스트
 
Softboxcoding brand name
Softboxcoding brand nameSoftboxcoding brand name
Softboxcoding brand name
 
Weather station performance sharing
Weather station performance sharingWeather station performance sharing
Weather station performance sharing
 
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
 
Softbox coding - raspberrypi3 b+ 2019 Lecture File
Softbox coding - raspberrypi3 b+ 2019 Lecture File Softbox coding - raspberrypi3 b+ 2019 Lecture File
Softbox coding - raspberrypi3 b+ 2019 Lecture File
 
Sw education and maker
Sw education and makerSw education and maker
Sw education and maker
 
소프트박스 라즈베리파이 교육키트 개발환경 설정
소프트박스 라즈베리파이 교육키트 개발환경 설정소프트박스 라즈베리파이 교육키트 개발환경 설정
소프트박스 라즈베리파이 교육키트 개발환경 설정
 
Expansion of maker culture and promotion of maker activity
Expansion of maker culture and promotion of maker activityExpansion of maker culture and promotion of maker activity
Expansion of maker culture and promotion of maker activity
 
2018년 따복공동체 활동 공유 - 과천 디지털 창작집단
2018년 따복공동체 활동 공유 - 과천 디지털 창작집단2018년 따복공동체 활동 공유 - 과천 디지털 창작집단
2018년 따복공동체 활동 공유 - 과천 디지털 창작집단
 
강사료 원천징수 관련 설명자료
강사료 원천징수 관련 설명자료강사료 원천징수 관련 설명자료
강사료 원천징수 관련 설명자료
 
Softbox review and quickstartguide-20180926
Softbox review and quickstartguide-20180926Softbox review and quickstartguide-20180926
Softbox review and quickstartguide-20180926
 
디지털창작집단 활동 소개문서
디지털창작집단 활동 소개문서디지털창작집단 활동 소개문서
디지털창작집단 활동 소개문서
 
Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서 Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서
 
Stuffed animals 20180605
Stuffed animals 20180605Stuffed animals 20180605
Stuffed animals 20180605
 
20180329 reco computer for maker
20180329 reco computer for maker20180329 reco computer for maker
20180329 reco computer for maker
 
2018 donga marathon training schedule
2018 donga marathon training schedule2018 donga marathon training schedule
2018 donga marathon training schedule
 
2017 marathob trainning schedule
2017 marathob trainning schedule2017 marathob trainning schedule
2017 marathob trainning schedule
 
Marathon safe guide
Marathon safe guideMarathon safe guide
Marathon safe guide
 
사물인터넷서비스와 클라우드
사물인터넷서비스와 클라우드사물인터넷서비스와 클라우드
사물인터넷서비스와 클라우드
 
4차 산업혁명과 io t 20170919
4차 산업혁명과 io t  201709194차 산업혁명과 io t  20170919
4차 산업혁명과 io t 20170919
 

Avr lecture1

  • 2. --22--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming AVRAVR 개요개요 및및 개발개발 환경환경 구축구축 1. AVR 개요 및 특징 2. AVR 개발 환경 구축
  • 3. --33--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 1-1 AVR의 개요 ◈ AVR [ Alf(Bogen) Vergard(Wollen) Risc ]이란? ☞ ATMEL사에서 제작된 RISC(Reduced Instruction Set Computer) 구조의 저전력 CMOS 8-Bit 마이크로컨트롤러. 1] 1997년에 처음 발표한 8비트 제어용 마이크로프로세서로서, 이는 Alf-Egil Bogen과 Vegard Wollan의 진보된 RISC 기술을 기반되었다고 하여 첫 글자를 따서 AVR이라고 명명. 2] 대부분의 명령은 단일 클럭으로 실행하여 동작 속도를 혁신적으로 개선한 마이컴으로 임베디드 환경에 적합한 저전력 소모의 칩. 3] AVR RISC 구조는 CISC 마이크로컨트롤러보다 10배 이상의 빠른 속도로 프로그램 실행이 이루어지는 보다 편리한 코드 체계를 가지는 MCU. 4] ATMEL사의 장점인 플래시 메모리 기술과 접목시켜 칩 내에 프로그램 코드용으로 플래시 메모리를 내장하고 여기에 사용자 프로그램을 쉽게 다운로드 할 수 있는 ISP(In-System Programming) 방식을 적용함. 5] 위의 장점 때문에 늦게 출시되었음에도 불구하고 많은 기능과 높은 수행속도 인해 8051이나 PIC을 능가하는 인기를 단시간내에 얻게 되었고 앞으로도 많이 사용될 전망임. 6] AVR 시리즈는 지금도 활발하게 개발 중인 제품이기 때문에 어느 모델이 갑자기 단종되기도 하고 새로 출시되는 모델도 있다. 7] 현재는 ATtiny 및 ATmega 패밀리의 2가지 기본 모델 외 LCD 구동, 배터리관리, 조명제어, 모터제어 등과 같은 특수 응용분야의 모델이 점차로 강화되는 추세임.
  • 4. --44--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 1-2 AVR의 특징 ⊙ RISC 구조를 가지고 있으며 대부분 단일 사이클 명령을 실행할 수 있음 ⊙ 연산과 데이터 저장을 한 번에 할 수 있는 하버드 아키텍처(Harvard Architecture)를 가짐 ⊙ 32개의 8비트 범용 레지스터를 가지는 레지스터 중심형 구조이며, 단순한 어드레싱 모드와 간결한 프로그램 코드 사이즈를 가지도록 하는 등 C언어 프로그램에 매우 유리하도록 설계됨 ⊙ 반복 프로그램이 가능한 1KB에서 256KB까지의 내부 프로그램 메모리를 가짐. 프로그램은 직렬 프로그래밍 인터페이스 방식 (Serial Programming Interface)의 ISP(In-System Programming) 기능을 이용하여 쉽게 1,000번까지 재 프로그래밍 가능 ⊙ 모델에 따라 64Byte에서 4KB까지 EEPROM을 내장하고 있어서 데이터 백업이 가능함. 100,000여 번 정도까지 반복 사용 가능 ⊙ 모델에 따라 데이터 메모리로서 32바이트에서 8KB까지 비교적 용량이 큰 SRAM을 내장 ⊙ 모델에 따라 병렬 I/O포트, 내장 시스템 클럭 발진기, 8비트 타이머/카운터, 16비트 타이머/카운터, 워치독 타이머, UART 또는 USART, SPI, TWI, I2C, 아날로그 비교기, 10비트 ADC, PWM출력, RTC, Brown Out Detector 등 매우 다양한 I/O 기능 ⊙ 외부에 버스를 가지는 모델에서는 이 외부 시스템 버스를 이용하여 데이터 메모리 또는 I/O 디바이스를 확장 가능 ⊙ 다양한 인터럽트 소스와 처리 기능 ⊙ 여러 가지의 파워절약 모드 ⊙ 다양한 응용 분야에 적합한 모델을 선택적으로 사용할 수 있도록 기능 및 성능에 따라 ATtiny, AT90, ATmega 등 3가지 패밀리
  • 5. --55--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 1-3 AVR의 종류 ① tinyAVRtinyAVR ATtinyXXATtinyXX ( 1( 1 -- 4kB )4kB ) ▶ 대량으로 생산되는 간단한 응용분야에 사용(가격이 낮고 기능이나 성능도 낮음). ▶ 핀 수가 8핀에서 28핀 정도이며 외형이 작음. ▶ 내부 발진기를 내장하는 모델도 있음. ② classicAVRclassicAVR AT90XXXX ( 1AT90XXXX ( 1 -- 8kB )8kB ) ▶ 비교적 큰 512바이트 이하 정도의 EEPROM과 SRAM을 내장. ▶ 핀 수가 20핀에서 40핀 정도. ▶ 특징이나 장점이 뚜렷하지 않아 시장에서 대부분의 모델 단종됨. ③ megaAVRmegaAVR ATmegaXXXATmegaXXX ( 8( 8 -- 256kB )256kB ) ▶ 가장 규모가 크고 높은 응용 분야에서 사용(가격이 높고 기능이나 성능도 높음). ▶ 핀 수가 28핀에서 100핀 정도. ▶ 최근 출시되는 모델들은 20MHz 클럭에서 20MIPS의 명령 처리속도를 가짐. ▶ 플래시 메모리의 용량에 따라 모델이 ATmega8, 16, 32, 64, 128, 256 등으로 정착됨.
  • 6. --66--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming AVR PRODUCT ROADMAP DEVICE COMPLEXITY FLASHDENSITY megaAVR FAMILY 8KB TO 256KB classicAVR FAMILY 1KB TO 8KB tinyAVR FAMILY 1KB TO 4KB
  • 7. --77--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 2-1 AVR의 개발 과정 ☞ AVR 마이컴으로 개발하는 데 필요한 S/W와 H/W의 툴의 개발 환경 구축. 시스템 사양 설정 하드웨어 설계 프로그램 소스 작성 오브젝트, 헥사 파일 생성 시뮬레이션, 에뮬레이션 디바이스에 직접 프로그래밍 실장 테스트 개발 완료 마이컴 사용 결정 시스템 사양에 맞는 부품 선정 및 회로 설계 에디터 사용 어셈블러, C 컴파일러 이용 시뮬레이션, 에뮬레이션 이용하여 디버깅 프로그래머를 이용하여 헥사 파일 라이팅 타겟보드 이용하여 테스트 개발 완료 마이컴 개발 과정
  • 8. --88--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 2-2 AVR의 개발 환경 구축 ① SDK(StarterupSDK(Starterup Development Kit)Development Kit) ▶ ATMEL STK500시리즈, Kanda STK200/300. ▶ AVRMALL AVR Board. ▶ 타사 AVR Development Board. ② Assembler & CompilerAssembler & Compiler ▶ AVR STUDIO, IAR Assembler 등. ▶ AVR-GCC의 기반의 AVR-EDIT(국내), WINAVR(외국) 등의 무료 컴파일러. ▶ IAR, CodevisionAVR, Imagecraft(ICC) 등의 상용컴파일러. ▶ BASCOM-AVR, FastAVR의 Basic 컴파일러. ③ ProgrammerProgrammer ▶ Parallel – STK200+/300(Ponyprog2000용으로 많이 사용). ▶ Serial – STK500/AVRISP(AVR STUDIO), AVRprog, ATJTAGICE 외. ▶ USB – AVRISP mk2(AVR STUDIO), USBISP 외. ④ Emulator & SimulatorEmulator & Simulator ▶ Emulator – ATJTAGICE, ATJTAGICE mkII, ATICE10/200/30/40/50 외. ▶ Simulator – AVR STUDIO3, AVR STUDIO4, IAR C-SPY Debugger
  • 9. --99--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 2-2 AVR의 개발 환경 구축 ① SDK(StarterupSDK(Starterup Development Kit)Development Kit) ▶ ATMEL STK500시리즈, Kanda STK200/300 ▶ AVRMALL AVR Board
  • 10. --1010--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 2-2 AVR의 개발 환경 구축 ② Assembler & CompilerAssembler & Compiler ▶ AVR STUDIO, IAR Assembler 등
  • 11. --1111--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 2-2 AVR의 개발 환경 구축 ② Assembler & CompilerAssembler & Compiler ▶ AVR-GCC의 기반의 AVR-EDIT(국내), WINAVR(외국) 등의 무료 컴파일러
  • 12. --1212--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 2-2 AVR의 개발 환경 구축 ② Assembler & CompilerAssembler & Compiler ▶ IAR, CodevisionAVR, Imagecraft(ICC) 등의 상용컴파일러
  • 13. --1313--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 2-2 AVR의 개발 환경 구축 ③ ProgrammerProgrammer ▶ Parallel – STK200+/300(Ponyprog2000용으로 많이 사용) ▶ Serial – STK500/AVRISP(AVR STUDIO), AVRprog, ATJTAGICE 외 ▶ USB – AVRISP mk2(AVR STUDIO), USBISP 외
  • 14. --1414--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming This is ISP Flash and EEPROM Your device sits in the application. It is clocked from the application clock, and VCC can be as low as 2.7V. Now, with four logical signals + Ground, you can REPROGRAM THE FLASH AND THE EEPROM 6-wire serial programming interface GND65/RESET MOSI43SCK VCC21MISO
  • 15. --1515--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 2-2 AVR의 개발 환경 구축 ④ Emulator & SimulatorEmulator & Simulator ▶ Emulator – ATJTAGICE, ATJTAGICE mkII, ATICE10/200/30/40/50 외 ▶ Simulator – AVR STUDIO3, AVR STUDIO4, IAR C-SPY Debugger
  • 16. --1616--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming ATMEGA128ATMEGA128 구조와구조와 기능기능 1. 내부 구조 2. 코어 3. 외부 구조 및 기능 4. 특징 5. 메모리구조 6. 퓨즈비트 7. 클럭
  • 17. --1717--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-1 ATMEGA128의 내부 구조
  • 18. --1818--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-2 ATMEGA128의 코어
  • 19. --1919--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-3 ATMEGA128의 외부 구조 및 기능
  • 20. --2020--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-4 ATMEGA128의 특징 1 ⊙ 고성능이면서 저소비전력형의 8비트 마이컴 ⊙ RISC구조로 16MHz에서 16MIPS의 명령처리 속도 ⊙ 133종의 명령 세트(대부분 1클럭 사이클에 실행) ⊙ 32개의 8비트 범용 레지스터 ⊙ 128KB의 프로그램용 사용자 플래시 메모리 ⊙ 4KB의 데이터 저장용 EEPROM ⊙ 4KB의 SRAM ⊙ 64KB의 외부 메모리 인터페이스 ⊙ 디버그 기능을 수행하기 위하여 JTAG 인터페이스 ⊙ 다양한 클럭 지원(내부RC, 외부 클럭, 외부RC 클럭, 외부 OSC 클럭)
  • 21. --2121--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-4 ATMEGA128의 특징 2 ⊙ 총 53개의 I/O포트(PORTA~PORTG) ⊙ 2개의 8비트 타이머/카운터(0,2), 2개의 16비트 타이머/카운터(1,3) ⊙ 2개의 8비트 PWM 출력, 6개의 2~16비트 PWM 출력 ⊙ 8채널 10비트 A/D컨버터 ⊙ 2개의 전이중 통신이 가능한 USART 직렬통신 포트 ⊙ SPI 및 TWI(I2C) 직렬통신 포트 ⊙ 아날로크 비교기 ⊙ 리셋 벡터와 8개의 외부 인터럽트를 포함하여 총 35개의 인터럽트 벡터 ⊙ 슬립 모드로서 6개의 파워 절약 모드 ⊙ ATMEGA103 호환 모드 ⊙ 64핀 TQFP 또는 64핀 MLF 패키지 ⊙ 동작전원 및 시스템 클럭 ATMEGA128L(2.7~5.5V, 0~8MHz) ATMEGA128(4.5~5.5V, 0~16MHz)
  • 22. --2222--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-5 ATMEGA128의 메모리 구조 1 ① 프로그램프로그램 메모리메모리(In(In--System Reprogrammable Flash Program Memory)System Reprogrammable Flash Program Memory) ▶ 내부 128KB의 플래시 메모리(64K*16의 용량). ▶ Boot Flash Section과 Application Flash Section. ▶ 플래시 메모리에 프로그램을 기입하는 방법에는 SPI방식, JTAG을 사용한 방법, 병렬 프로그래밍 방법.
  • 23. --2323--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-5 ATMEGA128의 메모리 구조 2 ② 데이터데이터 메모리메모리(Data Memory)(Data Memory) ▶ I/O 레지스터 ATMEGA128에 내장된 각종 I/O 디바이스들을 제어하기 위한 레지스터 (총 64개, 0x0020~0x005F) ▶ 확장 I/O 레지스터 기존의 AVR 도델들에 비하여 ATMEGA128에 새로 추가된 각종 I/O 디바이스들을 제어하기 위한 레지스터 (총 160개, 0x0060~0x00FF) ▶ 내부 SRAM 0x0100~0x10FF번지의 4KB 내부 데이터 메모리 (2클럭 사이클의 엑세스 타임) ▶ 외부 데이터 메모리 0x1100~0xFFFF 번지의 약 60KB의 외부 데이터 메모리 (사용자가 필요에 의하여 사용하거나 I/O확장 영역으로 사용) ▶ 4KB의 비휘발성 데이터 메모리인 EEPROM
  • 24. --2424--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-6 ATMEGA128의 퓨즈 비트 ☞ MCU의 기본적인 시스템 설정용으로 사용되며 모두 3바이트로 구성 ⊙ Extended Fuse Byte ⊙ Fuse High Byte ⊙ Fuse Low Byte
  • 25. --2525--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-7 ATMEGA128의 클럭 1 ☞ ATMEGA128에서 사용할 수 있는 클럭 소스는 모두 5가지가 있는데, CKSEL3~0로 설정 ① External Crystal/Ceramic Resonator 외부에 크리스탈 또는 세라믹 레조네이터를 사용하는 경우 XTAL1 입력단자 및 XTAL2 출력단자에 접속(1111~1010) **CKOPT – ‘0’이면 발진회로의 출력전압이 커짐, 노이즈가 심한 환경이나 XTAL2단자가 또다른 회로를 구동할 때 ‘1’이면 발진회로의 출력전압이 작아짐, 소비전력이 감소 **SUT1~0 : 기동시간(Start-Up Time)을 설정 0000External Clock 0100~0001Calibrated Internal RC Oscillator 1000~0101External RC Oscillator 1001External Low-frequency Crystal 1111~1010External Crystal/Ceramic Resonator CKSEL3~0클럭 소스
  • 26. --2626--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-7 ATMEGA128의 클럭 2 ② External Low-frequency Crystal (1001) 외부에 32.768kHz의 낮은 주파수 크리스탈을 사용하는 경우 ③ External RC Oscillator(1000~0101) 정밀한 타이밍이 요구되지 않는 용도로 외부에 RC 소자를 접속한 발진회로를 사용 f = 1/(3RC) 단, C는 22pF 이상 0.1 - 0.90101 0.9 - 3.00110 3.0 - 8.00111 8.0 - 12.01000 Frequency Range (MHz)CKSEL3~0
  • 27. --2727--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-7 ATMEGA128의 클럭 3 ④ Calibrated Internal RC Oscillator(0100~0001) 공장 출하시 내부클럭 1MHz로 설정되어 있음 ** OSCCAL 레지스터를 사용하여 클럭 주파수를 정확하게 조정함 ⑤ External Clock(0000) 외부 다른 보드(8051보드,PIC보드)등의 클럭을 가져와 XTAL1단자에 연결 단, 이때는 두 보드간 GND단자는 연결하며 XTAL2는 사용하지 않음 1.00001 2.00010 4.00011 8.00100 Frequency Range (MHz)CKSEL3~0
  • 28. --2828--20062006--0303--2727 Embedded AVR ProgrammingEmbedded AVR Programming 3-8 ATMEGA128의 시스템 리셋 ☞ ATMEGA128의 리셋 소스는 5가지가 있음 ① Power-on Reset 전원전압 VCC가 Power-on Reset Threshold(VPOT) 이하일 때 MCU가 리셋 ② External Reset /RESET 핀에 지정된 최소폭(1.5 us) 이상의 L레벨 펄스가 입력되어 MCU가 리셋 ③ Watchdog Reset 워치독 타이머에서 지정된 주기 이상이 경과되어 워치독 기능이 동작함으로써 MCU가 리셋 ④ Brown-out Reset 전원전압 VCC가 지정된 시간(2 us) 이상동안 Brown-out Reset Threshold(VBOT) 이하로 떨어져 Brown-out Detector가 동작함으로써 MCU가 리셋 ⑤ JTAG AVR Reset JTAG 시스템에서 리셋 레지스터에 논리값 1을 저장시키고 이에 관련된 하드웨어가 동작함으로써 MCU가 리셋