Do ISP-programozó Arduino - kiállító
Azt hiszem, ez nem titok, hogy az eredeti program mikrokontroller van töltve egy speciális eszköz - a programozó. Természetesen arduinschikam általában nem kell aggódnia, hogy - van egy bootloader (bootloader), pre-varrt a mikrokontroller firmware és tart az UART keresztül COM-porton vagy USB-n keresztül. De ahhoz, hogy villog a bootloader vagy más firmware egy „tiszta” MC programozó van szükség.
De ebben a cikkben nem vesszük figyelembe az összeszerelési és forrasztási a programozás az alapoktól kezdve és használja a lehetőségeket az Arduino. Az a tény, hogy a legtöbb Arduino táblák változat Uno rendelkezik FT232RL chip vállalat FTDI.
Ez a chip egy átalakító UART-> USB, amely lehetővé teszi az operációs rendszer virtuális COM-port működő USB-n keresztül. De ebben az esetben szükségünk van egy másik lehetőség is - ellenőrzése az egyes terminálok chip, a továbbiakban a mód bit-bang, amely lehetővé teszi, hogy „lezárja” tetszőleges protokoll USB. A kihívás abban áll, hogy kapcsolja be az USB flash MK protokoll.
Microcontrollers AVR, használt Arduino, varrott a számunkra ismerős keresztül SPI protokoll áramköri programozási csatlakozó - ISP (I n-R endszer P ROGRAMOZÁS). Ő az úgynevezett, mert lehetővé teszi a flash MK egyenesen a végső eszköz. Itt látható a csatlakozó az alaplapon CraftDuino:
MISO MOSI, SCK, RESET - ez mind az SPI busz vonal, de ahelyett, SS - RESET.
De még mindig az elérni kívánt eredmények FT232RL, amelyen keresztül villogni fog, és Arduino fejlesztők gondoskodott róla, hogy a csatlakozó X3 (X-három):
Ha az alaplap csak párna X3, meg kell forrasztani egy darab PLS-fésű is.
Ez a csatlakozó csapok az alábbi funkciókat ISP-programozó:
És ahelyett CraftDuino X3 egy szabványos RS232 csatlakozó, azonos kötési vezetőt FT232RL, ahonnan szükség van az azonos 4 O:
- 1 (CD) - MOSI
- 6 (DSR) - SCK
- 8 (CTS) - MISO
- 9 (RI) - RESET
Poraskinuv agyukat, hogy egy kábel a rögtönzött ISP-programozó:
Az egyik végét a kábel - csatlakozók Arduino X3 / CraftDuino UART, és az ellátási:
És a másik végén - a standard ISP csatlakozó:
Jellemzően AVR firmware segítségével a népszerű eszköz avrdude. amely támogatja a különböző programozók és MC modell, még használja Arduino IDE környezetet szakadó vázlatot. Mert ez a típus, van egy folt, amely lehetővé teszi a flash IC chip keresztül FT232RL, a bit-bang módban. Voltak jó emberek, akik már folt a Windows verziója avrdude dolgozni bit-bumm-programozó alapján ez a chip, és így tettem, és Linux:
- Folt változat 5.3.1 for Windows.
- Version 5.10, deb-csomag Linux i386 és amd64 (x86_64).
- A forrás csomag verziója 5.10, könyvtár libftd2xx-1.0.4 a hivatalos honlapján az igazgatóság és FTDI Makefile.in és avrdude.conf. hogy mindent meg fog helyesen telepítése és üzemeltetése. Tesztelt csak Ubuntu 11.04 (i386 és amd64).
Ha fut a Linux, akkor meg kell tenni néhány lépés (FTDI szeret minket):
- Ölj vezető ftdi_sio. amely megakadályozza avrdude nyitott COM-port FTDI:
Ha azt szeretnénk, akkor adja meg a kernel modul feketelistára, miután hangolni /etc/modprobe.d/blacklist.conf:
Csak tartsd észben, hogy annak érdekében, hogy működjön együtt a virtuális port / dev / ttyUSB0 stb (Need Arduino IDE), ez a modul is futnia kell. Ezt meg lehet tenni a parancs
USB Vendor ID és a termékazonosító lehet tisztázni hűség lsusb parancsot. ha Arduino csatlakozik a számítógéphez:
Akkor kell létrehozni FTDI-felhasználói csoport és hozzá magát, hogy:
akkor meg kell kijelentkezni.
Tehát udev szolgáltatás értesült a változásokat, akkor vagy újra kell indítani a számítógépet, vagy ok
A cikket a programozási AVR C elvtárs noonv már leírt. hogyan kell használni avrdude. Fogom leírni csak töltse ki a rakodó a Arduino Diecimila a ATmega168:
- Állítsa szükséges gyors EEPROM rakodó biztosítós bit kvarc> 8 MHz, az osztó 8 beépített ki:
- Töltsük meg a rakodó:
De a konzol nem mindig jobb Gui, különösen beállítására biztosíték bit, és vannak sokkal kényelmesebb és megbízhatóbb módon - a program használatát SinaProg által kifejlesztett iráni programozók. Az oldalon van rég halott, de a program él és jól van a mai napig. A konfigurációs részletesen írt Di HALT'a, nos, akkor nem vesztegeti az idejét, és hogy a kész szabott összeállítás foltozott avrdude (összeszerelés Di HALT'a hiba az egyik konfigurációs fájlok). Version Linux alatt, sajnos, nem létezik.
A Hex filejaban választjuk hex-fájlt szeretné kitölteni, vagy olvasni. Olvasása és írása lehet, mint a program memória (Flash), és nem illó (EEPROM). Az eszköz részben meg kell adnia egy bizonyos MC, a programozó szakasz - programozó (mi ez ftbb) port (FTDI0) és a port sebességét (9600).
Nos, mit érdemes használni ezt a programot - szakasz Biztosítékok. A legördülő listából válassza ki az előre definiált konfigurációs biztosíték beállított bitek a Fuse.txt. De a legfontosabb, hogy megnyitja a szemünket, ha megnyomja a Speciális gombra:
Itt nyomkodjuk biztosítós bájt kézzel, vagy nyomja meg a «C» gomb mellett a bájtérték és tegye Fyuz dugta kullancsok leírással. Ahhoz, hogy töltse ki a rakodó, első kattintással mellett Read gombra. olvasni az aktuális értéket biztosító, majd állítsa be az alacsony biztosítékot. frekvencia kvarc - több mint 8 MHz, a kezdési időpont MK - 65 ms, a térelválasztó 8 off:
Beállítása után megnyomjuk írása gombot, és várja meg a feliratot «Writing Biztosítók ... OK».
Most már a fő ablakban a Hex fájl részben kiválaszthatja ATmegaBOOT_168_diecimila.hex rakodó fájlt a Flash részben nyomja meg a Program gombot. Ha a folyamat hibákat, a mutató a haladás a „>” gombot, amely megnyitja az oldalsó avrdude munkanapló ablakot.
És nézzük proshom más MC - például ATtiny13.
Tedd MK maketku, csatlakozhat hozzá minden ISP csatlakozó vonal a bit-bumm-programozó, pótkocsik LED keresztül 500 ohm ellenállást a harmadik láb (DB4) RESET és felhúzó ellenállás 10 ohm:
Készíts egy hex-fájl firmware:
Perevtykaem Arduino egy USB és nézni a villogó LED a feltétellel, hogy nincs kapcsolat a hibákat (:
Ez így van, egyszerű manipulációk kéz és agy, akkor tedd magad egy USB ISP-programozó, úgyhogy nem kell fürödni a hiánya LPT a modern számítógépek és a COM-port szinte bármilyen laptop - ez USB, vagyis mindenhol.
Az anyag, úgy tűnik robokraft.ru