Spørgsmål:
Arduino Bootloader
Hristos
2009-11-11 22:44:13 UTC
view on stackexchange narkive permalink

Hvis jeg opgraderer min arduino fra ATMega 168 til ATMega 328, kan jeg bruge ATMega 168 som en stockchip fra fabrikken, eller vil bootloader forbyde dette? Med andre ord, vil jeg være i stand til at overskrive bootloaderen med min usbtiny ISP-programmør på 168 til at bruge som Atmel-lagerchip med Avrdude? Er der nogle specielle trin, som jeg skal tage som at nulstille sikringer?

Tre svar:
Lou
2009-11-11 23:19:03 UTC
view on stackexchange narkive permalink

Ja, du kan omprogrammere chippen. Jeg gjorde det samme, da jeg opgraderede min Arduino fra en 168 til en 328 for to uger siden. Chippen fungerer godt i en anden applikation.

Vær naturligvis opmærksom på, at du muligvis bliver nødt til at skifte sikringer, afhængigt af hvilken slags kort du havde, og hvilken type kort du flyttede den til. Det mest almindelige kunne jeg forestille mig (og dem jeg måtte nulstille) beskæftigede sig med at skifte til den interne oscillator og indstille skillevægge i stedet for at bruge en ekstern krystal. Der er dog ingen omfattende liste over sikringsændringer, fordi det afhænger af, hvilken slags kredsløb du flytter chippen til. YMMV.

- Rediger - Som JohnC sagde, ja, omprogrammering af sikringer skal ske, FØR du fjerner den fra Arduino. Da Arduino er smeltet sammen med en ekstern oscillator, vil chippen ikke gøre noget, hvis det placeres på et bræt uden en oscillator.

JohnC
2009-11-11 23:48:52 UTC
view on stackexchange narkive permalink

Jeg ville nulstille sikringerne til fabriksindstillinger, mens 168 stadig er i Arduino-kortet. Hvis sikringerne er konfigureret til en ekstern oscillator (som de er i Arduino), og der ikke er en, vil du ikke være i stand til at omprogrammere uden at bruge en højspændingsprogrammer. Indstilling til fabriksstandard indstiller chippen til at bruge en intern oscillator.

edebill
2009-11-15 21:21:56 UTC
view on stackexchange narkive permalink

Jeg har gjort dette - trak 168 fra en arduino, programmerede den med USBtinyISP. Du skal bruge en eller anden form for målkort til USBtiny ISP. Jeg brugte en af ​​disse fra Evil Mad Scientist Labs sammen med et ZIF-stik fra Sparkfun. Det faktiske kredsløb, der er nødvendigt for at programmere dem, er simpelt nok til at du kan bygge det på et protoboard uden meget besvær. EMSL har også en praktisk artikel om, hvad det kredsløb skal være, så du kan gøre det selv.

For at et målkort kan fungere, skal det konfigureres med mindst en tilnærmelse af, hvordan chippen er allerede smeltet. Det betyder at have den rigtige mængde strøm (hvis brownout-detektionskredsløbet er aktiveret) og have en oscillator, hvis chippen er indstillet til at bruge en ekstern (AFAIK-chippen ignorerer en ekstern oscillator, hvis den ikke er smeltet sammen med den). Du skal enten først indstille sikringerne til at bruge den interne oscillator, inden du tager den ud af Arduino eller placere en oscillator på dit målkort. Jeg tror ikke, at Arduino leveres med brownout-detektion aktiveret, så du er sandsynligvis sikker på den score. Jeg vil foreslå, at du kun bruger jumperen på USBtiny til at levere strøm til målkortet i stedet for at gider med en ekstern strømforsyning.

Jeg kan ikke anbefale at bruge Arduino-kortet som programmørmål, fordi det har et normalt stik i stedet for et ZIF-stik. Jeg finder ud af, at det er meget mindre sandsynligt, at jeg manger stifterne på min MCU, når jeg bruger et ZIF-stik. At gå ind og ud af et brødbræt er dårligt nok. Sparkfun ser ud til at have de billigste priser på ZIF-stik, hvis du beslutter at gå den rute.

Da du allerede har en internetudbyder, kan du spare lidt penge på din 328-chip og købe en uden Arduino bootloader. Brug bare Arduino-softwaren til at brænde den passende bootloader til den, når du har fået den installeret.



Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 2.0-licens, den distribueres under.
Loading...