Stap 9: Miscellaneous extra spullen
Zoals ik al eerder zei, woont de bootloader in een klein deel van het bovenste bereik van Flash-geheugen. De sectie van de bootloader van Flash-geheugen is ingesteld in de speciale registers genoemd zekeringen die vertellen van de processor hoe groot de bootloader is en waar te vinden om te starten met het runnen van het op macht omhoog of op beginstand zetten. Zoals de bootloader programma de schets ontvangt, slaat het in het onderste gedeelte van Flash-geheugen. Een schets die u hebt geladen in Flash-geheugen meestal niet veranderen zelf of de bootloader, noch kan het schrijven naar ongebruikte delen van Flash-geheugen. Alleen programma's die op het gebied van de gereserveerde bootloader kunnen schrijven naar de Flash-geheugen. Gevorderde gebruikers kunnen een klein codefragment gestoken in het gebied van de bootloader van geheugen hebben zitten, samen met de bootloader die woonachtig en aanroepen vanuit hun programma dat wordt uitgevoerd in het onderste gedeelte van het geheugen van de flits, waardoor hun programma naar Flash-geheugen te schrijven.
Sinds de echte of kloon UNO en Mega 2560 worden geleverd met een programmeerbare USB-naar-serieel-processor, is het mogelijk een programma om naar te uploaden die processor te treden als een ISP-programmeur, en verbonden met de UNO van of naar de Mega's hoofdprocessor en opnieuw branden het bootloader of laden van een schets via Internet-provider. Of u een schets kunt uploaden naar de hoofdprocessor die opnieuw programma's van de USB-naar-serieel processor via Internet-provider. Dit heet soms UNO zelf-ISP.
U kunt ook een FTDI USB-naar-serieel omzetter gebruiken als een ISP-programmeur met behulp van een programma op uw computer die bits-pony het ISP-protocol op de FTDI-omzetter pinnen.
Deze alternatieve methoden van de ISP zijn meestal academische bezigheden, omdat het gemakkelijker en goedkope ISP programmeur apparaat gebruikt of een andere Arduino gebruiken als een ISP-programmeur. Maar als je in een brandend opgesloten gebouw met niets maar beperkte Arduino hardware, uw buddy MacGyver nagelknipper en een matchbook, je ISP programmering kan doen en wellicht nog tijd om te ontsnappen voor de vuurbal explosie.
Het is mogelijk om de bootloader Optiboot op de ATmega32U4 gebaseerde Arduinos, gebruiken om te uploaden schetsen via de TTL seriële RX en TX pinnen. Dan zou u moeten een externe USB-naar-serieel adapter of ander serieel apparaat gebruiken om te uploaden, en geen gebruik van de USB-poort van de ATmega32U4-processor. Ik behandel dit begrip in een ander Instructable waar ik laten zien hoe een Bluetooth-module gebruiken om te uploaden naar een Leonardo. Ik houd vertellend u één meer ding... Nou, dat is nog een andere manier voor het uploaden van een schets aan de Arduino: via een Bluetooth of andere draadloze serieel apparaat.
Het is ook mogelijk om een virtuele USB-poort op een processor zoals ATmega328P. In de Adafruit Pro Trinket, er is geen USB-naar-serieel-chip, maar er is een USB-poort toch. Hoe hebben ze dat doen? Wat ze hebben gedaan is de digitale pennen 2 en 7 sluit aan op de USB-poort, en vervolgens gebrand een speciale bootloader op de chip die naar USB signalen op de 2 pinnen luistert. Er is geen speciale hardware binnen de chip die deze signalen, leest zodat de bootloader bevat speciale code die cijfers uit de signalen en accepteert een schets. Dat is nog een andere manier voor het uploaden van een schets.
Wanneer u klikt op de upload-knop in de Arduino IDE, of wanneer je naar het menu bestand of schets en klikt u op Upload, is de USB-naar-serieel uploadmethode de standaardmethode die wordt gebruikt voor de meeste boards. Wanneer u in het menu Ga naar Sketch (of een bestand op IDE 1.6.4 en ouder) en klik op uploaden met behulp van programmeur, thats wanneer de IDE probeert te gebruiken van uw ISP programmeur of Arduino als ISP, voor het uploaden van een schets via Internet-provider. Hier is één meer lekkernij kan je onderzoek en spelen met. Als u wilt dat de upload-knop te programmeren om te uploaden naar een targetbord ISP doen, kunt u een aangepaste boards.txt vermelding. Er zijn instellingen in de post die bepalen welke uploadmethode wordt gebruikt, seriële of ISP.
Hier is een lekkernij die ik hoop verduidelijkt in plaats van verwart. Ik vind het ongelukkig dat Arduino een ISP programmeur apparaat genaamd ArduinoISP maakte, en als je het gebruikt je moet om te selecteren in het menu Extra, programmeur, ArduinoISP. Dat apparaat wordt stopgezet voor zover ik weet, maar het nog verkrijgbaar via sommige winkels is. Het is een ongelukkige formulering en potentieel verwarrend omdat bij gebruik van een Arduino als ISP u de schets genaamd ArduinoISP laden en selecteer in het menu Extra, programmeur, Arduino als ISP.