Vill ej använda Arduino bootloader
Vill ej använda Arduino bootloader
Om jag tar hexfilen som Arduinomiljön skapar och bränner den direkt via Atmel Studio 6, får man då med bootloadern?
Använder en Arduino Micro som tangenbordsemulator men PC;n frågar efter drivrutin när jag ansluter den.
Fattar ej om kortet emulerar ett tangentbord (och tagit bort bootloadern) så skall man väl ej behöva en Arduino driver?
När man ansluter ett tangentbord så frågar inte PC;n efter driver.
Använder en Arduino Micro som tangenbordsemulator men PC;n frågar efter drivrutin när jag ansluter den.
Fattar ej om kortet emulerar ett tangentbord (och tagit bort bootloadern) så skall man väl ej behöva en Arduino driver?
När man ansluter ett tangentbord så frågar inte PC;n efter driver.
Re: Vill ej använda Arduino bootloader
Då hex-filen är gjort för att ligga "över" bootloadern och att kallas av den kommer det inte att fungera!
Men kompilerar du den i en riktig C-miljö, t.ex. AVR studio, kommer du att få en "riktig" hex-fil som kan läggas in direkt och som rent faktisk startar utan bootloadern.
Men kompilerar du den i en riktig C-miljö, t.ex. AVR studio, kommer du att få en "riktig" hex-fil som kan läggas in direkt och som rent faktisk startar utan bootloadern.
Re: Vill ej använda Arduino bootloader
Jag trodde att man på något sätt kunde sätta en "switch" i Arduinomiljön så att bootloadern exkluderas.
Eller är det så att bootloadern alltid ligger fast på ett visst område och jag "bränner" ner applikationen och inte någon bootloader så ligger fortfarade den gamla bootloader kvar?
Fattar din idé med "riktig miljö" men att kompilera Arduinokod(dvs gjord i den miljön) i AVR Studio är väl lite klurigt?
Har du något tips hur man går tillväga?
Jag har jobbat med programmering av inbyggda system i många år men gjort annat de tio sista åren.
Tekniken går fort fram och det är väl knappast någon här på forumet som jobbat med dynamiska minnen o eprom.
Eller är det så att bootloadern alltid ligger fast på ett visst område och jag "bränner" ner applikationen och inte någon bootloader så ligger fortfarade den gamla bootloader kvar?
Fattar din idé med "riktig miljö" men att kompilera Arduinokod(dvs gjord i den miljön) i AVR Studio är väl lite klurigt?
Har du något tips hur man går tillväga?
Jag har jobbat med programmering av inbyggda system i många år men gjort annat de tio sista åren.
Tekniken går fort fram och det är väl knappast någon här på forumet som jobbat med dynamiska minnen o eprom.
- Klas-Kenny
- Inlägg: 11841
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Vill ej använda Arduino bootloader
Du kan ju i Arduino-miljön använda funktionen "Upload using programmer", då ska den hoppa över allt vad bootloader heter och programmera direkt genom din ISP-programmerare.
Re: Vill ej använda Arduino bootloader
> Jag trodde att man på något sätt kunde sätta en "switch" i Arduinomiljön så att bootloadern exkluderas.
Det är säkert normalläget. Bootloadern i sig kommer inte med när du
bygger din applikation, enbart din egen kod (som bootlaodern sen
hjälper till med att få över till processorn).
> och jag "bränner" ner applikationen och inte någon bootloader så ligger fortfarade den gamla bootloader kvar?
Bootloaders själva syfte är att hjälpa till med programmeringen. PC'n skickar
över koden till bootloadern och det är *den* som sedan "bränner" applikation
till rätt adresser.
Det är lite som att ha en inbyggd programmerare i själva processorn.
Och halva bootloadern ligger i programvaran/drivern på PC'n som
kommunicerar med den del som ligger på processorn. Det är oftast
något speciellt protokoll för varje bootloader.
Och tanken är så klart att bootloadern alltid ligger kvar till man av
någon anledning beslutar sig för att uppgradera den eller kanske att
köra utan bootloader, men då behöver man en "riktig" programmerare.
Det går att skriva en bootloader på ett sådant sätt att den även
klarar av att "programmera om sig själv", så att säga, men det
är inte alls säkert att det är så. Och om man har råkat tappa bort
bootlaodern helt, så finns det inget annat sätt att få tillbaka den
igen än att köra med en riktigt/normal programmerare (och i det läget
så är ju bootloader enbart som vilken annan applikation som helst).
Det är säkert normalläget. Bootloadern i sig kommer inte med när du
bygger din applikation, enbart din egen kod (som bootlaodern sen
hjälper till med att få över till processorn).
> och jag "bränner" ner applikationen och inte någon bootloader så ligger fortfarade den gamla bootloader kvar?
Bootloaders själva syfte är att hjälpa till med programmeringen. PC'n skickar
över koden till bootloadern och det är *den* som sedan "bränner" applikation
till rätt adresser.
Det är lite som att ha en inbyggd programmerare i själva processorn.
Och halva bootloadern ligger i programvaran/drivern på PC'n som
kommunicerar med den del som ligger på processorn. Det är oftast
något speciellt protokoll för varje bootloader.
Och tanken är så klart att bootloadern alltid ligger kvar till man av
någon anledning beslutar sig för att uppgradera den eller kanske att
köra utan bootloader, men då behöver man en "riktig" programmerare.
Det går att skriva en bootloader på ett sådant sätt att den även
klarar av att "programmera om sig själv", så att säga, men det
är inte alls säkert att det är så. Och om man har råkat tappa bort
bootlaodern helt, så finns det inget annat sätt att få tillbaka den
igen än att köra med en riktigt/normal programmerare (och i det läget
så är ju bootloader enbart som vilken annan applikation som helst).
Re: Vill ej använda Arduino bootloader
Vad jag fortfarande inte har klart för mig, hur får jag bort bootloadern?
Jag har en AVR Jtagice II så själva programmeringen är inga problem.
Vill bli av med bootloadern och endast bränna ner applikationen för att inte PC;n skall fråga efter drivern för ardoino micro.
Jag har en AVR Jtagice II så själva programmeringen är inga problem.
Vill bli av med bootloadern och endast bränna ner applikationen för att inte PC;n skall fråga efter drivern för ardoino micro.
Re: Vill ej använda Arduino bootloader
Det är inget speciellt med bootloadern, det är bara en applikation
som vilken som helst. Hela processorn raderas vid en "Erase all"
vilket är det normala vid en standard programmering med en
vanlig standard programmerare.
> Vill bli av med bootloadern och endast bränna ner applikationen för att inte PC;n skall fråga efter drivern för ardoino micro.
PC'n frågar sannolikt efter drivern eftersom du försöker programera via bootloader.
*Inte* p.g.a att processorn råkar en ha bootloader, det har ju inte PC'n en susning om...
som vilken som helst. Hela processorn raderas vid en "Erase all"
vilket är det normala vid en standard programmering med en
vanlig standard programmerare.
> Vill bli av med bootloadern och endast bränna ner applikationen för att inte PC;n skall fråga efter drivern för ardoino micro.
PC'n frågar sannolikt efter drivern eftersom du försöker programera via bootloader.
*Inte* p.g.a att processorn råkar en ha bootloader, det har ju inte PC'n en susning om...
Re: Vill ej använda Arduino bootloader
4:e träffen eller så på google:
http://www.johndimo.com/2012/01/18/prog ... w-1-0-ide/
Har aldrig använt Arduino själv så jag vet inte om det är exakt vad du söker men jag tycker att det låter rätt i alla fall.
http://www.johndimo.com/2012/01/18/prog ... w-1-0-ide/
Har aldrig använt Arduino själv så jag vet inte om det är exakt vad du söker men jag tycker att det låter rätt i alla fall.
-
- EF Sponsor
- Inlägg: 2109
- Blev medlem: 27 augusti 2005, 20:57:58
- Ort: Borlänge
Re: Vill ej använda Arduino bootloader
Alternativt klicka bort "Boot Reset Vector Enabled" under Fuses för att undvika att bootloadern startas.
Re: Vill ej använda Arduino bootloader
Nej jag programmerar inte via bootloadern, kör med extern programmerare.
Men den stora frågan varför frågar PC;n efter driver om jag inte har någon bootlader?
Om nu Arduinon emulerar ett tangentbord så skall väl inte PC;n fråga efter en driver.
Sammanfattningsvis så har jag skrivit ett program som översätter knappar till tangentryckningar som fungerar på två av tre datorer men inte på min pc som kör mitt Mach 3 system. Där frågar den efter drivern till Arduino micro och vägrar att aceptera driven. Detta är anledningen till att jag vill ta bort bootloadern och se om pc;n fortfarande frågar efter drivern.
Men den stora frågan varför frågar PC;n efter driver om jag inte har någon bootlader?
Om nu Arduinon emulerar ett tangentbord så skall väl inte PC;n fråga efter en driver.
Sammanfattningsvis så har jag skrivit ett program som översätter knappar till tangentryckningar som fungerar på två av tre datorer men inte på min pc som kör mitt Mach 3 system. Där frågar den efter drivern till Arduino micro och vägrar att aceptera driven. Detta är anledningen till att jag vill ta bort bootloadern och se om pc;n fortfarande frågar efter drivern.
Re: Vill ej använda Arduino bootloader
Svar nej, jag programmerar kortet och och sätter sedan
In kortet i en helt annan dator.
In kortet i en helt annan dator.
Re: Vill ej använda Arduino bootloader
Det är kollosalt rörigt just nu.
Kan du inte klart och tydligt beskriva vad du gör.
Jag fattar inte var "en annan dator" kom in i bilden.
Är det alltså *inte* vid programmeringen som problemet
med "drivern" uppstår !?
Kan du inte klart och tydligt beskriva vad du gör.
Jag fattar inte var "en annan dator" kom in i bilden.
Är det alltså *inte* vid programmeringen som problemet
med "drivern" uppstår !?
Re: Vill ej använda Arduino bootloader
Om jag tolkar det rätt så har han programmerat sin Arduino att agera som ett vanligt tangentbord men när han kopplar in den till datorn så vill datorn söka efter en drivrutin (vilket normalt inte skall behövas för ett tangentbord). Därför vill han prova att ta bort bootloadern så att hans kod körs direkt och se om det är det som ställer till det.
Länken jag gav ovan verkar göra just det: "Using this method you will bypass the Arduino bootloader, freeing up some flash memory as well as avoiding the initial startup sequence that needs to be used for the tradition sketch upload.". Men, jag fick ingen reaktion så jag vet inte.
Länken jag gav ovan verkar göra just det: "Using this method you will bypass the Arduino bootloader, freeing up some flash memory as well as avoiding the initial startup sequence that needs to be used for the tradition sketch upload.". Men, jag fick ingen reaktion så jag vet inte.