AtmelStudio와 USBtinyISP를 이용하여 AVR(AtMega,Attiny)의 개발 환경을 창조하다
15587 단어 AVRUSBTinyISPAtmelStudio
개시하다
Arduion의 개발 환경은 매우 편리하지만 인터넷에 존재하는 AVR의 C 코드와 구성 요소 코드를 이용하면 곤란하다.C 사이즈면 이식할 수 있지만 어셈블리면 어쩔 수 없어요.
인터넷상의 AVR 자산을 효과적으로 활용하기 위해 저는 Atmel Studio에서 개발하고 USBtiny ISP에 Arduion의 전통적인 개발 환경을 기록하고 사용하지 않으려고 합니다.
문말에 Fuse 설정 방법을 추가합니다.가필2018-08-22
AtMega328p의 상황을 추가했다.2018-10-14
준비물
Atmel Studio
Atmel Studio 7
이제 Atmel Studio7로 위에서 다운로드할 수 있습니다.
USBtinyISP
AVR을 쓰는 라이터예요.ATTiny 2313A-PU를 사용하는 라이터는 Aliexpress로 U달러 정도입니다.
AVR
이번에는 Attiny 13A로 럭키를 진행해보겠습니다.
ArduinoIDE
아두노의 개발 환경도 필요하다.아두노의 개발 환경에 실제로 포함된 AVRDUDE.exe 를 사용합니다.아두노가 없다면 AVRDUDE를 사용할 수 있는 환경이 필요하다.
Atmel Studio 설치
여기에는 혜택이 기재되어 있지 않다.단지 설치 프로그램에 따라 설치한 것이다.
프로젝트의 제작과 절차의 제작에 관해서 나는 망설인 적이 없어서 먼저 이야기하지 않겠다.
USBtiny ISP에 쓰기
어셈블리 또는 C 코드로 컴파일을 완료하면 HEX 파일이 만들어집니다.AVR에 기록된 단계를 기록합니다.
USBtiny ISP는 Atmel의 표준 도구로 인식되지 않기 때문에 External Tool로 사용됩니다.생성된 HEX 파일을 매개변수로 전송하려면 exe 를 호출합니다.
External Tools...등록
메뉴에서 "Tools"-> "External Tools..."탭
대화 상자.
다음과 같이 설정합니다.
Title
원하는 이름을 설정합니다.
Command
AvrDude.exe에 대한 경로를 설정합니다.나의 환경은 아래와 같다.
CommandC:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
Argument
Argument-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p t13 -v -v -v -U flash:w:"$(TargetDir)$(TargetName).hex":i
옵션 설정
"-c"
USBtiny ISP를 사용하기 때문에 "-c"옵션에서 "usbtiny"를 설정합니다.
"-C"
이것은 이번에 가장 고민되는 옵션이다.이것을 설정하지 않으면 오류가 발생하지만, "avrdude. conf"에서 찾을 수 없는 오류를 발견하려면 시간이 필요합니다.나는 이유를 알았기 때문에 너에게 전보를 지정해 주겠다.
"-p"
AVR의 종류를 설정합니다.AvrDude의 설명서에 기재되어 있으므로 여기서 지정한 AVR을 참조하십시오.
2.1 Option Description
"-U"
우리는 특별히 난처할 필요가 없다.
-U-U flash:w:"$(TargetDir)$(TargetName).hex":i
이 기록대로라면 문제없다.
Initial Directory
AvrDude의 경로를 지정했습니다.
CommandC:\Program Files (x86)\Arduino\hardware\tools\avr\bin
Use output window
선택하면 AvrDude의 출력이 AVR Studio의 Output window에 표시됩니다.
연결선
USBTinyISP 커넥터
Attiny13A 플러그 구성
ISP 커넥터<-->Attiny
PIN 1(MISO)<----> PIN6 (MISO)
PIN 2(VCC) <----> PIN8 (VCC)
PIN 3(SCK) <----> PIN7 (SCK)
PIN 4(MOSI)<----> PIN5 (MOSI)
PIN 5(RST) <----> PIN1 (RESET)
.
쓰기 어댑터를 편리하게 만들었습니다.
쓰기
설정이 완료되면 Tool에서 설정한 항목을 클릭하면 쓰기 시작할 수 있습니다.
결과는 Output Window에 표시됩니다.
토치카
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.또 이것을 설정하면 퓨즈 설정도 했다.거짓말이었어Fuse 설정을 할 수 없습니다. (delay계의 함수가 수정된 것 같습니다.) 문장 끝에 Fuse 설정 방법을 추가합니다.가필2018-08-22
L-chika.cpp#include <avr/io.h>
#include <util/delay.h>
#define LED PB1
#define DELAY 2500
// For delay.h
#ifndef F_CPU
#define F_CPU 9600000 // 9.6MHz
#endif
int main(void)
{
/* Replace with your application code */
DDRB |= _BV(LED);
while(1)
{
PORTB ^= _BV(LED);
_delay_ms(DELAY);
}
}
컴파일 후
Outputwindow------ Build started: Project: GccApplication1, Configuration: Debug AVR ------
Build started.
Project "GccApplication1.cppproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 8 --output-sync
make: Nothing to be done for 'all'.
Done executing task "RunCompilerTask".
Task "RunOutputFileVerifyTask"
Program Memory Usage : 68 bytes 6.6 % Full
Data Memory Usage : 0 bytes 0.0 % Full
Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "GccApplication1.cppproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (entry point):
Done building target "Build" in project "GccApplication1.cppproj".
Done building project "GccApplication1.cppproj".
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
쓰기
Outputavrdude.exe: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf"
Using Port : usb
Using Programmer : usbtiny
avrdude.exe: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\\.\libusb0-0001--0x1781-0x0c9f
AVR Part : ATtiny13
Chip Erase delay : 4000 us
PAGEL : P00
BS2 : P00
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 5 4 0 no 64 4 0 4000 4000 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 6 32 0 yes 1024 32 32 4500 4500 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Programmer Type : USBtiny
Description : USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
avrdude.exe: programmer operation not supported
avrdude.exe: Using SCK period of 10 usec
CMD: [ac 53 00 00] [ac 53 00 00]
CMD: [ac 53 00 00] [ac 53 00 00]
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
이것으로 쓰기를 끝냅니다.
끝말
도구 설정에 대한 고민은 있지만 끝내 보면 간단한 일이다.
참고가 됐으면 좋겠어요.
2018/08/10 Ikeda
Fuse 쓰기 방법 추기
Fuse 설정은 자동으로 작성되지 않습니다.나는 Delay계의 함수가 정확하게 작동하는 것 같아서 쓴 줄 알았다.미안합니다.끊기는 빈도가 느려서 도대체 어떻게 된 일인지 찾다가 퓨즈 설정에 갔어요.표준은 낮은 바이트가 6A이기 때문에 동작은 1.2MHz이다.(인터럽트가 9.6MHz인 것으로 가정)
Fuse 설정 및 쓰기 방법을 기록합니다.
주파수 설정을 변경하려면 Fuse의 낮은 바이트에 다음과 같은 내용을 설정하십시오.
9.6MHz 액션: 0x7A(표준)
1.2Mhz 액션: 0x6A
Avrdude는 파일의 데이터를 쓰기 때문에 우선Fouse의 낮은 바이트에 쓸 파일을 준비해야 합니다.여기에는 Intel 형식으로 기재되어 있습니다.(옵션 H에서 0x6A를 쓸 수 없기 때문)
lFuse(9.6Mhz).txt:010000007A85
:00000001FF
lFuse(1.2Mhz).txt:010000006A95
:00000001FF
도구를 추가합니다.
Argument 설정(기타 설정은 위와 동일)
Argument-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p t13 -U flash:w:"『lFuse(9.6Mhz).txtもしくはTXT:lFuse(1.2Mhz).txtのパスをここへ記載』":i
가필2018-08-22
AtMega328p의 경우
기본적으로 같지만 주파수 결정은 외부 수정에 의해 결정되는 경우Fuse 설정이 필요 없습니다delay_ms()는 FCPU만 설정하면 됩니다.
L천화(AtMega328P)
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.Util/delay.H에서 Define이 필요합니다.
L-chika.cpp#ifndef F_CPU
#define F_CPU 16000000UL // 16MHz
#endif
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB0); // PB0 (PIN8 in Arduino UNO) as outputs (LED)
/* Replace with your application code */
while (1)
{
_delay_ms(1000);
PORTB |= (1<<PB0);
_delay_ms(1000);
PORTB &= ~(1<<PB0);
}
}
쓰기(AtMega 328P)
도구 설정은 다음과 같습니다. -다만 p의 옵션이 m328p로 바뀌었다.TOOL:Tool for AtMega328P
-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p m328p -v -v -v -U flash:w:$(TargetDir)$(TargetName).hex:i
다 모았어.
Reference
이 문제에 관하여(AtmelStudio와 USBtinyISP를 이용하여 AVR(AtMega,Attiny)의 개발 환경을 창조하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tlab/items/eded982637a786486829
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Atmel Studio
Atmel Studio 7
이제 Atmel Studio7로 위에서 다운로드할 수 있습니다.
USBtinyISP
AVR을 쓰는 라이터예요.ATTiny 2313A-PU를 사용하는 라이터는 Aliexpress로 U달러 정도입니다.
AVR
이번에는 Attiny 13A로 럭키를 진행해보겠습니다.
ArduinoIDE
아두노의 개발 환경도 필요하다.아두노의 개발 환경에 실제로 포함된 AVRDUDE.exe 를 사용합니다.아두노가 없다면 AVRDUDE를 사용할 수 있는 환경이 필요하다.
Atmel Studio 설치
여기에는 혜택이 기재되어 있지 않다.단지 설치 프로그램에 따라 설치한 것이다.
프로젝트의 제작과 절차의 제작에 관해서 나는 망설인 적이 없어서 먼저 이야기하지 않겠다.
USBtiny ISP에 쓰기
어셈블리 또는 C 코드로 컴파일을 완료하면 HEX 파일이 만들어집니다.AVR에 기록된 단계를 기록합니다.
USBtiny ISP는 Atmel의 표준 도구로 인식되지 않기 때문에 External Tool로 사용됩니다.생성된 HEX 파일을 매개변수로 전송하려면 exe 를 호출합니다.
External Tools...등록
메뉴에서 "Tools"-> "External Tools..."탭
대화 상자.
다음과 같이 설정합니다.
Title
원하는 이름을 설정합니다.
Command
AvrDude.exe에 대한 경로를 설정합니다.나의 환경은 아래와 같다.
CommandC:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
Argument
Argument-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p t13 -v -v -v -U flash:w:"$(TargetDir)$(TargetName).hex":i
옵션 설정
"-c"
USBtiny ISP를 사용하기 때문에 "-c"옵션에서 "usbtiny"를 설정합니다.
"-C"
이것은 이번에 가장 고민되는 옵션이다.이것을 설정하지 않으면 오류가 발생하지만, "avrdude. conf"에서 찾을 수 없는 오류를 발견하려면 시간이 필요합니다.나는 이유를 알았기 때문에 너에게 전보를 지정해 주겠다.
"-p"
AVR의 종류를 설정합니다.AvrDude의 설명서에 기재되어 있으므로 여기서 지정한 AVR을 참조하십시오.
2.1 Option Description
"-U"
우리는 특별히 난처할 필요가 없다.
-U-U flash:w:"$(TargetDir)$(TargetName).hex":i
이 기록대로라면 문제없다.
Initial Directory
AvrDude의 경로를 지정했습니다.
CommandC:\Program Files (x86)\Arduino\hardware\tools\avr\bin
Use output window
선택하면 AvrDude의 출력이 AVR Studio의 Output window에 표시됩니다.
연결선
USBTinyISP 커넥터
Attiny13A 플러그 구성
ISP 커넥터<-->Attiny
PIN 1(MISO)<----> PIN6 (MISO)
PIN 2(VCC) <----> PIN8 (VCC)
PIN 3(SCK) <----> PIN7 (SCK)
PIN 4(MOSI)<----> PIN5 (MOSI)
PIN 5(RST) <----> PIN1 (RESET)
.
쓰기 어댑터를 편리하게 만들었습니다.
쓰기
설정이 완료되면 Tool에서 설정한 항목을 클릭하면 쓰기 시작할 수 있습니다.
결과는 Output Window에 표시됩니다.
토치카
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.또 이것을 설정하면 퓨즈 설정도 했다.거짓말이었어Fuse 설정을 할 수 없습니다. (delay계의 함수가 수정된 것 같습니다.) 문장 끝에 Fuse 설정 방법을 추가합니다.가필2018-08-22
L-chika.cpp#include <avr/io.h>
#include <util/delay.h>
#define LED PB1
#define DELAY 2500
// For delay.h
#ifndef F_CPU
#define F_CPU 9600000 // 9.6MHz
#endif
int main(void)
{
/* Replace with your application code */
DDRB |= _BV(LED);
while(1)
{
PORTB ^= _BV(LED);
_delay_ms(DELAY);
}
}
컴파일 후
Outputwindow------ Build started: Project: GccApplication1, Configuration: Debug AVR ------
Build started.
Project "GccApplication1.cppproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 8 --output-sync
make: Nothing to be done for 'all'.
Done executing task "RunCompilerTask".
Task "RunOutputFileVerifyTask"
Program Memory Usage : 68 bytes 6.6 % Full
Data Memory Usage : 0 bytes 0.0 % Full
Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "GccApplication1.cppproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (entry point):
Done building target "Build" in project "GccApplication1.cppproj".
Done building project "GccApplication1.cppproj".
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
쓰기
Outputavrdude.exe: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf"
Using Port : usb
Using Programmer : usbtiny
avrdude.exe: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\\.\libusb0-0001--0x1781-0x0c9f
AVR Part : ATtiny13
Chip Erase delay : 4000 us
PAGEL : P00
BS2 : P00
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 5 4 0 no 64 4 0 4000 4000 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 6 32 0 yes 1024 32 32 4500 4500 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Programmer Type : USBtiny
Description : USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
avrdude.exe: programmer operation not supported
avrdude.exe: Using SCK period of 10 usec
CMD: [ac 53 00 00] [ac 53 00 00]
CMD: [ac 53 00 00] [ac 53 00 00]
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
이것으로 쓰기를 끝냅니다.
끝말
도구 설정에 대한 고민은 있지만 끝내 보면 간단한 일이다.
참고가 됐으면 좋겠어요.
2018/08/10 Ikeda
Fuse 쓰기 방법 추기
Fuse 설정은 자동으로 작성되지 않습니다.나는 Delay계의 함수가 정확하게 작동하는 것 같아서 쓴 줄 알았다.미안합니다.끊기는 빈도가 느려서 도대체 어떻게 된 일인지 찾다가 퓨즈 설정에 갔어요.표준은 낮은 바이트가 6A이기 때문에 동작은 1.2MHz이다.(인터럽트가 9.6MHz인 것으로 가정)
Fuse 설정 및 쓰기 방법을 기록합니다.
주파수 설정을 변경하려면 Fuse의 낮은 바이트에 다음과 같은 내용을 설정하십시오.
9.6MHz 액션: 0x7A(표준)
1.2Mhz 액션: 0x6A
Avrdude는 파일의 데이터를 쓰기 때문에 우선Fouse의 낮은 바이트에 쓸 파일을 준비해야 합니다.여기에는 Intel 형식으로 기재되어 있습니다.(옵션 H에서 0x6A를 쓸 수 없기 때문)
lFuse(9.6Mhz).txt:010000007A85
:00000001FF
lFuse(1.2Mhz).txt:010000006A95
:00000001FF
도구를 추가합니다.
Argument 설정(기타 설정은 위와 동일)
Argument-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p t13 -U flash:w:"『lFuse(9.6Mhz).txtもしくはTXT:lFuse(1.2Mhz).txtのパスをここへ記載』":i
가필2018-08-22
AtMega328p의 경우
기본적으로 같지만 주파수 결정은 외부 수정에 의해 결정되는 경우Fuse 설정이 필요 없습니다delay_ms()는 FCPU만 설정하면 됩니다.
L천화(AtMega328P)
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.Util/delay.H에서 Define이 필요합니다.
L-chika.cpp#ifndef F_CPU
#define F_CPU 16000000UL // 16MHz
#endif
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB0); // PB0 (PIN8 in Arduino UNO) as outputs (LED)
/* Replace with your application code */
while (1)
{
_delay_ms(1000);
PORTB |= (1<<PB0);
_delay_ms(1000);
PORTB &= ~(1<<PB0);
}
}
쓰기(AtMega 328P)
도구 설정은 다음과 같습니다. -다만 p의 옵션이 m328p로 바뀌었다.TOOL:Tool for AtMega328P
-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p m328p -v -v -v -U flash:w:$(TargetDir)$(TargetName).hex:i
다 모았어.
Reference
이 문제에 관하여(AtmelStudio와 USBtinyISP를 이용하여 AVR(AtMega,Attiny)의 개발 환경을 창조하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tlab/items/eded982637a786486829
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
어셈블리 또는 C 코드로 컴파일을 완료하면 HEX 파일이 만들어집니다.AVR에 기록된 단계를 기록합니다.
USBtiny ISP는 Atmel의 표준 도구로 인식되지 않기 때문에 External Tool로 사용됩니다.생성된 HEX 파일을 매개변수로 전송하려면 exe 를 호출합니다.
External Tools...등록
메뉴에서 "Tools"-> "External Tools..."탭
대화 상자.
다음과 같이 설정합니다.
Title
원하는 이름을 설정합니다.
Command
AvrDude.exe에 대한 경로를 설정합니다.나의 환경은 아래와 같다.
Command
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
Argument
Argument
-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p t13 -v -v -v -U flash:w:"$(TargetDir)$(TargetName).hex":i
옵션 설정"-c"
USBtiny ISP를 사용하기 때문에 "-c"옵션에서 "usbtiny"를 설정합니다.
"-C"
이것은 이번에 가장 고민되는 옵션이다.이것을 설정하지 않으면 오류가 발생하지만, "avrdude. conf"에서 찾을 수 없는 오류를 발견하려면 시간이 필요합니다.나는 이유를 알았기 때문에 너에게 전보를 지정해 주겠다.
"-p"
AVR의 종류를 설정합니다.AvrDude의 설명서에 기재되어 있으므로 여기서 지정한 AVR을 참조하십시오.
2.1 Option Description
"-U"
우리는 특별히 난처할 필요가 없다.
-U
-U flash:w:"$(TargetDir)$(TargetName).hex":i
이 기록대로라면 문제없다.Initial Directory
AvrDude의 경로를 지정했습니다.
Command
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin
Use output window
선택하면 AvrDude의 출력이 AVR Studio의 Output window에 표시됩니다.
연결선
USBTinyISP 커넥터
Attiny13A 플러그 구성
ISP 커넥터<-->Attiny
PIN 1(MISO)<----> PIN6 (MISO)
PIN 2(VCC) <----> PIN8 (VCC)
PIN 3(SCK) <----> PIN7 (SCK)
PIN 4(MOSI)<----> PIN5 (MOSI)
PIN 5(RST) <----> PIN1 (RESET)
.
쓰기 어댑터를 편리하게 만들었습니다.
쓰기
설정이 완료되면 Tool에서 설정한 항목을 클릭하면 쓰기 시작할 수 있습니다.
결과는 Output Window에 표시됩니다.
토치카
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.또 이것을 설정하면 퓨즈 설정도 했다.거짓말이었어Fuse 설정을 할 수 없습니다. (delay계의 함수가 수정된 것 같습니다.) 문장 끝에 Fuse 설정 방법을 추가합니다.가필2018-08-22
L-chika.cpp#include <avr/io.h>
#include <util/delay.h>
#define LED PB1
#define DELAY 2500
// For delay.h
#ifndef F_CPU
#define F_CPU 9600000 // 9.6MHz
#endif
int main(void)
{
/* Replace with your application code */
DDRB |= _BV(LED);
while(1)
{
PORTB ^= _BV(LED);
_delay_ms(DELAY);
}
}
컴파일 후
Outputwindow------ Build started: Project: GccApplication1, Configuration: Debug AVR ------
Build started.
Project "GccApplication1.cppproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 8 --output-sync
make: Nothing to be done for 'all'.
Done executing task "RunCompilerTask".
Task "RunOutputFileVerifyTask"
Program Memory Usage : 68 bytes 6.6 % Full
Data Memory Usage : 0 bytes 0.0 % Full
Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "GccApplication1.cppproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (entry point):
Done building target "Build" in project "GccApplication1.cppproj".
Done building project "GccApplication1.cppproj".
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
쓰기
Outputavrdude.exe: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf"
Using Port : usb
Using Programmer : usbtiny
avrdude.exe: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\\.\libusb0-0001--0x1781-0x0c9f
AVR Part : ATtiny13
Chip Erase delay : 4000 us
PAGEL : P00
BS2 : P00
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 5 4 0 no 64 4 0 4000 4000 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 6 32 0 yes 1024 32 32 4500 4500 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Programmer Type : USBtiny
Description : USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
avrdude.exe: programmer operation not supported
avrdude.exe: Using SCK period of 10 usec
CMD: [ac 53 00 00] [ac 53 00 00]
CMD: [ac 53 00 00] [ac 53 00 00]
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
이것으로 쓰기를 끝냅니다.
끝말
도구 설정에 대한 고민은 있지만 끝내 보면 간단한 일이다.
참고가 됐으면 좋겠어요.
2018/08/10 Ikeda
Fuse 쓰기 방법 추기
Fuse 설정은 자동으로 작성되지 않습니다.나는 Delay계의 함수가 정확하게 작동하는 것 같아서 쓴 줄 알았다.미안합니다.끊기는 빈도가 느려서 도대체 어떻게 된 일인지 찾다가 퓨즈 설정에 갔어요.표준은 낮은 바이트가 6A이기 때문에 동작은 1.2MHz이다.(인터럽트가 9.6MHz인 것으로 가정)
Fuse 설정 및 쓰기 방법을 기록합니다.
주파수 설정을 변경하려면 Fuse의 낮은 바이트에 다음과 같은 내용을 설정하십시오.
9.6MHz 액션: 0x7A(표준)
1.2Mhz 액션: 0x6A
Avrdude는 파일의 데이터를 쓰기 때문에 우선Fouse의 낮은 바이트에 쓸 파일을 준비해야 합니다.여기에는 Intel 형식으로 기재되어 있습니다.(옵션 H에서 0x6A를 쓸 수 없기 때문)
lFuse(9.6Mhz).txt:010000007A85
:00000001FF
lFuse(1.2Mhz).txt:010000006A95
:00000001FF
도구를 추가합니다.
Argument 설정(기타 설정은 위와 동일)
Argument-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p t13 -U flash:w:"『lFuse(9.6Mhz).txtもしくはTXT:lFuse(1.2Mhz).txtのパスをここへ記載』":i
가필2018-08-22
AtMega328p의 경우
기본적으로 같지만 주파수 결정은 외부 수정에 의해 결정되는 경우Fuse 설정이 필요 없습니다delay_ms()는 FCPU만 설정하면 됩니다.
L천화(AtMega328P)
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.Util/delay.H에서 Define이 필요합니다.
L-chika.cpp#ifndef F_CPU
#define F_CPU 16000000UL // 16MHz
#endif
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB0); // PB0 (PIN8 in Arduino UNO) as outputs (LED)
/* Replace with your application code */
while (1)
{
_delay_ms(1000);
PORTB |= (1<<PB0);
_delay_ms(1000);
PORTB &= ~(1<<PB0);
}
}
쓰기(AtMega 328P)
도구 설정은 다음과 같습니다. -다만 p의 옵션이 m328p로 바뀌었다.TOOL:Tool for AtMega328P
-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p m328p -v -v -v -U flash:w:$(TargetDir)$(TargetName).hex:i
다 모았어.
Reference
이 문제에 관하여(AtmelStudio와 USBtinyISP를 이용하여 AVR(AtMega,Attiny)의 개발 환경을 창조하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tlab/items/eded982637a786486829
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
설정이 완료되면 Tool에서 설정한 항목을 클릭하면 쓰기 시작할 수 있습니다.
결과는 Output Window에 표시됩니다.
토치카
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.또 이것을 설정하면 퓨즈 설정도 했다.거짓말이었어Fuse 설정을 할 수 없습니다. (delay계의 함수가 수정된 것 같습니다.) 문장 끝에 Fuse 설정 방법을 추가합니다.가필2018-08-22
L-chika.cpp#include <avr/io.h>
#include <util/delay.h>
#define LED PB1
#define DELAY 2500
// For delay.h
#ifndef F_CPU
#define F_CPU 9600000 // 9.6MHz
#endif
int main(void)
{
/* Replace with your application code */
DDRB |= _BV(LED);
while(1)
{
PORTB ^= _BV(LED);
_delay_ms(DELAY);
}
}
컴파일 후
Outputwindow------ Build started: Project: GccApplication1, Configuration: Debug AVR ------
Build started.
Project "GccApplication1.cppproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 8 --output-sync
make: Nothing to be done for 'all'.
Done executing task "RunCompilerTask".
Task "RunOutputFileVerifyTask"
Program Memory Usage : 68 bytes 6.6 % Full
Data Memory Usage : 0 bytes 0.0 % Full
Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "GccApplication1.cppproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (entry point):
Done building target "Build" in project "GccApplication1.cppproj".
Done building project "GccApplication1.cppproj".
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
쓰기
Outputavrdude.exe: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf"
Using Port : usb
Using Programmer : usbtiny
avrdude.exe: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\\.\libusb0-0001--0x1781-0x0c9f
AVR Part : ATtiny13
Chip Erase delay : 4000 us
PAGEL : P00
BS2 : P00
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 5 4 0 no 64 4 0 4000 4000 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 6 32 0 yes 1024 32 32 4500 4500 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Programmer Type : USBtiny
Description : USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
avrdude.exe: programmer operation not supported
avrdude.exe: Using SCK period of 10 usec
CMD: [ac 53 00 00] [ac 53 00 00]
CMD: [ac 53 00 00] [ac 53 00 00]
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
이것으로 쓰기를 끝냅니다.
끝말
도구 설정에 대한 고민은 있지만 끝내 보면 간단한 일이다.
참고가 됐으면 좋겠어요.
2018/08/10 Ikeda
Fuse 쓰기 방법 추기
Fuse 설정은 자동으로 작성되지 않습니다.나는 Delay계의 함수가 정확하게 작동하는 것 같아서 쓴 줄 알았다.미안합니다.끊기는 빈도가 느려서 도대체 어떻게 된 일인지 찾다가 퓨즈 설정에 갔어요.표준은 낮은 바이트가 6A이기 때문에 동작은 1.2MHz이다.(인터럽트가 9.6MHz인 것으로 가정)
Fuse 설정 및 쓰기 방법을 기록합니다.
주파수 설정을 변경하려면 Fuse의 낮은 바이트에 다음과 같은 내용을 설정하십시오.
9.6MHz 액션: 0x7A(표준)
1.2Mhz 액션: 0x6A
Avrdude는 파일의 데이터를 쓰기 때문에 우선Fouse의 낮은 바이트에 쓸 파일을 준비해야 합니다.여기에는 Intel 형식으로 기재되어 있습니다.(옵션 H에서 0x6A를 쓸 수 없기 때문)
lFuse(9.6Mhz).txt:010000007A85
:00000001FF
lFuse(1.2Mhz).txt:010000006A95
:00000001FF
도구를 추가합니다.
Argument 설정(기타 설정은 위와 동일)
Argument-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p t13 -U flash:w:"『lFuse(9.6Mhz).txtもしくはTXT:lFuse(1.2Mhz).txtのパスをここへ記載』":i
가필2018-08-22
AtMega328p의 경우
기본적으로 같지만 주파수 결정은 외부 수정에 의해 결정되는 경우Fuse 설정이 필요 없습니다delay_ms()는 FCPU만 설정하면 됩니다.
L천화(AtMega328P)
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.Util/delay.H에서 Define이 필요합니다.
L-chika.cpp#ifndef F_CPU
#define F_CPU 16000000UL // 16MHz
#endif
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB0); // PB0 (PIN8 in Arduino UNO) as outputs (LED)
/* Replace with your application code */
while (1)
{
_delay_ms(1000);
PORTB |= (1<<PB0);
_delay_ms(1000);
PORTB &= ~(1<<PB0);
}
}
쓰기(AtMega 328P)
도구 설정은 다음과 같습니다. -다만 p의 옵션이 m328p로 바뀌었다.TOOL:Tool for AtMega328P
-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p m328p -v -v -v -U flash:w:$(TargetDir)$(TargetName).hex:i
다 모았어.
Reference
이 문제에 관하여(AtmelStudio와 USBtinyISP를 이용하여 AVR(AtMega,Attiny)의 개발 환경을 창조하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tlab/items/eded982637a786486829
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#include <avr/io.h>
#include <util/delay.h>
#define LED PB1
#define DELAY 2500
// For delay.h
#ifndef F_CPU
#define F_CPU 9600000 // 9.6MHz
#endif
int main(void)
{
/* Replace with your application code */
DDRB |= _BV(LED);
while(1)
{
PORTB ^= _BV(LED);
_delay_ms(DELAY);
}
}
------ Build started: Project: GccApplication1, Configuration: Debug AVR ------
Build started.
Project "GccApplication1.cppproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 8 --output-sync
make: Nothing to be done for 'all'.
Done executing task "RunCompilerTask".
Task "RunOutputFileVerifyTask"
Program Memory Usage : 68 bytes 6.6 % Full
Data Memory Usage : 0 bytes 0.0 % Full
Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "GccApplication1.cppproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "D:\******\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cppproj" (entry point):
Done building target "Build" in project "GccApplication1.cppproj".
Done building project "GccApplication1.cppproj".
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
avrdude.exe: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf"
Using Port : usb
Using Programmer : usbtiny
avrdude.exe: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\\.\libusb0-0001--0x1781-0x0c9f
AVR Part : ATtiny13
Chip Erase delay : 4000 us
PAGEL : P00
BS2 : P00
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 5 4 0 no 64 4 0 4000 4000 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 6 32 0 yes 1024 32 32 4500 4500 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Programmer Type : USBtiny
Description : USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
avrdude.exe: programmer operation not supported
avrdude.exe: Using SCK period of 10 usec
CMD: [ac 53 00 00] [ac 53 00 00]
CMD: [ac 53 00 00] [ac 53 00 00]
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
도구 설정에 대한 고민은 있지만 끝내 보면 간단한 일이다.
참고가 됐으면 좋겠어요.
2018/08/10 Ikeda
Fuse 쓰기 방법 추기
Fuse 설정은 자동으로 작성되지 않습니다.나는 Delay계의 함수가 정확하게 작동하는 것 같아서 쓴 줄 알았다.미안합니다.끊기는 빈도가 느려서 도대체 어떻게 된 일인지 찾다가 퓨즈 설정에 갔어요.표준은 낮은 바이트가 6A이기 때문에 동작은 1.2MHz이다.(인터럽트가 9.6MHz인 것으로 가정)
Fuse 설정 및 쓰기 방법을 기록합니다.
주파수 설정을 변경하려면 Fuse의 낮은 바이트에 다음과 같은 내용을 설정하십시오.
9.6MHz 액션: 0x7A(표준)
1.2Mhz 액션: 0x6A
Avrdude는 파일의 데이터를 쓰기 때문에 우선Fouse의 낮은 바이트에 쓸 파일을 준비해야 합니다.여기에는 Intel 형식으로 기재되어 있습니다.(옵션 H에서 0x6A를 쓸 수 없기 때문)
lFuse(9.6Mhz).txt:010000007A85
:00000001FF
lFuse(1.2Mhz).txt:010000006A95
:00000001FF
도구를 추가합니다.
Argument 설정(기타 설정은 위와 동일)
Argument-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p t13 -U flash:w:"『lFuse(9.6Mhz).txtもしくはTXT:lFuse(1.2Mhz).txtのパスをここへ記載』":i
가필2018-08-22
AtMega328p의 경우
기본적으로 같지만 주파수 결정은 외부 수정에 의해 결정되는 경우Fuse 설정이 필요 없습니다delay_ms()는 FCPU만 설정하면 됩니다.
L천화(AtMega328P)
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.Util/delay.H에서 Define이 필요합니다.
L-chika.cpp#ifndef F_CPU
#define F_CPU 16000000UL // 16MHz
#endif
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB0); // PB0 (PIN8 in Arduino UNO) as outputs (LED)
/* Replace with your application code */
while (1)
{
_delay_ms(1000);
PORTB |= (1<<PB0);
_delay_ms(1000);
PORTB &= ~(1<<PB0);
}
}
쓰기(AtMega 328P)
도구 설정은 다음과 같습니다. -다만 p의 옵션이 m328p로 바뀌었다.TOOL:Tool for AtMega328P
-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p m328p -v -v -v -U flash:w:$(TargetDir)$(TargetName).hex:i
다 모았어.
Reference
이 문제에 관하여(AtmelStudio와 USBtinyISP를 이용하여 AVR(AtMega,Attiny)의 개발 환경을 창조하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tlab/items/eded982637a786486829
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
:010000007A85
:00000001FF
:010000006A95
:00000001FF
-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p t13 -U flash:w:"『lFuse(9.6Mhz).txtもしくはTXT:lFuse(1.2Mhz).txtのパスをここへ記載』":i
기본적으로 같지만 주파수 결정은 외부 수정에 의해 결정되는 경우Fuse 설정이 필요 없습니다delay_ms()는 FCPU만 설정하면 됩니다.
L천화(AtMega328P)
L 해볼게요.delay_ms () 를 사용할 때는 동작 주파수를 "F CPU"로 설정해야 합니다.Util/delay.H에서 Define이 필요합니다.
L-chika.cpp#ifndef F_CPU
#define F_CPU 16000000UL // 16MHz
#endif
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB0); // PB0 (PIN8 in Arduino UNO) as outputs (LED)
/* Replace with your application code */
while (1)
{
_delay_ms(1000);
PORTB |= (1<<PB0);
_delay_ms(1000);
PORTB &= ~(1<<PB0);
}
}
쓰기(AtMega 328P)
도구 설정은 다음과 같습니다. -다만 p의 옵션이 m328p로 바뀌었다.TOOL:Tool for AtMega328P
-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p m328p -v -v -v -U flash:w:$(TargetDir)$(TargetName).hex:i
다 모았어.
Reference
이 문제에 관하여(AtmelStudio와 USBtinyISP를 이용하여 AVR(AtMega,Attiny)의 개발 환경을 창조하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tlab/items/eded982637a786486829
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#ifndef F_CPU
#define F_CPU 16000000UL // 16MHz
#endif
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB0); // PB0 (PIN8 in Arduino UNO) as outputs (LED)
/* Replace with your application code */
while (1)
{
_delay_ms(1000);
PORTB |= (1<<PB0);
_delay_ms(1000);
PORTB &= ~(1<<PB0);
}
}
도구 설정은 다음과 같습니다. -다만 p의 옵션이 m328p로 바뀌었다.
TOOL:Tool for AtMega328P
-c usbtiny -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p m328p -v -v -v -U flash:w:$(TargetDir)$(TargetName).hex:i
다 모았어.Reference
이 문제에 관하여(AtmelStudio와 USBtinyISP를 이용하여 AVR(AtMega,Attiny)의 개발 환경을 창조하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tlab/items/eded982637a786486829텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)