Du er her: Start Teknologi Mikrokontrollere Arduino Programmering av Arduinokort ved hjelp av AVRISP XPII
AVRISP mkII fra Atmel er en intelligent programmerer som kan programmere Arduino-kort ved help av ISP-kontakten på kortet.
Det hender at programmeringsmiljøet for Arduino (Arduino IDE) ikke kan programmere kortet da oppstartslasteren (bootloader) som tar i mot skissen (programmet) ikke fungerer.
Det er mulig å oppdatere bootloaderen på Arduinokortet ved å bruke 'Burn Bootloader' på 'Tool'-menyen (eller 'Brenne oppstartslaster' på 'Vertøy'-menyen dersom du bruker norsk språksetting i Arduino). Det er viktig at kort, prosessor og port er innstillt riktig. Men ofte vil også dette feile. Da er den eneste muligheten å bruk ISP-kontakten på kortet for å laste opp skissen (programmet).
Dette kan gjøres på to måter. Enten å bruke en annen Arduino eller å bruke en egen programmer som for eksempel AVRISP mkII fra Atmel
For å bruke en annen Arduino som programmer, må du lage en 6-pins kabelkobling mellom de to ISP-kontaktene på kortene. Deretter kobles programmerings-Arduinoen. Det er COM-porten på programmerer-kortet som skal oppgis, men kort og prosessortype settes opp for det kortet som skal programmeres. I 'Tools' ('Vertøy') - menyen velges 'Arduino as ISP' i 'Programmer' -oppsettet. Skissen som skal overføres, hentes så inn i programmerer-Arduinoen.ved å klikke på opplastingsikonet samtidig som du holder ned Shift-tasten. Boot-loaderen vil samtidig bli overskrevet og programskissen vil bruke hele tilgjengelige programmeringsområdet. Ny bootloader kan senere lastes opp ved å velge 'Burn Bootloader', men da må programskisser lastes opp på nytt på vanlig måte.
Fordelen med å bruke ISP-kontakten for å laste opp programskisser, er at hele flashområdet brukes. Opplastingen skjer raskere og skissen starter straks etter resett. Ulempen er at bootloaderen mistes. Den tradisjonelle måten å laste opp programskissen med bootloaderen fører til at det tar lenger tid å laste opp og programmet og at det starter først etter inntil 3 sekunder.
Dersom du bruker AVRISP MKII som programmerer, er prosdyren i Arduino nesten den samme. Den eneste forskjellen at du velger 'AVRISP mkII' som programmerer i 'Vertøy'-menyen. En annen forskjell er at AVRISP mkII ikke gir strøm til kortet som skal programmeres. Derfor må dette kortet kobles til en 5-volt-kilde, f.eks. til en USB-port fra en batteripakke som gir 5 volt til Arduinokortet. Husk også å velge korttypen som skal programmeres. Etter at AVRISP-programmerenheten er tilkoblet ISP-kontakten, lastes programskissen opp i Arduinokortet ved å holde Shift-tasten nede samtidig som Upload-tasten trykkes i Arduino IDE. Vær oppmerksom på at boot-partisjonen overskrives i denne operasjonen. AVRISP MKII bruker ikke COM-port. Fordelen med dette er at skissen starter umiddelbart etter oppstart og venter ikke opp til 3 sekunder der boot-loaderen sjekker om ny skisse skal lastes opp. Ny bootingpartisjon kan installeres ved å velge 'Burn Bootloader' i Arduino IDE.
Men AVRISP mkII må installeres før det kan brukes. USB AVRISP XPII/MKIII krever egen driver for Windows som kan lastes ned her . Mac trenger ikke egen driver.
Se mer info om AVRISP MKII her
Det synes ikke som at AVRISP MKII fungerer for nano-kortene. Disse kortene kan derimot fungere på vanlig måte dersom man velger Old Bootlloader i menyvalget "Prosessor: ATmega328P" i Tool-menyen i Arduino IDE,
Dersom driveren for AVRISP mkII ikke fungerer i Atmel Studio, gjør dette:
Hallo i have made this and the problem is the same. The AVRISP mkii driver is not installed in windows8.1 device manager. I've found a solution for me with the following steps: Now i have two entries "WinDriver" in device manager. Afther this the AVRISP mkii is working in atmel studio 6.1. Greetings from Rolf in Old Germany |
For å koble ISP til et Gimbal kontrollkort som ikke har en egen 6-pins ISP-kontakt, skal MISO kobles til C4. De øvrige tilkoblingene brukes som anvist på kortet.