İngilizceFransızcaİspanyolca

OnWorks favicon'u

avrdude - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında avrdude çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen avrdude komutudur.

Program:

ADI


Avrdude — "basit" Atmel AVR MCU programcısı için sürücü programı

SİNOPSİS


Avrdude -p partno [-b baud hızı] [-B bit saat] [-c programcı kimliği] [-C yapılandırma dosyası] [-D] [-e]
[-E çıkış belirtimi[,çıkış belirtimi]] [-F] [-i geciktirmek] [-n -log dosyası] [-n] [-O] [-P Liman] [-q] [-s]
[-t] [-u] [-U memtype:op:dosyaadı:filefmt] [-v] [-x genişletilmiş_param] [-V]

TANIM


avrdude Atmel AVR mikrodenetleyicilerine kod ve veri indirmek için bir programdır. avrdude
Atmel'in STK500 programlayıcısını, Atmel'in AVRISP ve AVRISP mkII cihazlarını, Atmel'in STK600'ünü destekler,
Atmel'in JTAG ICE'si (mkI, mkII ve 3, son ikisi de ISP modunda), programcılar uyumlu
AppNote AVR910 ve AVR109'a (Butterfly dahil) ve ayrıca basit bir kablolu
doğrudan bağlı programcı ppi(4) veya liman(4) paralel bağlantı noktasına veya bir standarda
seri port. En basit durumda, donanım sadece kabloyu birbirine bağlayan bir kablodan oluşur.
paralel bağlantı noktasına ilgili AVR sinyal hatları.

MCU programlanmış seri programlama kipiçin, yani ppi(4) tabanlı programcı,
'/RESET', 'SCK', 'MISO' ve 'MOSI' MCU sinyallerinin paralel porta bağlanması gerekir.
İsteğe bağlı olarak, paralel portun aksi takdirde kullanılmayan bazı çıkış pinleri beslemek için kullanılabilir.
MCU parçası için güç, bu nedenle pasif bir bağımsız oluşturmak da mümkündür
programlama cihazı Cihazın mevcut çalışma durumunu gösteren bazı durum LED'leri
programlayıcı bağlanabilir ve bir arabellek/sürücüyü kontrol etmek için bir sinyal mevcuttur IC 74LS367
(veya 74HCT367). İkincisi, paralel bağlantı noktasını MCU'dan ayırmak için yararlı olabilir.
sistem programlama kullanılmaktadır.

Bir seri bağlantı noktasına bağlanan bir dizi eşit derecede basit bit-bang programlama bağdaştırıcısı
arasında popüler Ponyprog seri adaptörü ve DASA ve DASA3 de desteklenir.
tarafından desteklenen adaptörler Uisp(1). Bu adaptörlerin
fiziksel bir seri bağlantı noktasına bağlı. USB'nin üzerinde öykünülmüş bir seri bağlantı noktasına bağlanmak
muhtemelen hiç çalışmayabilir veya aşırı derecede yavaş çalışabilir.

En az 4 donanım GPIO'su bulunan bir Linux sisteminiz varsa (neredeyse
tüm gömülü Linux kartları) herhangi bir ek donanım olmadan yapabilirsiniz - sadece
AVR üzerindeki MOSI, MISO, RESET ve SCK pinleri ve linuxgpio programcı tipini kullanın. Bilişim Teknoloji
Linux sysfs GPIO arabirimini kullanarak satırlara bit vurur. tabiki dikkat edilmeli
voltaj seviyesi uyumluluğu hakkında. Ayrıca, kesinlikle gerekli olmamakla birlikte, şiddetle
GPIO pinlerini bir şekilde aşırı akım durumlarından korumanız önerilir. En basit
sadece bazı dirençleri seri veya daha iyisi koymak, ancak 3 durumlu bir arabellek sürücüsü kullanmak olacaktır.
74HC244. Şuna bir bak http://kolev.info/avrdude-linuxgpio daha ayrıntılı bir eğitim için
bu programcı türünü kullanma hakkında.

Atmel'in STK500 programcısı da desteklenir ve bir seri bağlantı noktasına bağlanır. Her ikisi de, bellenim
1.x ve 2.x sürümleri işlenebilir, ancak farklı bir programcı türü belirtimi gerektirir
(şimdilik). Firmware sürüm 2'yi kullanarak, yüksek voltajlı programlama da desteklenir, her ikisi de
paralel ve seri (programcı türleri stk500pp ve stk500hvsp).

STK500 V2.x protokolünü kullanan kablolama kartları desteklenir, ancak basit bir DTR/RTS geçişi
panoları programlama moduna ayarlamak için kullanılır. Programcı tipi "kablolama"dır.

Arduino (STK500 1.x'e çok benzeyen) kendi programcısı tarafından desteklenmektedir.
tür belirtimi "arduino".

BusPirate, AVR programcısı olarak da kullanılabilen çok yönlü bir araçtır. Bir tek
BusPirate, 3 adede kadar bağımsız AVR'ye bağlanabilir. bölümüne bakın genişletilmiş
parametreler ayrıntılar için aşağıya bakın.

Atmel'in STK600 programcısı, ISP ve yüksek voltajlı programlama modlarında desteklenir ve
USB üzerinden bağlanır. ATxmega cihazları için STK600, PDI modunda desteklenir. İçin
ATtiny4/5/9/10 cihazları, STK600 ve AVRISP mkII, TPI modunda desteklenir.

Atmel'in AVR910 uygulama notunda açıklanan basit seri programlayıcı ve
Atmel'in AVR109 uygulama notunda açıklanan önyükleyici (AVR tarafından da kullanılır)
Kelebek değerlendirme panosu), bir seri bağlantı noktasında desteklenir.

Atmel'in JTAG ICE'si (mkI, mkII ve 3), bellek alanlarını yüklemek veya indirmek için de desteklenir
bir AVR hedefinden/hedefine (çip üzerinde hata ayıklama desteği yoktur). JTAG ICE mkII, JTAG için,
debugWire ve ISP modu, en az 4.14 üretici yazılımı revizyonuna sahip olması koşuluyla desteklenir
(ondalık). JTAGICE3 ayrıca tüm JTAG, debugWIRE ve ISP modunu destekler. için aşağıya bakın
debugWire'ın sınırlamaları. ATxmega cihazları için JTAG ICE mkII, PDI modunda desteklenir,
en az 1 (ondalık) revizyon 5.37 donanım ve bellenim sürümüne sahip olması koşuluyla. İçin
ATxmega cihazları, JTAGICE3, PDI modunda desteklenir.

Atmel-ICE (ARM/AVR) tüm modlarda (JTAG, Xmega için PDI, debugWIRE, ISP) desteklenir.

EDBG protokolünü kullanan (CMSIS-DAP uyumlu) Atmel'in XplainedPro kartları desteklenir
"jtag3" programcı türünü kullanarak.

AVR Dragon tüm modlarda (ISP, JTAG, HVSP, PP, debugWire) desteklenir. içinde kullanıldığında
JTAG ve debugWire modu, AVR Dragon, JTAG ICE mkII'ye benzer şekilde davranır, bu nedenle tüm cihazlar-
o cihaz için özel yorumlar da geçerli olacaktır. ISP modunda kullanıldığında, AVR Dragon
AVRISP mkII'ye (veya ISP modunda JTAG ICE mkII'ye) benzer şekilde davranır, bu nedenle tümü cihaza özel
yorumlar orada geçerli olacaktır. Özellikle, Dragon oldukça hızlı bir ISP ile başlar
saat frekansı, yani -B bit saat kararlı bir ISP elde etmek için seçenek gerekli olabilir
iletişim. ATxmega cihazları için, AVR Dragon, PDI modunda desteklenir.
en az 6.11 (ondalık) bir bellenim sürümüne sahiptir.

Sağlanan avrftdi, USBasp ISP ve USBtinyISP adaptörleri de desteklenir. Avrdude vardır
libusb desteği ile derlenmiştir. USBasp ISP ve USBtinyISP'nin her ikisi de basit bellenim özelliğine sahiptir-
yalnızca sırasıyla ATmega8 (veya ATmega88) veya ATtiny2313 üzerinde çalışan USB uygulamaları.
libftdi derlenmişse Avrdude, avrftdi cihazı birçok kişi için destek ekler
MPSSE modunda çalışan FTDI'nin 2232C/D/H ve 4232H parçalarını kullanan programcılar
(çipte) SCK'den bit 1'e, MOSI'den bit 2'ye ve MISO'dan bit 3'e Sıfırlama genellikle bit 4'tür.

Atmel DFU önyükleyici hem FLIP protokolü sürüm 1'de (AT90USB* hem de
ATmega*U* cihazları) ve ayrıca sürüm 2 (Xmega cihazları). hakkında bazı ipuçları için aşağıya bakın
FLIP sürüm 1 protokol davranışı.

Girdi dosyaları sağlanabilir ve çıktı dosyaları farklı dosya formatlarında yazılabilir, örneğin
çipe, Intel hex formatına veya indirilecek verileri içeren ham ikili dosyalar olarak
Motorola S-kayıt formatı. Bu dosyaları oluşturmak için bir dizi araç mevcuttur,
sevmek rakım(1) bağımsız bir montajcı olarak veya avr-objcopy(1) GNU'nun son aşaması için
AVR mikro denetleyicisi için alet zinciri.

Sağlanan iftira(3) derleme sırasında mevcuttu Avrdude, girdi dosyası da son olabilir
Bağlayıcı tarafından üretilen ELF dosyası. Uygun ELF bölüm(ler)i incelenecek,
Yazılacak bellek alanına göre.

avrdude desteklenen AVR parçalarının EEPROM ve flash ROM bellek hücrelerini programlayabilir. Nereye
Seri komut seti tarafından desteklenen sigorta bitleri ve kilit bitleri de programlanabilir.
Bunlar içinde uygulanır Avrdude ayrı bellek türleri olarak ve kullanılarak programlanabilir
bir dosyadan veri (bkz. -m seçeneği) veya terminal modundan (bkz. dökmek ve yazmak
komutları). Çipi okumak da mümkündür (kod korumalı olmaması şartıyla).
önceden, elbette) ve verileri bir dosyada saklayın. Son olarak, bir "terminal" modu
MCU ile etkileşimli olarak iletişim kurmasına ve görüntülemesine veya görüntülemesine izin veren kullanılabilir
bireysel hafıza hücrelerini programlayın. STK500 ve STK600 programlayıcıda, birkaç operasyonel
parametreleri (hedef besleme gerilimi, hedef Aref gerilimi, ana saat) incelenebilir ve
terminal modundan da değişti.

Opsiyonlar
Tüm farklı çalışma modlarını kontrol etmek için bir dizi seçeneğin olması gerekir.
belirtilen Avrdude.

-p partno
Bu, her çağrı için zorunlu olan tek seçenektir. Avrdude. O
programlayıcıya bağlı MCU'nun türünü belirtir. bunlar okunur
yapılandırma dosyasından. Şu anda desteklenen MCU türleri için ? partno olarak, bu
terminalde partno kimliklerinin ve resmi parça adlarının bir listesini yazdıracaktır. (Her ikisi de
-p seçeneği ile kullanılabilir.)

Aşağıdaki parçalar özel dikkat gerektirir:

AT90S1200 AT90S1200'ün ISP programlama protokolü, küçük farklılıklar gösterir.
diğer AVR'lerin yollarından. Bu nedenle, tüm programcılar desteklemez
bu cihaz. Çalıştığı bilinen tüm doğrudan bitbang programcılarıdır,
ve STK500v2 protokolünü konuşan tüm programcılar.

AT90S2343 AT90S2323 ve ATtiny22 aynı algoritmayı kullanır.

ATmega2560, ATmega2561
128 KB üzerindeki flaş adresleme tüm programlamalar tarafından desteklenmez
donanım. Çalıştığı bilinen jtag2, stk500v2 ve bit-bang
programcılar.

ATtiny11 ATtiny11 sadece yüksek voltajlı seri modda programlanabilir.

-b baud hızı
İlgili bölümde belirtilen RS-232 bağlantı baud hızını geçersiz kılın.
programcının yapılandırma dosyası girişi.

-B bit saat
JTAG arayüzü veya ISP saati için bit saat periyodunu belirtin (JTAG ICE
bir tek). Değer, mikrosaniye cinsinden kayan noktalı bir sayıdır. Alternatif olarak,
belirtmek için değerin sonuna "Hz", "kHz" veya "MHz" eklenebilir.
nokta yerine bit saat frekansı. JTAG'ın varsayılan değeri
ICE, hedef MCU'lar için uygun, yaklaşık 1 mikrosaniye bit saat periyodu ile sonuçlanır
4 MHz saat hızı ve üzerinde çalışıyor. STK500'deki belirli parametrelerin aksine,
JTAG ICE, programlama sırasında tüm parametrelerini varsayılan değerlere sıfırlar.
yazılım ICE'den ayrılır, bu nedenle daha düşük saat hızlarında çalışan MCU'lar için,
bu parametre komut satırında belirtilmelidir. kullanabilirsiniz
'default_bitclock' anahtar kelimesi ${HOME}/.avrduderc varsayılan atamak için dosya
Her çağrıda bu seçeneği belirtmek zorunda kalmamak için değer.

-c programcı kimliği
Argüman tarafından belirtilen programlayıcıyı kullanın. Programcılar ve pinleri
yapılandırmalar yapılandırma dosyasından okunur (bkz. -C seçenek). Yeni pin
konfigürasyonlar, bir konfigürasyon kullanılarak kolayca eklenebilir veya değiştirilebilir
yapılacak dosya Avrdude programcı olduğu sürece farklı programcılarla çalışın
Atmel AVR seri program yöntemini destekler. kullanabilirsiniz
'default_programmer' anahtar sözcüğünüzde ${HOME}/.avrduderc atamak için dosya
her programda bu seçeneği belirtmek zorunda kalmamak için varsayılan programcı
çağırma. Desteklenen tüm programcıların tam listesi,
kullanarak terminal? programcı kimliği olarak.

-C yapılandırma dosyası
Yapılandırma verilerini yüklemek için belirtilen yapılandırma dosyasını kullanın. Bu dosya şunları içerir:
tüm programcı ve parça tanımları Avrdude hakkında biliyor. eğer bir
programcı veya parçası Avrdude bilmiyorsa ekleyebilirsiniz
config dosyası oluşturun (emin olun ve yazara bir düzeltme eki gönderin, böylece
sonraki sürüm için dahil edilmiştir). adresinde bulunan yapılandırma dosyasına bakın.
/etc/avrdude.conf, biçimin bir açıklamasını içerir.

If yapılandırma dosyası olarak yazılmıştır +dosya adı daha sonra bu dosya sistemden sonra okunur
geniş ve kullanıcı yapılandırma dosyaları. Bu, giriş eklemek için kullanılabilir.
sistem genelinde yapılandırma dosyanıza yama eklemeden yapılandırma. Olabilir
birkaç kez kullanıldığında, dosyalar komutta verilen sırayla okunur
hattı.

-D Flaş için otomatik silmeyi devre dışı bırakın. Ne zaman -U flash bellekli seçenek
belirtildi, Avrdude herhangi birine başlamadan önce bir çip silme işlemi yapacaktır.
programlama işlemleri, çünkü genellikle flaşı programlamak bir hatadır.
önce bir silme işlemi gerçekleştirmeden. Bu seçenek bunu devre dışı bırakır. Otomatik silme (şimdiki değeri)
ATxmega cihazları için kullanılmaz çünkü bu cihazlar daha önce sayfa silmeyi kullanabilir
açık bir çip silme işlemi gerekmeyecek şekilde her sayfanın yazılması. Ancak şunu unutmayın
mevcut işlemden etkilenmeyen herhangi bir sayfa önceki durumunu koruyacaktır.
içeriği.

-e Bir çip silme işleminin yürütülmesine neden olur. Bu, flaşın içeriğini sıfırlayacaktır
ROM ve EEPROM'u '0xff' değerine getirin ve tüm kilit bitlerini temizleyin. Dışında
Sayfa silmeyi kullanabilen ATxmega cihazları, temel olarak bir ön koşuldur.
flash ROM yeniden programlanmadan önce komut. Tek istisna
yeni içerikler yalnızca bitlerin programlanmasına neden olsaydı olurdu
'1' değerinden '0' değerine. EERPOM hücrelerini yeniden programlamak için hiçbir
MCU otomatik silme sağladığından, önceden açık bir şekilde çip silme gereklidir
bu durumda hücreyi programlamadan önce döngü yapın.

-E çıkış belirtimi[,çıkış belirtimi]
Varsayılan olarak, Avrdude paralel bağlantı noktasını çıkışta olduğu gibi aynı durumda bırakır
başlangıçta bulundu. Bu seçenek '/RESET' durumunu değiştirir ve
'Vcc' hatlarına göre paralel bağlantı noktasının bırakıldığı çizgiler çıkış belirtimi argümanlar
aşağıdaki gibi sağlanır:

ayarlamak Program çıkışında '/RESET' sinyali aktif bırakılacaktır, yani
yapılacak düşük, MCU'yu sıfırlama durumunda tutmak için
sonradan. Özellikle, programlama algoritmasının
AT90S1200 cihazı '/RESET' sinyalinin aktif olmasını zorunlu kılar
önce MCU'ya güç verilmesi, bu nedenle harici bir güç kaynağı olması durumunda
Bu MCU türü için kullanılan, önceki bir çağrı Avrdude bununla
belirtilen seçenek, bunu garanti etmenin olası yollarından biridir.
koşul.

noreset Program çıkışında '/RESET' satırı devre dışı bırakılacak, böylece
programlama donanımı kalırken çalışacak MCU hedef programı
bağladı.

VCC Bu seçenek, bu paralel port pinlerini aktif bırakacaktır (örn. yüksek)
MCU'ya 'Vcc' gücü sağlamak için kullanılabilir.

kasım Bu seçenek paralel portun 'Vcc' pinlerini aşağı doğru çekecektir.
program çıkışı.

d_yüksek Bu seçenek, paralel bağlantı noktasındaki 8 veri pinini etkin bırakacaktır.
(yani yüksek)

d_düşük Bu seçenek, paralel bağlantı noktasındaki 8 veri pinini devre dışı bırakacaktır.
(yani düşük)

çoklu çıkış belirtimi argümanlar virgülle ayrılabilir.

-F Normalde, Avrdude cihaz imzasının parçadan okunduğunu doğrulamaya çalışır
devam etmeden önce mantıklı. Zaman zaman olabileceğinden, bir
cihazda bozuk (silinmiş veya üzerine yazılmış) bir cihaz imzası var, ancak aksi halde
normal çalışırken, bu seçenekler kontrolü geçersiz kılmak için sağlanmıştır. Ayrıca, için
parametreleri yerel olarak ayarlayabilen Atmel STK500 ve STK600 gibi programcılar
programlama aracına (bir hedefe gerçek bağlantıdan bağımsız olarak)
denetleyici), bu seçenek ile birlikte kullanılabilir -t terminalde devam etmek
modu.

-i geciktirmek
Bitbang tipi programcılar için yaklaşık olarak gecikme geciktirmek mikrosaniye
her bit durum değişikliği arasında. Ana sistem çok hızlıysa veya hedef
yavaş bir saatte çalışır (32 kHz kristal veya 128 kHz dahili RC gibi
osilatör), bu, ISP'nin gereksinimini karşılamak için gerekli hale gelebilir.
saat frekansı, CPU saat frekansının 1/4'ünden yüksek olmamalıdır. Bu
çok kısa gecikmelere bile izin vermek için bir dönüş döngüsü gecikmesi olarak uygulanır. Açık
Unix tarzı işletim sistemlerinde, döndürme döngüsü başlangıçta bir
sistem zamanlayıcısı, bu nedenle mikrosaniye sayısı oldukça gerçekçi olabilir,
sabit bir sistem yükü varsayarsak Avrdude çalışıyor. Win32 işletiminde
sistemlerde, mikrosaniye başına önceden konfigüre edilmiş bir döngü sayısı olduğu varsayılır.
çok hızlı veya çok yavaş makineler için biraz kapalı olabilir.

-l kayıt dosyası
kullanım kayıt dosyası ziyade Stderr teşhis çıkışı için. Başlangıcı not edin
tanı mesajları (seçenek ayrıştırma sırasında) hala Stderr
neyse.

-n Yazma yok - MCU'ya veri yazmayı gerçekten devre dışı bırakır (hata ayıklamak için kullanışlıdır)
Avrdude ).

-O Atmel uygulamasına göre bir RC osilatör çalışma zamanı kalibrasyonu gerçekleştirin
AVR053'ü not edin. Bu yalnızca STK500v2, AVRISP mkII ve JTAG'de desteklenir
ICE mkII donanımı. Sonucun EEPROM hücresinde şu adreste saklanacağını unutmayın:
adres 0.

-P Liman
kullanım Liman programlayıcının bağlı olduğu aygıtı tanımlamak için. Tarafından
varsayılan /dev/ppi0 bağlantı noktası kullanılır, ancak programcı normal şekilde yazıyorsa
seri bağlantı noktasına bağlanır, /dev/cuaa0 bağlantı noktası varsayılandır. Eğer ihtiyacın varsa
farklı bir paralel veya seri bağlantı noktası kullanmak için, bu seçeneği kullanarak
alternatif bağlantı noktası adı.

Win32 işletim sistemlerinde, paralel bağlantı noktaları, lpt1 aracılığıyla
lpt3, sırasıyla 0x378, 0x278 ve 0x3BC adreslerine atıfta bulunur. Eğer
paralel bağlantı noktasına farklı bir adres üzerinden erişilebilir, bu adres
ortak C dili notasyonu kullanılarak doğrudan belirtilebilir (örn.
onaltılık değerlerin önüne '0x' eklenir).

JTAG ICE mkII ve JTAGICE3 için, eğer Avrdude libusb ile yapılandırılmış
destek, Liman alternatif olarak belirtilebilir usb[:seri numarası]. Bu irade
sebeb olmak Avrdude Programlayıcıyı USB'de aramak için Eğer seri numarası ayrıca belirtilir,
bulunan herhangi bir JTAG ICE mkII'den okunan seri numarasıyla eşleştirilecektir.
USB'de. Eşleşme, verilen iki nokta üst üste işaretlerinin çıkarılmasından sonra yapılır.
seri numarası ve sağdan sola, bu nedenle yalnızca en az önemli baytlar
seri numarası verilmelidir.

AVRISP mkII cihazı ile sadece USB üzerinden konuşulabildiğinden, aynı yöntem
bağlantı noktasının belirtilmesi orada gereklidir.

HID modunda çalışan USB programlayıcı "AVR-Doper" için bağlantı noktası
olarak belirtilen avroper. Unix'te Libusb desteği gereklidir, ancak Windows'ta gerekli değildir.
AVR-Doper hakkında daha fazla bilgi için bkz.
http://www.obdev.at/avrusb/avrdoper.html.

Seri uygulama yapmayan basit bir cihaz olan USBtinyISP için
numaraları, birden fazla cihaz USB'deki konumlarına göre ayırt edilebilir
hiyerarşi. ilgili bkz. Sorun giderme detaylı giriş
örnekler için belgeler.

Bir tür daha yüksek seviye kullanarak bir seri bağlantı noktasına bağlanan programcılar için
protokol (bit-bang tarzı programcıların aksine), Liman olarak belirtilebilir
net:ev sahibi:Liman. Bu durumda yerel bir cihazı açmaya çalışmak yerine bir TCP
(TCP) ile ağ bağlantısı Liman on ev sahibi kuruldu. Uzak uç nokta
ağ akışını bağlayan bir terminal veya konsol sunucusu olduğu varsayılır
gerçek programlayıcının bağlı olduğu yerel bir seri bağlantı noktasına. NS
bağlantı noktasının uygun şekilde yapılandırıldığı varsayılır, örneğin şeffaf bir
STK8 için 115200 Baud'da eşliksiz 500 bit veri bağlantısı.

-q Okuma veya yazma sırasında ilerleme çubuğunun çıktısını devre dışı bırakın (veya bastırın).
cihaz. Daha da sessiz çalışma için ikinci kez belirtin.

-s Güvenli mod istemini devre dışı bırakın. Safemode, bir veya daha fazla sigortayı keşfettiğinde
bitler istemeden değişti, bununla ilgili onay isteyecektir.
sigorta bit(ler)ini kurtarmaya çalışıp çalışmayacağını belirler. Bunu belirtmek
flag istemi devre dışı bırakır ve sigorta bit(ler)inin kurtarılması gerektiğini varsayar
önce onay istemeden.

-t Söyler Avrdude yukarı veya yerine etkileşimli ``terminal'' moduna girmek için
dosyaları indiriyor. Terminal modunun ayrıntılı açıklaması için aşağıya bakın.

-u Güvenli mod sigorta biti kontrollerini devre dışı bırakın. Güvenli mod varsayılan olarak etkindir ve
kasıtsız sigorta biti değişikliklerini önlemek için tasarlanmıştır. Etkinleştirildiğinde, güvenli mod
Programda herhangi bir sigorta bitinin farklı olduğu tespit edilirse bir uyarı verecektir.
olduklarından daha fazla çıkış Avrdude çağrıldı. Safemode, sigorta bitlerini değiştirmez
kendisi değil, terminal dışında olmadığı sürece talimatlar isteyecektir.
etkileşimli, bu durumda güvenli mod devre dışı bırakılır. Bkz. -s devre dışı bırakma seçeneği
güvenli mod istemi.

Yapılandırma dosyalarından birinin satırı varsa
default_safemode = hayır;
safemode varsayılan olarak devre dışıdır. NS -u seçeneğin etkisi bunda reddedilir
durumda, yani sağlar güvenli mod.

AVR32, Xmega ve TPI cihazları için güvenli mod her zaman devre dışıdır.

-U memtype:op:dosya adı[:biçim]
Belirtildiği şekilde bir hafıza işlemi gerçekleştirin. NS memtipi alan belirtir
üzerinde çalışılacak bellek türü. Kullanılabilir bellek türleri cihaza bağlıdır,
gerçek yapılandırma ile görüntülenebilir Bölüm terminal modunda komut.
Tipik olarak, bir aygıtın bellek yapılandırması en azından bellek türlerini içerir.
flaş ve eeprom. Şu anda bilinen tüm bellek türleri şunlardır:
kalibrasyon Bir veya daha fazla bayt RC osilatör kalibrasyon verisi.
eeprom Cihazın EEPROM'u.
efus Genişletilmiş sigorta baytı.
flash Aygıtın flash ROM'u.
sigorta Yalnızca tek bir sigorta baytı olan aygıtlardaki sigorta baytı.
hfuse Yüksek sigorta baytı.
lfuse Düşük sigorta baytı.
kilitle Kilit baytı.
imza Üç aygıt imza baytı (aygıt kimliği).
kaynaştırmakN ATxmega cihazlarının sigorta baytları, N için bir tam sayıdır
cihaz tarafından desteklenen her sigorta.
uygulama ATxmega cihazlarının uygulama flaş alanı.
apptable ATxmega cihazlarının uygulama tablosu flaş alanı.
boot ATxmega cihazlarının önyükleme flaş alanı.
prodsig ATxmega cihazlarının üretim imzası (kalibrasyon) alanı.
usersig ATxmega cihazlarının kullanıcı imza alanı.

The op alanı, hangi işlemin gerçekleştirileceğini belirtir:

r cihaz hafızasını oku ve belirtilen dosyaya yaz

w belirtilen dosyadan veri oku ve cihaz hafızasına yaz

v hem cihazdan hem de belirtilen dosyadan verileri okuyun ve bir
doğrulamak

The Dosya alan, okunacak veya yazılacak dosyanın adını belirtir. NS
biçim alan isteğe bağlıdır ve okunacak veya yazılacak dosyanın biçimini içerir.
oluşturulan şunlardan biri olabilir:

i Intel Hex

s Motorola S kaydı

r ham ikili; flash ROM verileri durumunda küçük endian bayt sırası

e ELF (Yürütülebilir ve Bağlanabilir Format)

m acil; ile ayrılmış, komut satırında belirtilen gerçek bayt değerleri
virgül veya boşluk. Bu, sigorta baytlarını sahip olmadan programlamak için iyidir.
tek baytlık bir dosya oluşturmak veya terminal moduna girmek için.

a Otomatik tespit; yalnızca giriş için geçerlidir ve yalnızca giriş sağlanmadıysa
at stdin.

d ondalık; bu ve aşağıdaki biçimler yalnızca çıktıda geçerlidir. Onlar
ilgili bellek bölümü için bir çıktı satırı oluşturarak bir
değerlerin virgülle ayrılmış listesi. Bu özellikle aşağıdakiler için yararlı olabilir:
sigorta biti ayarları gibi sonraki işlemler.

h onaltılık; her değer dizeyi alacak 0x önceden eklendi.

o sekizli; her değer bir alacak 0 8 inçten az olmadığı sürece başa eklenir
bu durumda önek almaz.

b ikili; her değer dizeyi alacak 0b önceden eklendi.

Varsayılan, girdi dosyaları ve ham ikili biçim için otomatik algılamayı kullanmaktır.
çıktı dosyaları için. Dikkat edin, eğer Dosya bir kolon içerir, biçim alan
iki nokta üst üste işaretini takip eden dosya adı bölümü aksi takdirde artık isteğe bağlı değildir.
olarak yanlış yorumlanmak biçim.

Herhangi bir tür flash bellek alanını okurken (çeşitli alt alanlar dahil)
Xmega cihazları), sonuçtaki çıktı dosyası, içermemesi için kesilecektir.
programlanmamış (silinmiş) belleği gösteren sondaki 0xFF bayt. Böylece, eğer
tüm bellek programlanmamıştır, bu,
içeriği hiç.

Kısaltma olarak, form -U Dosya belirtmekle eşdeğerdir -U
flash:w:dosya adı:a. Bu, yalnızca şu durumlarda işe yarar: Dosya içinde kolon yok
bunu.

-v Ayrıntılı çıktıyı etkinleştirin. Daha -v seçenekler ayrıntı düzeyini artırır.

-V Verileri yüklerken otomatik doğrulama kontrolünü devre dışı bırakın.

-x genişletilmiş_param
Geçiş genişletilmiş_param genişletilmiş olarak seçilen programcı uygulamasına
parametre. Genişletilmiş parametrenin yorumlanması aşağıdakilere bağlıdır:
programcının kendisi. Genişletilmiş kabul eden programcıların listesi için aşağıya bakın
parametreleri.

terminal kip
Bu modda, Avrdude yalnızca MCU ile iletişimi başlatır ve ardından kullanıcıyı bekler
standart girişte komutlar. Komutlar ve parametreler en kısa şekilde kısaltılabilir.
belirsiz formu. Terminal modu kullanarak bir komut geçmişi sağlar taleb(3), yani daha önce
girilen komut satırları geri çağrılabilir ve düzenlenebilir. Aşağıdaki komutlar şu anda
uygulandı:

dökmek memtipi adr nbayt
Okumak nbayt belirtilen bellek alanından baytlar ve bunları
olağan onaltılık ve ASCII formu.

dökmek Bir başkası için bellek içeriğini boşaltmaya devam edin nbayt önceki nerede
dökmek komutu bıraktı.

yazmak memtipi adr bayt1 Kendi ID’n ile mağazalarını oluştur baytN
Adresten başlayarak ilgili bellek hücrelerini manuel olarak programlayın adrKullanılarak
değerler bayt1 içinden baytN. Bu özellik banka-
ATMega cihazlarının flash belleği gibi adreslenmiş bellekler.

Sil Bir çip silme işlemi gerçekleştirin.

göndermek b1 b2 b3 b4
AVR cihazına ham talimat kodları gönderin. Bir özelliğe erişmeniz gerekiyorsa
tarafından doğrudan desteklenmeyen bir AVR parçasının Avrdude, bu komut izin verir
kullansan bile Avrdude komutu uygulamaz. Kullanırken
doğrudan SPI modu, 3 bayta kadar atlanabilir.

sig Cihaz imza baytlarını görüntüleyin.

balon Doğrudan SPI moduna girin. NS pgmled pin, bağımlı seçim görevi görür. Bir tek destekli
on paralel bit patlaması programcılar.

Bölüm Mevcut parça ayarlarını ve parametrelerini görüntüleyin. Çipe özgü içerir
cihaz tarafından desteklenen tüm bellek türleri dahil olmak üzere bilgi, okuma/yazma
zamanlama vb.

pgm Programlama moduna dönün (doğrudan SPI modundan).

vtarg Voltaj
Hedefin besleme voltajını şuna ayarlayın: Voltaj Volt. Bir tek destekli on the
STK500 ve STK600 programcı.

varef [kanal] Voltaj
Ayarlanabilir voltaj kaynağını Voltaj Volt. Bu voltaj normalde
hedefi sürmek için kullanılır aref STK500'e giriş yapın. Atmel STK600'de iki
İsteğe bağlı olarak seçilebilen referans voltajları mevcuttur
kanal argüman (0 veya 1). Bir tek destekli on the STK500 ve STK600
programcı.

odak frekansı[M|k]
Ana osilatörü şu şekilde ayarlayın: frekansı Hz. İsteğe bağlı bir sondaki harf M
sondaki harf olan 1E6 ile çarpılır k 1E3 tarafından. Bir tek destekli on the STK500
ve STK600 programcı.

odak kapalı
Ana osilatörü kapatın. Bir tek destekli on the STK500 ve STK600
programcı.

ssk dönem
STK500 ve STK600 programcı Sadece: SCK saat periyodunu şu şekilde ayarlayın: dönem
mikrosaniye.

JTAG ICE Sadece: JTAG ICE bit saat periyodunu şu şekilde ayarlayın: dönem mikrosaniye. Not
STK500 ayarlarından farklı olarak bu ayarın varsayılana döndürüleceğini
programlama yazılımı oturumu kapattığında değer (yaklaşık 1 mikrosaniye)
JTAG ICE'den. Bu parametre JTAG ICE mkII'de de kullanılabilir,
ICE'yi çalıştırırken ISP saat periyodunu belirtmek için JTAGICE3 ve Atmel-ICE
ISP modunda.

parmlar STK500 ve STK600 programcı Sadece: Mevcut voltajı ve master'ı göster
osilatör parametreleri.

JTAG ICE Sadece: Mevcut hedef besleme voltajını ve JTAG bit saatini görüntüleyin
oran/dönem.

gereksiz sözlerle dolu [seviye]
Değiştir (ne zaman seviye sağlanır) veya ayrıntı düzeyini görüntüleyin. İlk
ayrıntı düzeyi, sayı tarafından kontrol edilir. -v üzerinde verilen seçenekler
Komut satırı.

?

yardım et Mevcut komutların kısa bir çevrimiçi özetini verin.

çıkmak Terminal modundan çıkın ve böylece Avrdude.

Varsayılan Paralel Liman toplu iğne bağlantıları
(bunlar değiştirilebilir, bkz. -c opsiyon)
Pin numara işlev
2-5 Vcc (MCU'ya isteğe bağlı güç kaynağı)
7 /RESET (MCU'ya)
8 SCK (MCU'ya)
9 MOSI (MCU'ya)

10 MISO (MCU'dan)
18-25 GND

hata ayıklama teli sınırlamaları
debugWire protokolü, Atmel'in tescilli tek kablolu (artı toprak) protokolüdür.
'/RESET' satırını kullanarak daha küçük AVR cihazlarının devre içi öykünmesi. DebugWire modu
'DWEN' sigortası etkinleştirilerek ve ardından hedefi kapatıp açarak başlatılır. Bu mod yapılırken
esas olarak hata ayıklama/öykünme amaçlıdır, ayrıca sınırlı programlama yetenekleri sunar.
Etkili olarak, bu modda okunabilen veya programlanabilen tek bellek alanı flash ROM'dur.
ve EEPROM. İmzayı okumak da mümkündür. Diğer tüm bellek alanları
erişilebilir. yok yonga Sil debugWire modunda işlevsellik; bunun yerine, süre
flash ROM'un yeniden programlanması, her bir flash ROM sayfası, güncellemeden hemen önce silinir. Bu
JTAG ICE mkII (veya AVR Dragon) tarafından şeffaf bir şekilde yapılır. tek dönüş yolu
debugWire modu, JTAG ICE mkII'ye (veya AVR'ye) özel bir komut dizisi başlatmaktır.
Dragon), böylece debugWire modu geçici olarak devre dışı bırakılır ve hedefe erişilebilir
normal ISS programlama kullanarak. Bu dizi, JTAG kullanılarak otomatik olarak başlatılır.
ICE mkII veya AVR Dragon, ISP moduna girilemediğini algıladıklarında ISP modunda.

FLIP versiyon 1 tuhaflıklarıyla
FLIP protokolü sürüm 1'i kullanan önyükleyiciler, bazı çok özel davranışlarla karşılaşır.

Bu önyükleyicilerin Flash ve EEPROM dışındaki bellek alanlarına erişme seçeneği yoktur.

Önyükleyici başlatıldığında, bir güvenlik kip tek kabul edilebilir erişim nerede
(AVR'de imza için kullanılan) cihaz konfigürasyon parametrelerini sorgulamaktır.
cihazlar). Bu moddan çıkmanın tek yolu bir yonga Sil. Bir çip silme normal olarak
tarafından ima edilen -U seçeneği, flaşı yeniden programlarken bu özellik çok fazla olmayabilir.
hemen belli.

Bazen, güvenlik modu zaten devre dışı bırakılmış bir önyükleyici artık yanıt vermiyor gibi görünüyor.
mantıklı yapılandırma verileri, ancak tüm sorgular için yalnızca 0xFF. Bu sorgular kullanıldığı için
imzanın eşdeğerini elde etmek, Avrdude bu durumda ancak zorlayarak devam edebilir
ile geçersiz kılınacak imza kontrolü -F seçeneği.

A yonga Sil EEPROM'u, en azından önyükleyicinin bazı sürümlerinde silinmeden bırakabilir.

Programcılar kabul genişletilmiş parametreler
JTAG ICE mkll

JTAGICE3

Atmel-ICE

AVR Ejderha
JTAG ICE mkII, JTAGICE3, Atmel-ICE veya AVR Dragon'u JTAG modunda kullanırken,
aşağıdaki genişletilmiş parametre kabul edilir:

jtagchain=UB,UA,BB,BA
için JTAG tarama zincirini kurun. UB önce birimler, UA birimler sonra,
BB önce bit ve BA sırasıyla hedef AVR'den sonraki bitler.
Zincir içindeki her AVR birimi 4 bit kaydırılır. Diğer JTAG
birimler farklı bir bit kaydırma sayımı gerektirebilir.

AVR910

devcode=DEĞER
kullanarak cihaz kodu seçimini geçersiz kılın. DEĞER cihaz olarak
kod. Programcı, desteklenenlerin listesi için sorgulanmaz.
cihaz kodları ve belirtilen DEĞER doğrulanmadı ama kullanıldı
doğrudan programcıya gönderilen 'T' komutu içinde. DEĞER
C'nin geleneksel sayı gösterimi kullanılarak belirtilebilir
Programlama dili.

no_blockmode
Blok aktarım yeteneği için varsayılan denetimi devre dışı bırakır.
kullanım no_blockmode sadece senin AVR910 programcı hatalar oluşturur
ilk sıra sırasında.

nefes almak

sıfırla={cs,aux,aux2}
Varsayılan kurulum, BusPirate'in CS çıkış pinini varsayar
AVR tarafındaki RESET pinine bağlanır. Ancak mümkün
MISO, MOSI ile aynı BP'ye bağlı birden fazla AVR'ye sahip olmak
ve hepsi için ortak olan SCK çizgileri. Böyle bir durumda bir AVR
RESET'inin BusPirate'e bağlı olması gerekir CS iğne, ikinci
AVR'nin RESET'i BusPirate'e bağlı AUX pin ve eğer senin
BusPirate'de bir YARDIMCI 2 pin (yalnızca BusPirate versiyonunda mevcuttur)
Firmware 1 veya daha yenisine sahip v3.0a) üzerinde RESET'i etkinleştirmek için bunu kullanın.
üçüncü AVR.

BusPirate ve AVR'leri ayırmak iyi bir fikir olabilir.
3 durumlu bir veri yolu arabelleği kullanarak birbirinden SPI veriyolları. İçin
örnek 74HC125 veya 74HC244, aşağıdakiler için iyi adaylardır:
uygun sıfırlama pimi (cs, aux veya aux2) tarafından sürülen mandallar.
Aksi takdirde, bir aktif devredeki SPI trafiği karışabilir.
AVR'yi diğer tasarımda programlama ile.

spifreq=<0..7>
Bus Pirate'in ikili SPI modu için SPI hızı:

0 .. 30 kHz (varsayılan)
1 .. 125 kHz
2 .. 250 kHz
3 .. 1 Mhz
4 .. 2 Mhz
5 .. 2.6 Mhz
6 .. 4 Mhz
7 .. 8 Mhz

ham frekans=<0..3>
SPI hızını ayarlar ve Bus Pirate'in ikili "ham telini" kullanır
modu:

0 .. 5 kHz
1 .. 50 kHz
2 .. 100 kHz (Yalnızca Firmware v4.2+)
3 .. 400 kHz (v4.2+)

"Ham tel" modunun tek avantajı, farklı SPI
frekanslar mevcuttur. Sayfalı yazma bu uygulamada uygulanmaz
modu.

ascii Bellenim desteklediğinde bile ASCII modunu kullanmaya çalışın
BinMode (ikili mod). BinMode, üretici yazılımı 2.7'de desteklenir ve
daha yeni, daha eski FW'ler ya BinMode'a sahip değil ya da BinMode'ları
buggy. ASCII modu daha yavaştır ve yukarıdakileri yapar sıfırla=, sivri frekans =
ve ham frekans= parametreler kullanılamıyor. ASCII modunun
daha yeni bellenim sürümleriyle çalışacağı garanti edilmez ve
yalnızca eski bellenim ile uyumluluğu korumak için tutulur
sürümleri.

sayfasız yazma
Firmware sürümleri 5.10 ve daha yenisi, ikili mod SPI'sini destekler
tüm sayfaların AVR flash'a yazılmasını sağlayan komut
bellekte bir kerede, önemli bir yazma hızı artışı ile sonuçlanır.
Bu modun kullanımı herhangi bir nedenle istenmiyorsa, bu
seçeneği devre dışı bırakır.

sayfa okuması yok
Daha yeni bellenim sürümleri, ikili modda SPI komutunu destekler, bazıları
AVR Genişletilmiş Komutları. "Flash'tan Toplu Bellek Okuma" özelliğini kullanma
önemli bir okuma hızı artışı ile sonuçlanır. Bunun kullanımı ise
modu herhangi bir nedenle istenmez, bu seçenek onu devre dışı bırakır.

işlemci frekansı=<125..4000>
Bu, AUX pinini bir frekans çıkışı verecek şekilde ayarlar. n kHz. Bağlanıyor
AUX pinini MCU'nuzun XTAL1 pinine bağlayarak, ona bir
saat, örneğin harici bir saate ihtiyaç duyduğunda
yanlış sigorta ayarları. CPU frekansının en az olduğundan emin olun.
SPI frekansının dört katı.

serial_recv_timeout=<1...>
Bu, seri alma zaman aşımını verilen değere ayarlar. NS
avrdude BusPirate'i her beklediğinde zaman aşımı oluyor
çabuk. Özellikle ascii modunda bu çok sık olur, yani
daha küçük bir değer ayarlamak programlamayı çok hızlandırabilir. NS
varsayılan değer 100ms'dir. 10ms kullanmak çoğu durumda işe yarayabilir.

Kablolama Kablolama programlayıcı tipini kullanırken, aşağıdaki isteğe bağlı genişletilmiş
parametre kabul edilir:

erteleme=<0..32767>
Bağlantı noktası açma aşamasını gerçekleştirdikten sonra, AVRDUDE bekleyecek/erteleyecektir.
için şekerleme protokol senkronizasyonuna devam etmeden önce milisaniye
faz. Aşağıdaki durumlarda DTR/RTS arasında geçiş yapılmaz: şekerleme daha büyüktür
0'dan küçük.

PICkit2
PICkit2 programlayıcıya bağlantı:

(AVR) (PICkit2)
RST - VPP/MCLR (1)
VDD - VDD Hedefi (2) -- AVR kendinden güç alıyorsa muhtemelen isteğe bağlıdır
GND - GND (3)
MİSO - PGD (4)
SCLK-PDC (5)
MOSI - YARDIMCI (6)

Genişletilmiş komut satırı parametreleri:

saat hızı=
SPI saat hızı hızını Hz olarak ayarlar (varsayılan 100kHz'dir).
Alternatif olarak, periyodu ayarlamak için -B veya -i seçenekleri kullanılabilir.

zaman aşımı=
USB okuma ve yazma zaman aşımını milisaniye cinsinden ayarlar
(varsayılan 1500 ms'dir).

onworks.net hizmetlerini kullanarak avrdude'u çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad