Arduino AVR-programmering

Wat gebeurt er precies in de Arduino IDE wanneer je de optie 'uploaden met programmeur' kiest om te programmeren via een AVR-programmeerapparaat in plaats van de USB-kabel? Uploadt het alleen je programma, of bevat het ook de bootloader? Als ik eerder de bootloader heb geüpload, zal hij er nog steeds zijn of wordt hij genegeerd? Stelt het de fusebits in tijdens dit proces?

4

2 antwoord

Deze antwoorden gelden alleen voor het algemene geval - ik heb de Arduino IDE niet gebruikt.

  • Uploadt het alleen je programma of bevat het ook de bootloader?

Alleen uw programma - de bootloader wordt overschreven, tenzij iemand zich heeft ingespannen om te verhuizen waar de afbeelding in de flits wordt geprogrammeerd. De Arduino IDE kan dit doen maar als je merkt dat nadat je de 'upload with programmer' optie hebt gebruikt, je niet op een andere manier met het board kunt praten, dan heeft de programmeur de bootloader mogelijk weggevaagd.

Over het algemeen worden fusebits niet ingesteld tijdens normaal programmeren. Je moet die optie opgeven. Nogmaals, de Arduino IDE heeft zijn eigen tricks, maar in het algemeen moet je expliciet vragen om de fuse bits te programmeren.

1
toegevoegd
Dit was een beetje wat ik dacht. Ik dacht dat ik niet via USB kon programmeren omdat de bootloader mogelijk is overschreven, maar ik heb de controller dichtgemetseld voordat ik verder kon testen. Er zat een losse draad in de programmering en de controller reageerde niet meer op de programmeur, daarom vroeg ik naar de zekeringbits.
toegevoegd de auteur ewitkows, de bron

de usb-interface op een Arduino brengt je naar de avr seriële poort, waar je een bootloader nodig hebt, etc. Met behulp van de ISP-interface of hoe ze het ook noemen (ik denk dat het SPI is) kun je de taak overnemen chip en laad de bootloader opnieuw (mogelijk zijn er beperkingen voor de zekering). Ik neem aan dat dit afhangt van het binaire bestand dat je laadt en waar het wil laden.

Het bootloader-protocol wordt vaak naar een standaardprotocol (binnen de avr-wereld) verwezen, maar als je naar de bootloader-bron kijkt (vrij gemakkelijk te lezen en te volgen), merk je dat de meeste bootloaders dit protocol nauwelijks ondersteunen en dat elke incarnatie zijn eigen protocol heeft. eigen kenmerken. Ik vind het gemakkelijker om alleen naar het protocol te kijken dat door de bootloader wordt gebruikt en daar niet veel tijd aan te besteden.

Voor wat betreft de andere programmeerinterfaces heeft de xmega een interessante interface, pdi die niet moeilijk te gebruiken is, en er is de spi-interface die de andere kleinere avr-apparaten gebruiken. beide zijn gedocumenteerd met de chips zelf.

0
toegevoegd