Arduino bootsector

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
lgrfbs
Inlägg: 6973
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Arduino bootsector

Inlägg av lgrfbs »

Kom i diskussion med en kompis som nyligen börjat med Arduino och han hävdade att han lyckats skriva sönder Arduino:s bootsector, försökte förklara för honom att Arduino inte har bootsector.
Har sökt på nätet för att se om jag hade fel och ännu har jag inte sett något projet där det talas om att Arduino har en bootsector.

Arduino har bootloder men det anser jag är en annan sak, så har Arduino bootsector?
Användarvisningsbild
Glenn
Inlägg: 33667
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Arduino bootsector

Inlägg av Glenn »

Jag skulle utgå från att det var den som menades ?
Användarvisningsbild
lgrfbs
Inlägg: 6973
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Re: Arduino bootsector

Inlägg av lgrfbs »

Möjligen.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Arduino bootsector

Inlägg av Janson1 »

Det är klart att bootloadern bor ju någonstans i minnet, kanske bootsectorn...?
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Arduino bootsector

Inlägg av Klas-Kenny »

Hur menade personen att han "skrivit sönder" då?
Bootladdaren (eller dess minnesarea) skrivs ju normalt aldrig någonting till. Dock kan man såklart göra en applikation som skriver till flashminnet, och skriver man då till (eller raderar) den del av minnet där bootladdaren ligger så kommer den inte längre fungera som den ska.


Sen vad gäller just frågan om "bootsektor" så är det ju svårt att tala helt generellt om Arduino, då det finns så många varianter numera.
De ursprungliga ATmega328 eller vad det var, har ingenting sådant. Bara en enda flash-area där allt program ligger.

Men det finns ju modernare varianter med ARM-processor, tex Due som tydligen har en AT91SAM3X8E. Den har enligt databladet en minnesarea som heter "Boot memory", vilket är det första som exekveras vid uppstart.
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Arduino bootsector

Inlägg av Mr Andersson »

Flash-sektorn som bootloadern ligger i blir ju de facto en bootsektor, även om det officiellt inte heter så.
Att atmega328 bara har ett flashminne spelar egenligen ingen roll. Flashet är fortfarande uppdelat i sektorer.

ARM-baserade processorer har oftast en flerstegs-bootloader där första steget ligger i ett ROM just för att man inte ska kunna skriva över det.
Den lilla loadern sköter sen om att ladda användarkoden (som i sig kan vara en annan bootloader) från flash/usb/sd/j-tag/etc.
Användarvisningsbild
lgrfbs
Inlägg: 6973
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Re: Arduino bootsector

Inlägg av lgrfbs »

Mr Andersson » Då var det bra att jag inte fortsatte diskussionen med honom.
Klas-Kenny »
Hur menade personen att han "skrivit sönder" då?

Det vet jag inte efter som jag borrade inte mycket mer i det då det fanns en möjlighet att han hade rätt. :)
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Arduino bootsector

Inlägg av Hobbyisten »

Han HADE ju rätt som Mr Andersson sa, skilda benämningar bara. Bootloaderkoden ligger i atmegan och sköter kommunikationen med USBn. Det krävs lyckligtvis speciell hårdvara för att bränna in den.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Arduino bootsector

Inlägg av Icecap »

En Arduino (original) är en vanlig gammal ATmega microcontroller.

Den har ett flash programminne som kan raderas i blockar.

Medelst speciella kommandon-följd kan den skriva till sitt eget flashminne - och det är exakt vad bootloadern gör när programmet läggs in.

Detta kan alltså även hända om man utför denna följd i programmet man har lagt in.

Jag har själv använd denna teknik för att spara statistik i en 64kB bank jag hade över i ett projekt.
Fungerar utmärkt - om man ser till att vara 100% säker på adresser, banker osv.
Skriv svar