Deze lui oude Geek zit ook een Arduino-Geek. Bent u een Arduino Geek, is een van de gangbare microcontrollers gebruikt door Arduinos de Atmega328 chip. Om de Arduino software gebruikt, moet de Atmega bootloader software daarop.
Oke, dus ik wat lege Atmega328-PU-chips van Mouser.com kocht.
TIP: Als u uw leven eenvoudiger maken wilt, de Atmega328P-PU chips in plaats van de Atmega328-PU-chips bestellen
Ik wist niet dat er een verschil was. Voor zover ik vertellen kan, de Atmega328P-PU heeft lager vermogen maar heeft ook een ander apparaat handtekening die belangrijk voor de gebruikers van de Arduino is. Vanaf November 2011 is de Atmega328-PU goedkoper door ongeveer $1.
Probleem: Zo zijn er honderden artikelen over het installeren van de bootloader op de Atmega328. Ik bouwde een met behulp van een Arduino voor het programmeren van de chip. Ik bouwde een met behulp van de USB-BUB te programmeren van de chip. Ik bouwde een via een parallelle poort te programmeren van de chip. Nou, zelfs na een week voor de probleemvaststelling en zoeken op het Internet, geen van hen werkte. Dus ik gaf het op. Ik ben meestal een zeer persistent hacker, maar ik ben oud dus ik gaf het op.
Oplossing?: Nou, ongeveer een maand later zag ik een andere bootloader van Ladyada.net:
http://ladyada.net/library/tools/standaloneisp.html
Nou, deze leek een stuk allermeest naar de anderen die ik gebouwd. Maar het was van AdaFruit die heeft een aantal van de beste tutorials (nauwkeurig, volledig, goed gedocumenteerde) ik heb voor de Arduino en had andere code. Dus ik van de hardware (zie foto gehackt) met behulp van een Arduino RBBB en geladen van de software. En wat denk je. Het werkte niet nog.
Zeer FRUSTREREND!
Nou, ik keek op de code en zag dat het gebruik van de seriële Terminal opgericht. Dus ik opende de seriële Terminal en liep het programma opnieuw.
Dit is de foutmelding die ik kreeg. (Zie afbeelding)
Na een heleboel gek rond met Bootloaders dacht ik dat dit niet de juiste handtekening die de meeste software zocht was.
Handtekening: Dus wat is een handtekening? Nou, het blijkt dat er een specifieke code hard wired in de chip te identificeren. Nu alle bootloader software leek te worden op zoek naar 0x950F en niet 9514 of 0x9514.
GeekSpeak: Dit is hetzelfde als de ROM-code die niet kan worden gewijzigd. By the way als je ziet dat programmacode geschreven beginnend met '0 x' dat betekent het een hexadecimaal getal. Ik zal niet ingaan op details, maar hexadecimale getallen van 0 tot en met 15 in plaats van 0 tot en met 10 gaan.
Handtekening: Dus het blijkt dat de software van de bootloader die ik heb gezien waren gebaseerd op de handtekening van de 0x950F die de handtekening voor de Atmega328P-PU-chip. In de elektronica voor 40 jaar, ik meestal genegeerd brieven na het getal. Ze zijn meestal gewoon revisies. Dit is in feite waar, maar in dit geval de wijziging ook van invloed op bootloading.
GeekSpeak: De PU verwijst naar de verpakking in dit geval PDIP die past in het 28-pins aansluiting voor smalle IC, die is de voorkeur van de meeste hobbyisten.