Kysymys:
Mitä vaihtoehtoja Optiboot-käynnistyslataimelle on?
Cybergibbons
2014-03-16 16:31:30 UTC
view on stackexchange narkive permalink

Lähes kaikki modernit Arduino-levyt käyttävät Optiboot-käynnistyslatainta. Aiemmin käytettyyn ATmegabootiin verrattuna tämä on flash-muodossa pienempi (noin 1,5 kt) ja nopeampi latausnopeudella (115,2 kt vs. 57,6 kt) ja käynnistää luonnoksen nopeammin (viive odottaessasi palautuksen jälkeen on lyhyempi).

Onko Optiboot-käynnistyslataimelle vaihtoehtoja? Tarkemmin sanottuna, onko pienempiä (flash-termeillä) käynnistyslataimia? Mitä eroja heillä on?

Kolme vastused:
#1
+8
feilipu
2014-03-28 10:41:17 UTC
view on stackexchange narkive permalink

Optiboot on pienin käytettävissä oleva lataaja.

Mutta on olemassa paljon tehokkaampi (sisäänrakennetulla konsolilla laitteistotestausta, RAM- ja Flash-sisällön tarkistusta jne.) käynnistyslatauslaite, jossa on kehittyneempi ja vankempi stk500v2 tietoliikenneprotokolla avrduden ja AVR-käynnistyslataimen välillä.

Olen käyttänyt sitä ATmega2560: ssa ja ATmega1284p: ssä. Se toimii sekä 3 tavun että 2 tavun ohjelmalaskurin MCU: lla.

Minulla on STK500v2 Bootloader -versio Sourceforgessa.

Tämä käynnistyslatain perustuu Peter Fleury STK500v2 -käynnistyslataimeen, jonka on päivittänyt Mark Sproul. Olen tehnyt muokkauksia, jotta se tukisi Goldilocks (ATmega1284p) -levyä.

Tärkein ominaisuus on käyttää STK500v2 -protokollaa Flash-kuvan lataamiseen Arduinoon. Tämä protokolla on vankempi ja antaa paremman virhekyvyn kuin avr109 -protokolla. Avr109-protokollaa kutsutaan Arduino-maailmassa sivulta Arduino, koska se vaihtaa DTR: n (nollata levy ja syöttää automaattisesti käynnistyslataimen), ja STK500v2-protokollaa kutsutaan "johdotukseksi" Arduino-maailmassa saman takia. syy.

Fleury / Sproul STK500v2 -käynnistyslatain on suunniteltu toimimaan ATmega2560: n kanssa, jolla on 3-tavuinen ohjelmarekisteri, koska Flash on kooltaan suurempi. Mutta se tukee myös normaaleja 2-tavuisia levyjä (kaikkea muuta oikeastaan).

Laudoille, joissa on paljon Flashia (kuten Goldilocks 1284p), on laitteistomonitori , jota voidaan käyttää kysely Flash, SRAM ja laitteisto; Voit tarkistaa yhteydet ilman lisäkoodia ja tarkistaa Flashin ja EEPROMin todellisen sisällön. Koska 1284p tukee kahta USART-tiedostoa, lisäsin mahdollisuuden suorittaa virheenkorjaus USART1 : ssä, jotta latausprosessi USART0 -palvelun kautta ei häiriintyisi.

Tämä näyttää olevan osa FreeRTOSia, onko käynnistyslatausohjelma täysin riippumaton FreeRTOSista?
Se on täysin riippumaton. Käynnistyslatainta käytetään flash: n kirjoittamiseen millä tahansa. FreeRTOS tulee myöhemmin, kun main () on aloitettu. Pidän sitä vain samassa arkistossa. En kirjoittanut sitä, vain muunnettu omiin tarkoituksiini.
Tämä näyttää mielenkiintoiselta; olisi hyödyllistä, jos voisit tiivistää vastauksessasi käynnistyslataimen tärkeät ominaisuudet: koko Flashissa, latauksen enimmäisnopeus, Arduino-karjut, joiden kanssa se voi toimia, ja joitain lisätietoja laitteistotestauksesta).
Se on (perustuu) Peter Fleury STK500v2 -käynnistyslataimeen, jonka on päivittänyt Mark Sproul. Olen tehnyt muokkauksia saadaksesi sen tukemaan Goldilocks (ATmega1284p) -levyä. Tärkein ominaisuus on käyttää STK500v2-protokollaa flash-kuvan lataamiseen Arduinoon. Tämä protokolla on vankempi ja antaa paremman virhekyvyn kuin avr109-protokolla. Avr109-protokollaa kutsutaan Arduino-maailmassa sivulta Arduino, koska se vaihtaa DTR: n (nollata levy ja syöttää automaattisesti käynnistyslataimen), ja STK500v2-protokollaa kutsutaan "johdotukseksi" Arduino-maailmassa saman takia. syy.
Fleury / Sproul STK500v2 -käynnistyslatain on suunniteltu toimimaan ATmega2560: n kanssa, jolla on 3 tavun ohjelmarekisteri, suuren salaman koon vuoksi. Mutta se tukee myös normaaleja 2-tavuisia levyjä (kaikki muu todella). Laudoille, joissa on paljon salamaa (kuten Goldilocks 1284p), on laitteistomonitori, jota voidaan käyttää flash-, RAM- ja laitteistokyselyihin. Voit tarkistaa yhteydet ilman lisäkoodia ja tarkistaa salaman ja eepromin todellisen sisällön. Koska 1284p tukee kahta USART-tiedostoa, lisäsin mahdollisuuden suorittaa virheenkorjaus USART1: llä, jotta latausprosessia USART0: n kautta ei häiritä.
Kiitos tiedoista, olen päivittänyt viestisi, koska mielestäni näiden tietojen pitäisi olla suoraan osa vastaustasi. Lisää rohkeasti tietoja, jos pidät sitä sopivana!
Vielä yksi kysymys: mainitset paljon Goldilocks 1284p: tä, mutta kaikki sen kannalta toimivat ominaisuudet toimivat myös Arduino Megalla, eikö?
Kyllä ehdottomasti. Se on suunniteltu 3 tavun ohjelmalaskurilaitteille, kuten Atmega2560 / 2561, Arduino Mega.
#2
+3
Ashlyn Black
2015-12-12 00:43:38 UTC
view on stackexchange narkive permalink

TinySafeBoot on vaihtoehto ATtiny- ja ATmega-laitteille.

  • Yhteensopiva monien ATtinys- ja ATmegas-laitteiden kanssa (katso alla)

  • Luku- / kirjoitusoikeus Flashiin ja EEPROMiin.

  • Kaikki sarjaliikenteen käytettävissä olevat IO: t

  • Yksijohtoinen, myös useilla AVR-levyillä yhdellä rivillä

  • Automaattinen tiedonsiirto, kestävä protokolla.

  • Aktivoi Reset + Salasana (valinnainen)

  • Salasana ja aikakatkaisu voidaan muuttaa milloin tahansa.

  • "Hätäpoisto" kadonneen salasanan voittamiseksi - tappaa kaikki tietoja, mutta jättää käynnistyslataimen ennalleen.

  • ATtinys: ~ 550 tavua,

  • ATmegas: < 512 tavua (!)

  • ATtiny: n TSB voi päivittää itsensä.

  • Lähdekoodi on ilmainen ohjelmisto (GPL)

kukaan tiedä miten TSB vertaa Optibootiin? Viimeisin päivitys tuntuu vähintään 2 vuotta sitten ...
#3
+1
Anonymous Penguin
2014-03-19 00:01:18 UTC
view on stackexchange narkive permalink

Onko Optiboot-käynnistyslataimelle vaihtoehtoja?

Virhe ... ei oikeastaan. Optibootissa on itse asiassa [epävirallinen] muokkaus, joka nopeuttaa lataamista.

Suuren siirtonopeuden muunnosten asentaminen ...

  • Varmista, että Arduino IDE ei ole käytössä
  • Lataa 7-Zip-arkisto yllä olevan linkin avulla
  • Pura kolme tiedostoa seuraavaan hakemistoon: {Arduino Installation Root} \ hardware \ arduino \ bootloaders \ optiboot \
  • Avaa seuraavassa hakemistossa oleva boards.txt-tiedosto: {Arduino Installation Root} \ hardware \ arduino \

Etsi tämä osa sisältä:

  uno.name = Arduino Unouno.upload.protocol = arduinouno.upload.maximum_size = 32256uno .upload.speed = 115200uno.bootloader.low_fuses = 0xffuno.bootloader.high_fuses = 0xdeuno.bootloader.extended_fuses = 0x05uno.bootloader.path = optibootuno.bootloader.file = optiboot_atmega32b. .build.mcu = atmega328puno.build.f_cpu = 16000000Luno.bu ild.core = arduinouno.build.variant = standardi  

Lisää seuraava osa ...

  uno_uf.name = Arduino Uno / lataa Fastuno_uf.upload.protocol = arduinouno_uf.upload.maximum_size = 32256uno_uf.upload.speed = 250000uno_uf.bootloader.low_fuses = 0xffuno_uf.bootloader.high_fuses = 0xdeuno_uf.bootloader.extended_fuses = 0x0buno.pdf = 0x05uno_uf.boot = 0x05uno_uf.boot = 0x3Funo_uf.bootloader.lock_bits = 0x0Funo_uf.build.mcu = atmega328puno_uf.build.f_cpu = 16000000Luno_uf.build.core = arduinouno_uf.build.variant = standard  
  • Vaihda kaksi korostettua arvot käyttämällesi siirtonopeudelle: 250000, 500000 tai 1000000 Tallenna ja sulje boards.txt-tiedosto
  • Asenna uusi käynnistyslatain suosikki ISP-ohjelmoijan avulla. Älä unohda: Varmista, että Arduino Uno / Upload Fast -kortti on valittu (Työkalut / Lauta) , Varmista tarvittaessa, että ohjelmoijan sarjaportti on valittu (Työkalut / Sarjaportti) , Varmista, että ohjelmoija on valittuna (Työkalut / Ohjelmoija) . Vaihda käynnistyslatausohjelma, vaihda sarjaportti Arduino Uno n sarjaporttiin.

Yllä oleva teksti on hieman muunnettu yhteensopivaksi sivuston kanssa. Alkuperäinen viesti


Sen lisäksi, että ATmegaboot-käynnistyslataimen, et todellakaan löydä mitään muuta vaihtoehtoa. Kuvittelen, että jos Arduino lataa sen kaikkiin koskaan tuotettuihin Unosiin, se on melko optimoitu. Yllä oleva hakkerointi nopeuttaa latausaikaa, mutta se ei vähennä käynnistyslataimen kokoa. Voit myös poistaa odotusajan käynnistyslataimelta, jotta se käynnistyy nopeammin.

Jos olet huolissasi flash-maksimoinnista, katso: Kuinka kutista todella luonnos ja tämä vastaus [päällä Mitä voin tehdä, jos Flash-muisti tai SRAM loppuu? ].



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...