Ini ialah arahan avrdude yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
avrdude — program pemacu untuk pengaturcara MCU ``simple'' Atmel AVR
SINOPSIS
avrdude -p partno [-b kadar baud] [-B bitclock] [-c pengaturcara-id] [-C fail konfigurasi] [-D] [-e]
[-E exitspec[,exitspec]] [-F] [-i kelewatan] [-n -fail log] [-n] [-O] [-P pelabuhan] [-q] [-s]
[-t] [-u] [-U memtype:op:filename:filefmt] [-v] [-x extended_param] [-V]
DESCRIPTION
Avrdude ialah program untuk memuat turun kod dan data ke mikropengawal Atmel AVR. Avrdude
menyokong pengaturcara STK500 Atmel, peranti AVRISP dan AVRISP mkII Atmel, STK600 Atmel,
JTAG ICE Atmel (mkI, mkII dan 3, dua yang terakhir juga dalam mod ISP), pengaturcara mematuhi
kepada AppNote AVR910 dan AVR109 (termasuk Butterfly), serta mudah berwayar keras
pengaturcara disambungkan terus ke a ppi(4) atau bahagian(4) port selari, atau dengan standard
port bersiri. Dalam kes yang paling mudah, perkakasan hanya terdiri daripada kabel yang menyambungkan
garis isyarat AVR masing-masing ke port selari.
MCU diprogramkan dalam siri pengaturcaraan mod, jadi, untuk ppi(4) pengaturcara berasaskan, yang
Isyarat MCU '/RESET', 'SCK', 'MISO' dan 'MOSI' perlu disambungkan ke port selari.
Secara pilihan, beberapa pin keluaran yang tidak digunakan bagi port selari boleh digunakan untuk membekalkan
kuasa untuk bahagian MCU, jadi ia juga mungkin untuk membina kendiri pasif
peranti pengaturcaraan. Beberapa status LED menunjukkan keadaan operasi semasa
pengaturcara boleh disambungkan, dan isyarat tersedia untuk mengawal penampan/pemacu IC 74LS367
(atau 74HCT367). Yang terakhir boleh berguna untuk memisahkan port selari dari MCU apabila di-
pengaturcaraan sistem digunakan.
Sebilangan penyesuai pengaturcaraan bit-bang yang sama mudah yang disambungkan ke port bersiri ialah
disokong juga, antaranya penyesuai bersiri Ponyprog yang popular, dan DASA dan DASA3
penyesuai yang dahulunya disokong oleh uisp(1). Ambil perhatian bahawa penyesuai ini dimaksudkan untuk menjadi
dilampirkan pada port bersiri fizikal. Menyambung ke port bersiri yang dicontohi di atas USB adalah
berkemungkinan tidak berfungsi sama sekali, atau bekerja dengan sangat perlahan.
Jika anda mempunyai sistem Linux dengan sekurang-kurangnya 4 GPIO perkakasan tersedia (seperti hampir
semua papan Linux terbenam) anda boleh lakukan tanpa sebarang perkakasan tambahan - hanya sambungkannya ke
PIN MOSI, MISO, RESET dan SCK pada AVR dan gunakan jenis pengaturcara linuxgpio. Ia
bitbangs baris menggunakan antara muka Linux sysfs GPIO. Sudah tentu, penjagaan harus diambil
tentang keserasian aras voltan. Juga, walaupun tidak diwajibkan secara ketat, ia sangat diperlukan
dinasihatkan untuk melindungi pin GPIO daripada situasi arus lebih dalam beberapa cara. Yang paling mudah
adalah dengan meletakkan beberapa perintang secara bersiri atau lebih baik menggunakan pemacu penimbal 3 keadaan seperti
74HC244. Lihatlah http://kolev.info/avrdude-linuxgpio untuk tutorial yang lebih terperinci
tentang menggunakan jenis pengaturcara ini.
Pengaturcara STK500 Atmel juga disokong dan bersambung ke port bersiri. Kedua-duanya, firmware
versi 1.x dan 2.x boleh dikendalikan, tetapi memerlukan spesifikasi jenis pengaturcara yang berbeza
(setakat ini). Menggunakan perisian tegar versi 2, pengaturcaraan voltan tinggi juga disokong, kedua-duanya
selari dan bersiri (jenis pengaturcara stk500pp dan stk500hvsp).
Papan pendawaian disokong, menggunakan protokol STK500 V2.x, tetapi togol DTR/RTS mudah adalah
digunakan untuk menetapkan papan ke dalam mod pengaturcaraan. Jenis pengaturcara ialah ``pendawaian''.
Arduino (yang hampir sama dengan STK500 1.x) disokong melalui pengaturcaranya sendiri
jenis spesifikasi ``arduino''.
BusPirate ialah alat serba boleh yang juga boleh digunakan sebagai pengaturcara AVR. bujang
BusPirate boleh disambungkan kepada sehingga 3 AVR bebas. Lihat bahagian pada dilanjutkan
parameter di bawah untuk keterangan.
Pengaturcara STK600 Atmel disokong dalam ISP dan mod pengaturcaraan voltan tinggi, dan
menyambung melalui USB. Untuk peranti ATxmega, STK600 disokong dalam mod PDI. Untuk
Peranti ATtiny4/5/9/10, STK600 dan AVRISP mkII disokong dalam mod TPI.
Pengaturcara bersiri ringkas yang diterangkan dalam nota aplikasi Atmel AVR910, dan
pemuat but diterangkan dalam nota aplikasi Atmel AVR109 (yang juga digunakan oleh AVR
Papan penilaian rama-rama), disokong pada port bersiri.
JTAG ICE Atmel (mkI, mkII, dan 3) juga disokong untuk meningkatkan atau memuat turun kawasan memori
dari/ke sasaran AVR (tiada sokongan untuk penyahpepijatan pada cip). Untuk JTAG ICE mkII, JTAG,
mod debugWire dan ISP disokong, dengan syarat ia mempunyai semakan perisian tegar sekurang-kurangnya 4.14
(perpuluhan). JTAGICE3 juga menyokong semua mod JTAG, debugWIRE dan ISP. Lihat di bawah untuk
had debugWire. Untuk peranti ATxmega, JTAG ICE mkII disokong dalam mod PDI,
dengan syarat ia mempunyai semakan 1 perkakasan dan versi perisian tegar sekurang-kurangnya 5.37 (perpuluhan). Untuk
Peranti ATxmega, JTAGICE3 disokong dalam mod PDI.
Atmel-ICE (ARM/AVR) disokong dalam semua mod (JTAG, PDI untuk Xmega, debugWIRE, ISP).
Papan XplainedPro Atmel, menggunakan protokol EDBG (serasi CMSIS-DAP), disokong
menggunakan jenis pengaturcara "jtag3".
AVR Dragon disokong dalam semua mod (ISP, JTAG, HVSP, PP, debugWire). Apabila digunakan dalam
Mod JTAG dan debugWire, AVR Dragon berkelakuan serupa dengan JTAG ICE mkII, jadi semua peranti-
ulasan khusus untuk peranti itu akan digunakan juga. Apabila digunakan dalam mod ISP, AVR Dragon
berkelakuan serupa dengan AVRISP mkII (atau JTAG ICE mkII dalam mod ISP), jadi semua peranti khusus
komen akan digunakan di sana. Khususnya, Naga bermula dengan ISP yang agak pantas
kekerapan jam, jadi -B bitclock pilihan mungkin diperlukan untuk mencapai ISP yang stabil
komunikasi. Untuk peranti ATxmega, AVR Dragon disokong dalam mod PDI, dengan syarat ia
mempunyai versi perisian tegar sekurang-kurangnya 6.11 (perpuluhan).
Penyesuai avrftdi, USBasp ISP dan USBtinyISP juga disokong, disediakan avrdude mempunyai
telah disusun dengan sokongan libusb. USBasp ISP dan USBtinyISP kedua-duanya menampilkan perisian tegar mudah-
hanya pelaksanaan USB, berjalan pada ATmega8 (atau ATmega88), atau ATtiny2313, masing-masing.
Jika libftdi telah disusun dalam avrdude, peranti avrftdi menambah sokongan untuk banyak orang
pengaturcara menggunakan bahagian FTDI 2232C/D/H dan 4232H berjalan dalam mod MPSSE, yang kod keras
(dalam cip) SCK kepada bit 1, MOSI kepada bit 2, dan MISO kepada bit 3. Tetapkan semula biasanya bit 4.
Pemuat but Atmel DFU disokong dalam kedua-duanya, protokol FLIP versi 1 (AT90USB* dan
Peranti ATmega*U*), serta versi 2 (peranti Xmega). Lihat di bawah untuk beberapa petunjuk tentang
Tingkah laku protokol FLIP versi 1.
Fail input boleh disediakan, dan fail output boleh ditulis dalam format fail yang berbeza, seperti
sebagai fail binari mentah yang mengandungi data untuk dimuat turun ke cip, format hex Intel, atau
Format Motorola S-record. Terdapat beberapa alat yang tersedia untuk menghasilkan fail tersebut,
seperti asl(1) sebagai pemasang kendiri, atau avr-objcopy(1) untuk peringkat akhir GNU
rantai alat untuk mikropengawal AVR.
Syarat fitnah(3) hadir semasa menyusun avrdude, fail input juga boleh menjadi yang terakhir
Fail ELF seperti yang dihasilkan oleh pemaut. Bahagian ELF yang sesuai akan diperiksa,
mengikut kawasan ingatan untuk menulis.
Avrdude boleh memprogramkan EEPROM dan sel memori flash ROM bahagian AVR yang disokong. di mana
disokong oleh set arahan bersiri, bit fius dan bit kunci boleh diprogramkan juga.
Ini dilaksanakan dalam avrdude sebagai jenis memori yang berasingan dan boleh diprogramkan menggunakan
data daripada fail (lihat -m pilihan) atau daripada mod terminal (lihat bahagian membuang and menulis
perintah). Ia juga mungkin untuk membaca cip (dengan syarat ia tidak dilindungi kod
sebelumnya, sudah tentu) dan simpan data dalam fail. Akhirnya, mod ``terminal' adalah
tersedia yang membolehkan seseorang berkomunikasi secara interaktif dengan MCU, dan untuk memaparkan atau
atur cara sel memori individu. Pada pengaturcara STK500 dan STK600, beberapa operasi
parameter (voltan bekalan sasaran, voltan Aref sasaran, jam induk) boleh diperiksa dan
ditukar dari dalam mod terminal juga.
Pilihan
Untuk mengawal semua modi operasi yang berbeza, beberapa pilihan perlu
dinyatakan kepada avrdude.
-p partno
Ini adalah satu-satunya pilihan yang wajib untuk setiap seruan avrdude. ia
menentukan jenis MCU yang disambungkan kepada pengaturcara. Ini dibaca
daripada fail konfigurasi. Untuk jenis MCU yang disokong pada masa ini gunakan ? sebagai partno, ini
akan mencetak senarai id partno dan nama bahagian rasmi pada terminal. (Kedua-duanya
boleh digunakan dengan pilihan -p.)
Bahagian berikut memerlukan perhatian khusus:
AT90S1200 Protokol pengaturcaraan ISP AT90S1200 berbeza secara halus
cara daripada AVR lain. Oleh itu, tidak semua pengaturcara menyokong
peranti ini. Dikenali bekerja adalah semua pengaturcara bitbang langsung,
dan semua pengaturcara bercakap protokol STK500v2.
AT90S2343 AT90S2323 dan ATtiny22 menggunakan algoritma yang sama.
ATmega2560, ATmega2561
Pengalamatan denyar melebihi 128 KB tidak disokong oleh semua pengaturcaraan
perkakasan. Diketahui berfungsi ialah jtag2, stk500v2, dan bit-bang
pengaturcara.
ATtiny11 ATtiny11 hanya boleh diprogramkan dalam mod bersiri voltan tinggi.
-b kadar baud
Gantikan kadar baud sambungan RS-232 yang dinyatakan dalam masing-masing
kemasukan pengaturcara bagi fail konfigurasi.
-B bitclock
Tentukan tempoh jam bit untuk antara muka JTAG atau jam ISP (JTAG ICE
sahaja). Nilai ialah nombor titik terapung dalam mikrosaat. Sebagai alternatif,
nilai itu mungkin diakhiri dengan "Hz", "kHz", atau "MHz", untuk menentukan
kekerapan jam bit, bukannya noktah. Nilai lalai JTAG
ICE menghasilkan kira-kira 1 tempoh jam bit mikrosaat, sesuai untuk MCU sasaran
berjalan pada jam 4 MHz dan ke atas. Tidak seperti parameter tertentu dalam STK500,
JTAG ICE menetapkan semula semua parameternya kepada nilai lalai apabila pengaturcaraan
perisian ditandatangani dari ICE, jadi untuk MCU berjalan pada kelajuan jam yang lebih rendah,
parameter ini mesti dinyatakan pada baris arahan. Anda boleh menggunakan
kata kunci 'default_bitclock' dalam anda ${HOME}/.avrduderc fail untuk menetapkan lalai
nilai yang perlu disimpan daripada perlu menentukan pilihan ini pada setiap seruan.
-c pengaturcara-id
Gunakan pengaturcara yang ditentukan oleh hujah. Pengaturcara dan pin mereka
konfigurasi dibaca dari fail konfigurasi (lihat -C pilihan). Pin baharu
konfigurasi boleh ditambah atau diubah suai dengan mudah melalui penggunaan konfigurasi
fail untuk dibuat avrdude bekerja dengan pengaturcara yang berbeza selagi pengaturcara
menyokong kaedah program bersiri Atmel AVR. Anda boleh menggunakan
kata kunci 'default_programmer' dalam anda ${HOME}/.avrduderc fail untuk diberikan a
pengaturcara lalai supaya tidak perlu menentukan pilihan ini pada setiap
seruan. Senarai penuh semua pengaturcara yang disokong adalah output ke
terminal dengan menggunakan ? sebagai programmer-id.
-C fail konfigurasi
Gunakan fail konfigurasi yang ditentukan untuk memuatkan data konfigurasi. Fail ini mengandungi
semua pengaturcara dan definisi bahagian yang avrdude tahu tentang. Jika anda mempunyai a
pengaturcara atau bahagian itu avrdude tidak tahu tentang, anda boleh menambahnya pada
config (pastikan dan serahkan patch kembali kepada pengarang supaya ia boleh
diperbadankan untuk versi seterusnya). Lihat fail konfigurasi, terletak di
/etc/avrdude.conf, yang mengandungi perihalan format.
If fail konfigurasi ditulis sebagai +nama fail maka fail ini dibaca selepas sistem
luas dan fail konfigurasi pengguna. Ini boleh digunakan untuk menambah entri ke
konfigurasi tanpa menampal fail konfigurasi seluruh sistem anda. Ia boleh menjadi
digunakan beberapa kali, fail dibaca dalam susunan yang sama seperti yang diberikan pada arahan
line.
-D Lumpuhkan pemadaman automatik untuk denyar. Apabila -U pilihan dengan memori kilat ialah
dinyatakan, avrdude akan melakukan pemadaman cip sebelum memulakan mana-mana
operasi pengaturcaraan, kerana secara amnya adalah satu kesilapan untuk memprogramkan denyar
tanpa melakukan pemadaman terlebih dahulu. Pilihan ini melumpuhkan itu. Padam automatik adalah
tidak digunakan untuk peranti ATxmega kerana peranti ini boleh menggunakan pemadam halaman sebelum ini
menulis setiap halaman supaya tiada pemadaman cip yang jelas diperlukan. Perhatikan bagaimanapun bahawa
mana-mana halaman yang tidak terjejas oleh operasi semasa akan mengekalkan halaman sebelumnya
kandungan.
-e Menyebabkan pemadaman cip dilaksanakan. Ini akan menetapkan semula kandungan denyar
ROM dan EEPROM kepada nilai '0xff', dan kosongkan semua bit kunci. Kecuali untuk
Peranti ATxmega yang boleh menggunakan pemadaman halaman, pada dasarnya adalah prasyarat
arahan sebelum ROM kilat boleh diprogramkan semula. Satu-satunya pengecualian
adalah jika kandungan baharu secara eksklusif akan menyebabkan bit diprogramkan
daripada nilai '1' hingga '0'. Ambil perhatian bahawa untuk memprogram semula sel EERPOM, tidak
pemadaman cip terdahulu yang jelas diperlukan kerana MCU menyediakan pemadaman automatik
kitaran dalam kes itu sebelum memprogramkan sel.
-E exitspec[,exitspec]
Secara lalai, avrdude meninggalkan pelabuhan selari dalam keadaan yang sama di pintu keluar
telah ditemui pada permulaan. Pilihan ini mengubah suai keadaan '/RESET' dan
Garis 'Vcc' port selari ditinggalkan, mengikut exitspec hujah
disediakan, seperti berikut:
menetapkan semula Isyarat '/RESET' akan dibiarkan diaktifkan pada program keluar, iaitu
ia akan diadakan rendah, untuk memastikan MCU dalam keadaan tetapan semula
selepas itu. Perhatikan khususnya bahawa algoritma pengaturcaraan untuk
peranti AT90S1200 memberi mandat bahawa isyarat '/RESET' aktif
sebelum membekalkan kuasa kepada MCU, jadi sekiranya terdapat bekalan kuasa luaran
digunakan untuk jenis MCU ini, seruan sebelumnya avrdude dengan ini
pilihan yang dinyatakan adalah salah satu cara yang mungkin untuk menjamin ini
keadaan.
noreset Talian '/RESET' akan dinyahaktifkan semasa keluar program, dengan itu membenarkan
program sasaran MCU untuk dijalankan sementara perkakasan pengaturcaraan kekal
disambungkan.
vcc Pilihan ini akan membiarkan pin port selari tersebut aktif (cth tinggi)
yang boleh digunakan untuk membekalkan kuasa 'Vcc' kepada MCU.
novcc Pilihan ini akan menarik pin 'Vcc' port selari ke bawah
keluar program.
d_tinggi Pilihan ini akan membiarkan 8 pin data pada port selari aktif.
(iaitu tinggi)
d_rendah Pilihan ini akan membiarkan 8 pin data pada port selari tidak aktif.
(iaitu rendah)
Pelbagai exitspec hujah boleh dipisahkan dengan koma.
-F Biasanya, avrdude cuba mengesahkan bahawa tandatangan peranti dibaca dari bahagian tersebut
adalah munasabah sebelum meneruskan. Oleh kerana ia boleh berlaku dari semasa ke semasa bahawa a
peranti mempunyai tandatangan peranti yang rosak (terpadam atau ditulis ganti) tetapi sebaliknya
beroperasi seperti biasa, pilihan ini disediakan untuk mengatasi cek. Juga, untuk
pengaturcara seperti Atmel STK500 dan STK600 yang boleh melaraskan parameter setempat
kepada alat pengaturcaraan (bebas daripada sambungan sebenar kepada sasaran
pengawal), pilihan ini boleh digunakan bersama dengan -t untuk meneruskan di terminal
mod.
-i kelewatan
Untuk pengaturcara jenis bitbang, tangguhkan lebih kurang kelewatan mikrodetik
antara setiap perubahan keadaan bit. Jika sistem hos sangat pantas, atau sasaran
menjalankan jam yang perlahan (seperti kristal 32 kHz, atau RC dalaman 128 kHz
pengayun), ini boleh menjadi perlu untuk memenuhi keperluan bahawa ISP
kekerapan jam mestilah tidak lebih tinggi daripada 1/4 daripada frekuensi jam CPU. ini
dilaksanakan sebagai kelewatan gelung putaran untuk membenarkan walaupun untuk kelewatan yang sangat singkat. hidup
Sistem pengendalian gaya Unix, gelung putaran pada mulanya ditentukur terhadap a
pemasa sistem, jadi bilangan mikrosaat mungkin agak realistik,
dengan mengandaikan beban sistem malar manakala avrdude adalah berlari. Pada operasi Win32
sistem, bilangan kitaran yang diprakonfigurasikan setiap mikrosaat diandaikan bahawa
mungkin tidak berfungsi sedikit untuk mesin yang sangat laju atau sangat perlahan.
-l fail log
Penggunaan fail log daripada stderr untuk output diagnostik. Perhatikan permulaan itu
mesej diagnostik (semasa penghuraian pilihan) masih ditulis kepada stderr
anyway.
-n No-write - melumpuhkan sebenarnya menulis data ke MCU (berguna untuk penyahpepijatan
avrdude ).
-O Lakukan penentukuran masa larian pengayun RC mengikut aplikasi Atmel
nota AVR053. Ini hanya disokong pada STK500v2, AVRISP mkII dan JTAG
Perkakasan ICE mkII. Ambil perhatian bahawa hasilnya akan disimpan dalam sel EEPROM di
alamat 0.
-P pelabuhan
Penggunaan pelabuhan untuk mengenal pasti peranti yang dipasangkan pengaturcara. Oleh
lalai /dev/ppi0 port digunakan, tetapi jika pengaturcara menaip secara normal
menyambung ke port bersiri, yang /dev/cuaa0 port adalah lalai. Jika kamu perlu
untuk menggunakan port selari atau bersiri yang berbeza, gunakan pilihan ini untuk menentukan
nama port ganti.
Pada sistem pengendalian Win32, port selari dirujuk sebagai lpt1 through
lpt3, merujuk kepada alamat 0x378, 0x278 dan 0x3BC, masing-masing. Jika
port selari boleh diakses melalui alamat yang berbeza, alamat ini
boleh ditentukan secara langsung, menggunakan tatatanda bahasa C biasa (iaitu,
nilai perenambelasan diawali dengan '0x' ).
Untuk JTAG ICE mkII dan JTAGICE3, jika avrdude telah dikonfigurasikan dengan libusb
sokongan, pelabuhan alternatif boleh dinyatakan sebagai usb[:serialno]. Ini akan
sebab avrdude untuk mencari pengaturcara pada USB. Jika serialno juga dinyatakan,
ia akan dipadankan dengan nombor siri yang dibaca daripada mana-mana JTAG ICE mkII yang ditemui
pada USB. Perlawanan dilakukan selepas menanggalkan mana-mana titik bertindih yang sedia ada daripada yang diberikan
nombor siri, dan kanan ke kiri, jadi hanya bait paling tidak ketara daripada
nombor siri perlu diberikan.
Memandangkan peranti AVRISP mkII hanya boleh bercakap melalui USB, kaedah yang sama
untuk menentukan pelabuhan diperlukan di sana.
Untuk pengaturcara USB "AVR-Doper" berjalan dalam mod HID, port mestilah
dinyatakan sebagai avrdoper. Sokongan Libusb diperlukan pada Unix tetapi tidak pada Windows.
Untuk maklumat lanjut tentang AVR-Doper lihat
http://www.obdev.at/avrusb/avrdoper.html.
Untuk USBtinyISP, yang merupakan peranti simplistik yang tidak melaksanakan bersiri
nombor, berbilang peranti boleh dibezakan dengan lokasinya dalam USB
hierarki. Lihat masing-masing Penyelesaian masalah entri dalam butiran
dokumentasi untuk contoh.
Untuk pengaturcara yang melekat pada port bersiri menggunakan beberapa jenis tahap yang lebih tinggi
protokol (berbanding dengan pengaturcara gaya bit-bang), pelabuhan boleh dinyatakan sebagai
bersih:tuan rumah:pelabuhan. Dalam kes ini, bukannya cuba membuka peranti tempatan, TCP
sambungan rangkaian ke (TCP) pelabuhan on tuan rumah ditubuhkan. Titik akhir jauh
diandaikan sebagai terminal atau pelayan konsol yang menghubungkan aliran rangkaian
ke port bersiri tempatan di mana pengaturcara sebenar telah dilampirkan. The
port diandaikan dikonfigurasikan dengan betul, contohnya menggunakan lutsinar
Sambungan data 8-bit tanpa pariti pada 115200 Baud untuk STK500.
-q Lumpuhkan (atau padam) output bar kemajuan semasa membaca atau menulis ke
peranti. Tentukan untuk kali kedua untuk operasi yang lebih senyap.
-s Lumpuhkan gesaan mod selamat. Apabila safemode menemui satu atau lebih fius itu
bit telah berubah secara tidak sengaja, ia akan meminta pengesahan mengenai
sama ada ia patut cuba memulihkan bit fius atau tidak. Menentukan ini
flag melumpuhkan gesaan dan menganggap bahawa bit fius harus dipulihkan
tanpa meminta pengesahan terlebih dahulu.
-t Memberitahu avrdude untuk memasuki mod ``terminal'' interaktif dan bukannya naik- atau
memuat turun fail. Lihat di bawah untuk penerangan terperinci tentang mod terminal.
-u Lumpuhkan pemeriksaan bit fius mod selamat. Safemode didayakan secara lalai dan adalah
bertujuan untuk mengelakkan perubahan bit fius yang tidak disengajakan. Apabila didayakan, mod selamat
akan mengeluarkan amaran jika mana-mana bit fius didapati berbeza pada program
keluar daripada mereka ketika itu avrdude telah dipanggil. Safemode tidak akan mengubah bit fius
sendiri, tetapi sebaliknya akan meminta arahan, melainkan terminal tidak
interaktif, dalam hal ini safemode dilumpuhkan. Lihat -s pilihan untuk melumpuhkan
gesaan safemode.
Jika salah satu fail konfigurasi mempunyai baris
default_safemode = tidak;
safemode dilumpuhkan secara lalai. The -u Kesan pilihan dinafikan dalam hal itu
kes, iaitu membolehkan safe mode.
Safemode sentiasa dilumpuhkan untuk peranti AVR32, Xmega dan TPI.
-U memtype:op:nama fail[:format]
Lakukan operasi ingatan seperti yang ditunjukkan. The memtype medan menentukan
jenis memori untuk beroperasi. Jenis memori yang tersedia bergantung pada peranti,
konfigurasi sebenar boleh dilihat dengan sebahagian arahan dalam mod terminal.
Biasanya, konfigurasi memori peranti sekurang-kurangnya mengandungi jenis memori
kilat and eeprom. Semua jenis memori yang diketahui pada masa ini ialah:
penentukuran Satu atau lebih bait data penentukuran pengayun RC.
eeprom EEPROM peranti.
efuse Bait fius yang dilanjutkan.
kilat ROM denyar peranti.
fius Bait fius dalam peranti yang hanya mempunyai satu bait fius tunggal.
hfuse Bait fius tinggi.
lfuse Bait fius rendah.
kunci Bait kunci.
tandatangan Tiga bait tandatangan peranti (ID peranti).
fiusN Bait fius peranti ATxmega, N ialah nombor integer untuk
setiap fius disokong oleh peranti.
aplikasi Kawasan denyar aplikasi peranti ATxmega.
apptable Kawasan denyar jadual aplikasi peranti ATxmega.
but Kawasan denyar but peranti ATxmega.
prodsig Kawasan tandatangan pengeluaran (penentukuran) peranti ATxmega.
usersig Kawasan tandatangan pengguna peranti ATxmega.
. op medan menentukan operasi yang perlu dilakukan:
r baca memori peranti dan tulis pada fail yang ditentukan
w baca data daripada fail yang ditentukan dan tulis pada memori peranti
v baca data daripada kedua-dua peranti dan fail yang ditentukan dan lakukan a
mengesahkan
. nama fail medan menunjukkan nama fail untuk dibaca atau ditulis. The
format medan adalah pilihan dan mengandungi format fail untuk dibaca atau ditulis.
format boleh menjadi salah satu daripada:
i Intel Hex
s Motorola S-record
r binari mentah; susunan bait kecil-endian, dalam kes data ROM kilat
e ELF (Format Boleh Laksana dan Boleh Paut)
m segera; nilai bait sebenar yang dinyatakan pada baris arahan, dipisahkan oleh
koma atau ruang. Ini bagus untuk pengaturcaraan bait fius tanpa perlu
untuk mencipta fail bait tunggal atau masuk ke mod terminal.
a auto mengesan; sah untuk input sahaja, dan hanya jika input tidak disediakan
at stdin.
d perpuluhan; ini dan format berikut hanya sah pada output. mereka
menjana satu baris output untuk bahagian memori masing-masing, membentuk a
senarai nilai yang dipisahkan koma. Ini boleh berguna terutamanya untuk
pemprosesan seterusnya, seperti untuk tetapan bit fius.
h perenambelasan; setiap nilai akan mendapat rentetan 0x bersiap sedia.
o oktal; setiap nilai akan mendapat a 0 ditambah melainkan ia kurang daripada 8 inci
yang mana ia tidak mendapat awalan.
b binari; setiap nilai akan mendapat rentetan 0b bersiap sedia.
Lalai adalah menggunakan pengesanan automatik untuk fail input, dan format binari mentah
untuk fail output. Perhatikan bahawa jika nama fail mengandungi kolon, iaitu format bidang adalah
tidak lagi menjadi pilihan kerana bahagian nama fail yang mengikuti kolon akan sebaliknya
disalahtafsirkan sebagai format.
Apabila membaca apa-apa jenis kawasan memori kilat (termasuk pelbagai sub-kawasan dalam
Peranti Xmega), fail output yang terhasil akan dipotong untuk tidak mengandungi
mengekori bait 0xFF yang menunjukkan memori yang tidak diprogramkan (dipadamkan). Justeru, jika
keseluruhan memori tidak diprogramkan, ini akan menghasilkan fail output yang tidak mempunyai
kandungan sama sekali.
Sebagai singkatan, bentuk -U nama fail adalah bersamaan dengan menentukan -U
flash:w:nama fail:a. Ini hanya akan berfungsi jika nama fail tidak mempunyai kolon masuk
ia.
-v Dayakan output verbose. Lagi -v pilihan meningkatkan tahap verbositi.
-V Lumpuhkan semakan pengesahan automatik semasa memuat naik data.
-x extended_param
Pas extended_param kepada pelaksanaan pengaturcara yang dipilih sebagai lanjutan
parameter. Tafsiran parameter lanjutan bergantung pada
pengaturcara sendiri. Lihat di bawah untuk senarai pengaturcara yang menerima lanjutan
parameter.
Terminal mod
Dalam mod ini, avrdude hanya memulakan komunikasi dengan MCU, dan kemudian menunggu pengguna
arahan pada input standard. Perintah dan parameter boleh dipendekkan kepada yang paling pendek
bentuk yang tidak jelas. Mod terminal menyediakan sejarah arahan menggunakan garis baca(3), jadi sebelum ini
baris arahan yang dimasukkan boleh dipanggil semula dan diedit. Perintah berikut adalah pada masa ini
dilaksanakan:
membuang memtype addr nbytes
Baca nbytes bait daripada kawasan memori yang ditentukan, dan paparkannya dalam
bentuk heksadesimal dan ASCII biasa.
membuang Teruskan membuang kandungan memori untuk yang lain nbytes di mana sebelumnya
membuang perintah dihentikan.
menulis memtype addr bait1 ... baitN
Program sel memori masing-masing secara manual, bermula pada alamat addr, Dengan menggunakan
nilai-nilai bait1 melalui baitN. Ciri ini tidak dilaksanakan untuk bank-
ingatan yang ditangani seperti ingatan kilat peranti ATMega.
Padam Lakukan pemadaman cip.
menghantar b1 b2 b3 b4
Hantar kod arahan mentah ke peranti AVR. Jika anda memerlukan akses kepada ciri
bahagian AVR yang tidak disokong secara langsung oleh avrdude, arahan ini membenarkan
anda untuk menggunakannya, walaupun avrdude tidak melaksanakan perintah itu. Apabila menggunakan
mod SPI langsung, sehingga 3 bait boleh ditinggalkan.
Sig Paparkan bait tandatangan peranti.
spi Masukkan mod SPI langsung. The pgmled pin bertindak sebagai hamba pilih. Hanya disokong
on selari bitbang pengaturcara.
sebahagian Paparkan tetapan dan parameter bahagian semasa. Termasuk khusus cip
maklumat termasuk semua jenis memori yang disokong oleh peranti, baca/tulis
masa, dsb.
pgm Kembali ke mod pengaturcaraan (dari mod SPI langsung).
vtarg voltan
Tetapkan voltan bekalan sasaran kepada voltan Voltan. Hanya disokong on yang
STK500 and STK600 pengaturcara.
varef [saluran] voltan
Tetapkan sumber voltan boleh laras kepada voltan Volt. Voltan ini biasanya
digunakan untuk memandu sasaran Aref input pada STK500. Pada Atmel STK600, dua
voltan rujukan tersedia, yang boleh dipilih mengikut pilihan
saluran hujah (sama ada 0 atau 1). Hanya disokong on yang STK500 and STK600
pengaturcara.
fosc freq[M|k]
Tetapkan pengayun induk kepada freq Hz. Surat ekor pilihan M
darab dengan 1E6, huruf ekor k oleh 1E3. Hanya disokong on yang STK500
and STK600 pengaturcara.
fosc off
Matikan pengayun induk. Hanya disokong on yang STK500 and STK600
pengaturcara.
sck tempoh
STK500 and STK600 programmer hanya: Tetapkan tempoh jam SCK kepada tempoh
mikrosaat.
JTAG ICE hanya: Tetapkan tempoh jam bit JTAG ICE kepada tempoh mikrosaat. Catatan
bahawa tidak seperti tetapan STK500, tetapan ini akan dikembalikan kepada lalainya
nilai (kira-kira 1 mikrosaat) apabila perisian pengaturcaraan ditandatangani
daripada JTAG ICE. Parameter ini juga boleh digunakan pada JTAG ICE mkII,
JTAGICE3, dan Atmel-ICE untuk menentukan tempoh jam ISP semasa mengendalikan ICE
dalam mod ISP.
parms STK500 and STK600 programmer hanya: Paparkan voltan semasa dan induk
parameter pengayun.
JTAG ICE hanya: Paparkan voltan bekalan sasaran semasa dan jam bit JTAG
kadar/tempoh.
kata kerja [tahap]
Tukar (bila tahap disediakan), atau paparkan tahap verbositi. Permulaan
tahap verbositi dikawal oleh bilangan -v pilihan yang diberikan pada
baris arahan.
?
membantu Berikan ringkasan dalam talian ringkas tentang arahan yang tersedia.
berhenti Tinggalkan mod terminal dan dengan itu avrdude.
Lalai Selari pelabuhan pin sambungan
(ini boleh diubah, lihat -c pilihan)
Pin nombor fungsi
2-5 Vcc (bekalan kuasa pilihan kepada MCU)
7 /RESET (kepada MCU)
8 SCK (kepada MCU)
9 MOSI (kepada MCU)
10 MISO (dari MCU)
18-25 GND
debugWire batasan
Protokol debugWire ialah protokol satu wayar (tambah tanah) proprietari Atmel untuk membenarkan a
emulasi dalam litar peranti AVR yang lebih kecil, menggunakan talian '/RESET'. Mod DebugWire ialah
dimulakan dengan mengaktifkan fius 'DWEN', dan kemudian mengitar kuasa sasaran. Manakala mod ini
terutamanya bertujuan untuk penyahpepijatan/emulasi, ia juga menawarkan keupayaan pengaturcaraan terhad.
Secara berkesan, satu-satunya kawasan memori yang boleh dibaca atau diprogramkan dalam mod ini ialah ROM kilat
dan EEPROM. Ia juga mungkin untuk membaca tandatangan. Semua kawasan ingatan lain tidak boleh
boleh diakses. Tidak ada cip Padam kefungsian dalam mod debugWire; sebaliknya, sementara
memprogram semula ROM kilat, setiap halaman ROM kilat dipadamkan sebelum mengemas kininya. ini
dilakukan secara telus oleh JTAG ICE mkII (atau AVR Dragon). Satu-satunya jalan pulang dari
mod debugWire adalah untuk memulakan urutan perintah khas kepada JTAG ICE mkII (atau AVR
Dragon), jadi mod debugWire akan dilumpuhkan buat sementara waktu, dan sasaran boleh diakses
menggunakan pengaturcaraan ISP biasa. Urutan ini dimulakan secara automatik dengan menggunakan JTAG
ICE mkII atau AVR Dragon dalam mod ISP, apabila mereka mengesan bahawa mod ISP tidak boleh dimasukkan.
FLIP versi 1 keistimewaan
Pemuat but menggunakan protokol FLIP versi 1 mengalami beberapa kelakuan yang sangat khusus.
Pemuat but ini tidak mempunyai pilihan untuk mengakses kawasan memori selain daripada Flash dan EEPROM.
Apabila pemuat but dimulakan, ia memasuki a keselamatan mod di mana satu-satunya akses yang boleh diterima
adalah untuk menanyakan parameter konfigurasi peranti (yang digunakan untuk tandatangan pada AVR
peranti). Satu-satunya cara untuk meninggalkan mod ini ialah a cip Padam. Sebagai pemadaman cip adalah biasa
tersirat oleh -U pilihan apabila memprogram semula denyar, keanehan ini mungkin tidak begitu ketara
jelas serta merta.
Kadangkala, pemuat but dengan mod keselamatan yang sudah dilumpuhkan nampaknya tidak lagi bertindak balas
data konfigurasi yang wajar, tetapi hanya 0xFF untuk semua pertanyaan. Seperti biasa pertanyaan ini
mendapatkan tandatangan yang setara, avrdude hanya boleh meneruskan dalam keadaan itu dengan memaksa
cek tandatangan untuk ditindih dengan -F pilihan.
A cip Padam mungkin membiarkan EEPROM tidak dipadamkan, sekurang-kurangnya pada beberapa versi pemuat but.
Programmer menerima dilanjutkan parameter
JTAG ICE mkII
JTAGICE3
Atmel-ICE
AVR Naga
Apabila menggunakan JTAG ICE mkII, JTAGICE3, Atmel-ICE atau AVR Dragon dalam mod JTAG,
parameter lanjutan berikut diterima:
jtagchain=UB,UA,BB,BA
Sediakan rantai imbasan JTAG untuk UB unit sebelum ini, UA unit selepas,
BB bit sebelum, dan BA bit selepas AVR sasaran, masing-masing.
Setiap unit AVR dalam rantai beralih sebanyak 4 bit. JTAG lain
unit mungkin memerlukan kiraan anjakan bit yang berbeza.
AVR910
devcode=VALUE
Gantikan pemilihan kod peranti dengan menggunakan NILAI sebagai peranti
kod. Pengaturcara tidak ditanya untuk senarai yang disokong
kod peranti, dan yang ditentukan NILAI tidak disahkan tetapi digunakan
terus dalam arahan 'T' yang dihantar kepada pengaturcara. NILAI
boleh ditentukan menggunakan notasi nombor konvensional C
bahasa pengaturcaraan.
no_blockmode
Melumpuhkan semakan lalai untuk keupayaan pemindahan blok.
Penggunaan no_blockmode hanya jika anda AVR910 pengaturcara mencipta ralat
semasa urutan awal.
buspirate
reset={cs,aux,aux2}
Persediaan lalai menganggap pin output CS BusPirate
disambungkan ke pin RESET pada bahagian AVR. Ia bagaimanapun mungkin
untuk mempunyai berbilang AVR disambungkan ke BP yang sama dengan MISO, MOSI
dan garisan SCK biasa untuk kesemuanya. Dalam kes sedemikian satu AVR
sepatutnya RESET disambungkan ke BusPirate CS pin, kedua
RESET AVR disambungkan ke BusPirate AUX pin dan jika anda
BusPirate mempunyai AUX2 pin (hanya tersedia pada versi BusPirate
v1a dengan perisian tegar 3.0 atau lebih baru) gunakan itu untuk mengaktifkan RESET pada
AVR ketiga.
Mungkin idea yang baik untuk memisahkan BusPirate dan AVR
Bas SPI antara satu sama lain menggunakan penampan bas 3 negeri. Untuk
contoh 74HC125 atau 74HC244 adalah beberapa calon yang baik dengan
selak didorong oleh pin set semula yang sesuai (cs, aux atau aux2).
Jika tidak, trafik SPI dalam satu litar aktif mungkin mengganggu
dengan pengaturcaraan AVR dalam reka bentuk lain.
spifreq=<0..7>
Kelajuan SPI untuk mod SPI binari Bas Lanun:
0 .. 30 kHz (lalai)
1 .. 125 kHz
2 .. 250 kHz
3 .. 1 MHz
4 .. 2 MHz
5 .. 2.6 MHz
6 .. 4 MHz
7 .. 8 MHz
rawfreq=<0..3>
Tetapkan kelajuan SPI dan menggunakan "raw-wire" binari Bas Pirate
mod:
0 .. 5 kHz
1 .. 50 kHz
2 .. 100 kHz (Perisian tegar v4.2+ sahaja)
3 .. 400 kHz (v4.2+)
Satu-satunya kelebihan mod "raw-wire" ialah SPI yang berbeza
frekuensi yang tersedia. Penulisan muka surat tidak dilaksanakan dalam hal ini
mod.
ASCII Cuba gunakan mod ASCII walaupun firmware menyokong
BinMode (mod binari). BinMode disokong dalam perisian tegar 2.7 dan
FW yang lebih baru, lebih lama sama ada tidak mempunyai BinMode atau BinMode mereka
buggy. Mod ASCII adalah lebih perlahan dan menjadikan perkara di atas set semula=, spifreq=
and rawfreq= parameter tidak tersedia. Sedar bahawa mod ASCII adalah
tidak dijamin berfungsi dengan versi perisian tegar yang lebih baharu, dan adalah
dikekalkan hanya untuk mengekalkan keserasian dengan perisian tegar yang lebih lama
versi.
nopagedwrite
Perisian tegar versi 5.10 dan lebih baharu menyokong SPI mod binari
arahan yang membolehkan seluruh halaman ditulis ke denyar AVR
memori sekaligus, menghasilkan peningkatan kelajuan tulis yang ketara.
Jika penggunaan mod ini tidak diingini atas sebab tertentu, ini
pilihan melumpuhkannya.
nopageread
Versi perisian tegar yang lebih baru menyokong dalam mod binari SPI memerintahkan beberapa
Perintah Lanjutan AVR. Menggunakan "Baca Memori Pukal daripada Flash"
menghasilkan peningkatan kelajuan membaca yang ketara. Jika menggunakan ini
mod tidak diingini atas sebab tertentu, pilihan ini menyahdayakannya.
cpufreq=<125..4000>
Ini menetapkan pin AUX untuk mengeluarkan frekuensi sebanyak n kHz. Menyambung
pin AUX ke pin XTAL1 MCU anda, anda boleh memberikannya a
jam, contohnya apabila ia memerlukan jam luaran kerana
tetapan fius yang salah. Pastikan kekerapan CPU sekurang-kurangnya
empat kali kekerapan SPI.
serial_recv_timeout=<1...>
Ini menetapkan tamat masa penerimaan siri kepada nilai yang diberikan. The
tamat masa berlaku setiap kali avrdude menunggu BusPirate
segera. Terutama dalam mod ascii ini berlaku sangat kerap, jadi
menetapkan nilai yang lebih kecil boleh mempercepatkan pengaturcaraan. The
nilai lalai ialah 100ms. Menggunakan 10ms mungkin berfungsi dalam kebanyakan kes.
Pendawaian Apabila menggunakan jenis Pengaturcara Pendawaian, pilihan berikut dilanjutkan
parameter diterima:
tunda=<0..32767>
Selepas melakukan fasa buka port, AVRDUDE akan menunggu/tunda
khususnya tunda milisaat sebelum meneruskan ke penyegerakan protokol
fasa. Tiada togol DTR/RTS dilakukan jika tunda lebih besar
daripada 0.
PICkit2
Sambungan kepada pengaturcara PICkit2:
(AVR) (PICkit2)
RST - VPP/MCLR (1)
VDD - Sasaran VDD (2) -- mungkin pilihan jika AVR dikuasakan sendiri
GND - GND (3)
MISO - PGD (4)
SCLK - PDC (5)
MOSI - AUX (6)
Parameter baris perintah lanjutan:
kadar jam=
Menetapkan kadar jam SPI dalam Hz (lalai ialah 100kHz).
Secara bergantian pilihan -B atau -i boleh digunakan untuk menetapkan tempoh.
tamat masa=
Menetapkan tamat masa untuk USB membaca dan menulis dalam milisaat
(lalai ialah 1500 ms).
Gunakan avrdude dalam talian menggunakan perkhidmatan onworks.net