Firmware-ul oricarui fișier hexadecimal în notele arduino - la îndemână

Să ne îndepărtăm de la crearea robotului nostru și să vorbim despre modul în care vom scrie firmware-ul în Arduino.

În primul rând, suntem interesați de trei panouri Arduino:
- Arduino Uno - ca opțiune cea mai comună
- Arduino Nano - o versiune compactă, potrivită pentru utilizare în structuri mici
- Arduino Pro Mini - o versiune compactă ieftină fără un convertor USB-UART încorporat (pentru a fi nevoie de un convertor USB-UART extern), dar convenabil în cazul utilizării unei rețele de dispozitive.

Firmware-ul oricarui fișier hexadecimal în notele arduino - la îndemână
Firmware-ul oricarui fișier hexadecimal în notele arduino - la îndemână
Firmware-ul oricarui fișier hexadecimal în notele arduino - la îndemână

În toate plăcile de mai sus, se utilizează microcontrolerul ATmega328 (în versiunile mai vechi ale ATmega168).

ATmega48_88_168_328.pdf - Data la ATmega48A-48PA-88A-88PA-168A-168PA-328-328P

Unul dintre motivele principale pentru alegerea cardului Arduino pentru proiectul robot a fost capacitatea de a înregistra firmware-ul dispozitivului în MK fără a folosi programatorul și alte dispozitive suplimentare. Tot ce trebuie să bliți microcontrolerul Arduino este cablul USB standard (care este inclus împreună cu Arduino).

Firmware-ul oricarui fișier hexadecimal în notele arduino - la îndemână

Aceasta înseamnă că, dacă aveți Arduin - aveți orice dispozitiv ZiChip!

Înregistrarea unui program în MC prin USB are loc printr-un încărcător special (Bootloader), care este înregistrată în MC în fabricarea de bord. În general, încărcătorul este proiectat pentru a lucra cu software-ul său special Arduino IDE, dar atunci când aveți nevoie să clipească ceva Arduino străine (HEX-fișier), există un program vă permite să-l pună în aplicare.

Firmware-ul oricarui fișier hexadecimal în notele arduino - la îndemână

XLoader.zip - Un program pentru scrierea unui fișier Hex în Arduino

Programul are o interfață ascetică și este foarte simplu să lucrați cu:
- conectați Arduino la un port USB (nu este nevoie de o putere separată)
- alegeți fișierul Hex
- alegeți tipul de Arduino
- selectați portul COM creat când conectați Arduino la USB (viteza portului va fi setată automat la selectarea tipului Arduino)
- faceți clic pe Încărcați

Asta e tot! Nimic complicat. Firmware-ul va fi scris în MC în câteva secunde și va porni automat. Unul minus - programul nu raportează că firmware-ul a fost deja scris, dar acest lucru se poate vedea prin oprirea flicker-ului LED-urilor RXD și TXD pe Arduin.

XLoader utilizează AVR Dude pentru scrierea firmware-ului și utilizează STK500 ca protocol de programare. Dar, se pare, în setările AVR Dude, se face o corecție, deoarece folosirea standardului AVR Dude cu aceleași setări nu dă rezultate.

Atunci când dezvoltați software pentru un microcontroler, există o mulțime de firmware și ar trebui să încercați întotdeauna să automatizați acest proces după asamblarea proiectului - economisește timp și nervi. În acest caz, automatizarea este complicată, deoarece programul nu arată linia de comandă pentru AVR Dude (cu excepția faptului că poate fi selectată de experiență), însă este posibilă o simplificare a procesului. Acest lucru se face în felul următor: după prima firmware, nu închidem fereastra programului (portul COM după eliberarea firmware-ului) și după realizarea următorului proiect pur și simplu faceți clic pe butonul "Încărcare". Desigur, asamblarea trebuie făcută în același fișier hex.

Firmware-ul oricarui fișier hexadecimal în notele arduino - la îndemână

ArduinoUploader.zip - Programul pentru scrierea fișierului Hex în Arduino

Ca și cea anterioară, programul are o interfață simplă.
Procesul firmware-ului este același:
- conectați Arduino la un port USB (nu este nevoie de o putere separată)
- alegeți fișierul Hex
- alegeți tipul de Arduino
- selectați portul COM
- faceți clic pe Încărcați

Programul deschide ferestre suplimentare în timpul înregistrării și afișează vizual acțiunile sale, ceea ce vă permite să monitorizați procesul de înregistrare.

La încercarea de a bloca Arduino Nano, programul a refuzat să vadă MK. Motivul a fost setarea necorespunzătoare a vitezei portului COM. Viteza implicită este 19200 și aveți nevoie de 57600. Viteza portului din program nu este specificată explicit, este prescrisă în linia "AVR Dude Params" - modificați valoarea de la 19200 la 57600.

Automatizarea încărcătorului ARP.
ARP Uploader ca XLoader funcționează prin AVR Dude, dar spre deosebire de XLoader, acesta arată linia de comandă. Acest lucru face posibilă utilizarea AVR Dude direct în fișierul Make or Bat.

Materiale suplimentare.
Șoferul Arduino.

Cred că merită să ne amintim că trebuie să existe drivere pentru conexiunea Arduino cu calculatorul din cel de-al doilea. Am pleca de aici un fișier cu driverele pentru Arduino (inclusiv drivere mai vechi în Old_Arduino_Drivers.zip și drivere pentru FTDI cip «FTDI USB Drivers» dosar

Arduino_drivers.zip - Drivere pentru Arduino

A început să apară ieftin chinez Arduiny cu șoferul CH340G
Driver CH340G.zip - Driver pentru convertor USB-UART

Dacă decideți să colecteze taxa plătită Arduino (și nu este nimic complicat, de fapt, este un gol de ATmega168 sau ATmega328), veți avea nevoie de Bootloader bootloader care ar trebui să conțină MC pentru a lucra cu mediul (sau programul pentru a umple hex-fișiere). Desigur, veți avea nevoie de un programator pentru a scrie fișiere Hex la un MK pur și trebuie să pună fuziuni.

ATmegaBOOT_168_atmega328.hex - Bootloader pentru ATmega328
Pentru o funcționare corectă, trebuie să setați siguranțele după cum urmează: Scăzut: FF Înalt: DA Ext: 05

ATmegaBOOT_168_diecimila.hex - Bootloader pentru ATmega168
Fyuzy Low: FF Înaltă: DD Ext: 00

Schemele din Ardwin descrise mai sus.
Arduino_Uno_Rev3-schematic.pdf - Arduino Uno Schema
ArduinoNano30Schematic.pdf - Arduino Nano Schema
Arduino-Pro-Mini-schematic.pdf - Arduino Pro Mini Schema

Fyuzy instalat implicit în Arduino (numai cu ATmega328)
Arduino Uno
Siguranță joasă 0xFF
Siguranță ridicată 0xDE
Siguranță extinsă 0x05

Arduino Duemilanove sau Nano w / ATmega328
Siguranță joasă 0xFF
Siguranță ridicată 0xDA
Siguranță extinsă 0x05

Arduino BT cu ATmega328
Siguranță joasă 0xFF
Siguranță ridicată 0xD8
Siguranță extinsă 0x05

LilyPad Arduino cu ATmega328
Siguranță joasă 0xFF
Siguranță ridicată 0xDA
Siguranță extinsă 0x05

Arduino Pro sau Pro Mini (5V, 16 MHz) cu ATmega328
Siguranță joasă 0xFF
Siguranță ridicată 0xDA
Siguranță extinsă 0x05

(Vizitată de 25 ori, de 70 de ori astăzi)

Cod QR - Luați acest post mobil!

Utilizați acest cod unic QR (răspuns rapid) cu dispozitivul dvs. inteligent. Codul va salva adresa URL a acestei pagini web pe dispozitivul de partajare și stocare mobilă.

Articole similare