Tesszük ISP-programozó Arduino

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.

Tesszük ISP-programozó Arduino

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:

Tesszük ISP-programozó Arduino

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):

Tesszük ISP-programozó Arduino

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ó:
  • 1 (CTS) - MISO
  • 2 (DSR) - SCK
  • 3 (DCD) - MOSI
  • 4 (RI) - RESET
É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:

Tesszük ISP-programozó Arduino

  • 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ó:

Tesszük ISP-programozó Arduino

Az egyik végét a kábel - csatlakozók Arduino X3 / CraftDuino UART, és az ellátási:

Tesszük ISP-programozó Arduino

És a másik végén - a standard ISP csatlakozó:

Tesszük ISP-programozó Arduino


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
  • Alapértelmezésben a rendszer, amikor megpróbálja megnyitni a avrdude virtuális COM-port FTDI mutasd meg neki a füge, és akkor ő - nem túl informatív hibaüzenetet. Be kell, hogy magát a jogot, hogy teljes hozzáférést a virtuális COM port létre /etc/udev/rules.d/ a fájl nevét 80-ftdi.rules az alábbiak szerint:

    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:
    1. Állítsa szükséges gyors EEPROM rakodó biztosítós bit kvarc> 8 MHz, az osztó 8 beépített ki:
    2. 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.

    Tesszük ISP-programozó Arduino

    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:

    Tesszük ISP-programozó Arduino

    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:

    Tesszük ISP-programozó Arduino

    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 az hibát okoz, akkor az állapotjelző sávon van egy „>” gombot, amely megnyitja az oldalán a napló avrdude munka ablakot.

    És nézzük proshom más MC - például ATtiny13.

    Tesszük ISP-programozó Arduino

    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:

    Tesszük ISP-programozó Arduino

    Tesszük ISP-programozó Arduino

    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.

    Kapcsolódó cikkek