104-Firmware-ul unui fișier hex în arduino cu ajutorul unui bootloader obișnuit (bootloader)

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.

104-Firmware-ul unui fișier hex în arduino cu ajutorul unui bootloader obișnuit (bootloader)
104-Firmware-ul unui fișier hex în arduino cu ajutorul unui bootloader obișnuit (bootloader)
104-Firmware-ul unui fișier hex în arduino cu ajutorul unui bootloader obișnuit (bootloader)

Î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).

104-Firmware-ul unui fișier hex în arduino cu ajutorul unui bootloader obișnuit (bootloader)

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.

104-Firmware-ul unui fișier hex în arduino cu ajutorul unui bootloader obișnuit (bootloader)

GC Uploader.zip - încărcător automat de fișiere HEX pentru Arduino

Programul este interesant deoarece fișierul selectat HEX va fi încărcat automat în Arduino după fiecare schimbare. Acest lucru este convenabil, deoarece în dezvoltarea proiectului fiecare compilare (actualizare hex) va iniția firmware-ul lui Arduina - nu trebuie să faceți nimic singur! În plus, programul are, de asemenea, un mod manual de firmware.

104-Firmware-ul unui fișier hex în arduino cu ajutorul unui bootloader obișnuit (bootloader)

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 necesară 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 în curs de dezvoltare de software pentru microcontroler a produs o mulțime de firmware și ar trebui să se străduiască întotdeauna pentru a automatiza acest proces după construirea proiectului - acest lucru economisește timp și efort. În acest caz, automatizare este complicat ca programul nu arată linia de comandă pentru AVR Dude (cu excepția cazului selectați empiric), ci o simplificare proces este posibil. Acest lucru se face în felul următor - după primul firmware-ul nu închide fereastra programului (versiuni de software portul COM după intermitent), iar după proiectul urmând ansamblul pur și simplu faceți clic pe butonul «Upload». Desigur, asamblarea trebuie făcută în același fișier hex.

104-Firmware-ul unui fișier hex în arduino cu ajutorul unui bootloader obișnuit (bootloader)

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 necesară 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ă pentru conectarea Arduino cu calculatorul din acesta din urmă trebuie să fie șoferi prezenți. Am lăsa aici arhiva cu drivere pentru Arduino (inclusiv driver-e vechi în Old_Arduino_Drivers.zip și drivere pentru FTDI-chip în directorul "Drivere USB FTDI"

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, scrie hex-fișiere într-un MK curat nevoie de un programator și-au pus Fyuz.

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 639 ori, de 13 ori astăzi)

Navigare după înregistrări

Mulțumesc, informații utile. Sunt aici ținând o mână de Nano și Pro Mini, pentru diferite ocazii 🙂
Un pic de altceva, o întrebare distinsului autorului poate avea pentru sărbători o versiune modificată a programului de control la dispozitivul „efectoare-12“? Dispozitiv și versiunea anterioară a programului I folosesc în mod regulat (modul de muzică de culoare), folosit aici și în forum acumulat idei și comentarii pentru finalizarea programului, așa că am gândit că poate acest cadou de Anul Nou pentru fabricarea berii un întreg? 😉 Mulțumesc!

Cu efectoare înainte de Anul Nou cu greu va face ceva, dar planurile includ revizuirea acesteia (și se pare că un nou efector poate fi turnat în Arduino).
Există o dorință de a actualiza efectele super-girlandei puțin - sper că pot cel puțin să o fac.

Potrivit efectori am avut în vedere în acest moment singurul program de acolo înainte să avem o scurtă listă de sugestii și modificări, cum ar fi stocarea cursoarele la modurile de muzică de culoare și modul de „plin“, „în oglindă“ pentru a adăuga „non-oglindă“ (canale 1-6, 1-6), pot ajusta rata de decădere, pot începe efectele în pauze fără muzică etc. Și fierul nu este rău și este așa cum este. Fără umflături, ci făcându-i.
În orice caz, datorită succesului și succeselor!

Efectul pe arduino e grozav, astept.

Spuneți-mi unde să găsiți linia "AVR Dude Params"







Trimiteți-le prietenilor: