www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Bootloader ATMEGA 128

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
smatjaz
Član
Član



Pridružen-a: Pon 10 Nov 2003 16:33
Prispevkov: 850
Aktiv.: 3.58

PrispevekObjavljeno: Sre Avg 11, 2010 2:47 pm    Naslov sporočila:  Bootloader ATMEGA 128 Odgovori s citatom

Pozdravljeni.
Zanima me, ali je možno in če, na kakšen način prebrati bootloader program v kontrolerju ATMEGA128?

Imam hardware in software, ki je vpisan v MEGA128. Software mislim malo predelati. Vsebino kontrolerja pa bi želel skopirati, kot backup. Za flash ni problem, vpršanje pa je ali se da skopirati tudi bootloader?

Predpostavljam, da je bootloader napisan različno od programerja, do programerja, kako si je komunikacijo zamislil. Ta je izdelan tako, da se glavni program (*.bin) nalaga kar preko Hyper terminala Xmodem protokol. Konektor je USB - direktno povezan na PE.1(Txd) in PD.5 kontrolerja ATMEGA128.

Zanima me kako se da prebrati bootloader in ali je to sploh možno?

Lp M.

_________________
Električni aparati delujejo na dim ... ko dim iz njih uide ... ne delujejo več!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
spy
Član
Član



Pridružen-a: Sre 06 Sep 2006 20:43
Prispevkov: 403
Aktiv.: 1.76
Kraj: Tržič

PrispevekObjavljeno: Sre Avg 11, 2010 5:14 pm    Naslov sporočila:   Odgovori s citatom

Atmel ima (tako kot danes vsi uC-ji) možnost zaščite notranjega flash-a pred branjem. Če je zaščita nastavljena, potem je moj odgovor "ne". Če pa ga niso zaščitili (kar je malo verjetno), ga bi se pa dalo. Programator priklopi gor in poglej.

PS: tema bi pasala bolj v AVR pod-forum.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
smatjaz
Član
Član



Pridružen-a: Pon 10 Nov 2003 16:33
Prispevkov: 850
Aktiv.: 3.58

PrispevekObjavljeno: Sre Avg 11, 2010 7:03 pm    Naslov sporočila:   Odgovori s citatom

To, da je možno zakleniti kontroler razumem. Zanima me, v kolikor ni zaklenjen ali ga je možno na nek način prebrati? Mislim, da z navadnim programatorjem preberem samo fuse bite in osnovni program zapisan v flash-u.

Zanimivo je tudi, da se software nalaga preko terminal emulatorja. Nekaj tukaj mora že biti odklenjeno.

LP M.

_________________
Električni aparati delujejo na dim ... ko dim iz njih uide ... ne delujejo več!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.63
Kraj: Kranj - struževo

PrispevekObjavljeno: Sre Avg 11, 2010 8:17 pm    Naslov sporočila:   Odgovori s citatom

Če je "bootloader" tovarniški (kar očitno ni), potem je v ločenem, zaklenjenem delu pomnilnika.

V tem primeru, ko je bootloader uporabniški, je del flash pomnilnika, kot vsak drug.
Za ta mikro sicer ne vem, ampak recimo LPCju lahko zakleneš posamezna območja proti branju. Mislim, da ima Mega samo en bit za cel flash.
Če je odklenjem, boš lahko prebral celotno vsebino, bootloader in program skupaj.

Mikroti lahko pišejo in brišejo po svojem flashu tudi če je na zunaj zaklenjen.
Bootloader je v prvem delu pomnilnika, program pa v drugem delu, ki ga bootloader briše/piše.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
smatjaz
Član
Član



Pridružen-a: Pon 10 Nov 2003 16:33
Prispevkov: 850
Aktiv.: 3.58

PrispevekObjavljeno: Sre Avg 11, 2010 10:23 pm    Naslov sporočila:   Odgovori s citatom

Uspešno sem prebral flash, eeprom in fuse bite.
Samo nisem prepričan da je to to.

Najbolje bi bilo, če bi prelotal kontroler in naložil prebran sw. Če bo delalo naj bi bilo OK. Problem je le, ker je SMD.

Imam slab občutek okrog tega bootloader-ja, ker nisem prepričan, da je zraven.

Tovarniško ni instaliran. Fuse biti zgledajo kot je v pripeti datoteki.

Ko sem primerjal original sw, ki je v formatu *.bin in sem ga pretvoril v hex in prebrani v hex sta popolnoma drugačna. Original je 218.419 byte, prebran pa 92.173 byte. Ne vem pa ali sem uporabil pravilni HEXBIN.com program? (če ni za 8051 družino in bi moral za AVR najti kaj drugega?)

LP M.



Fuse.jpg
 Opis:
 Velikost datoteke:  103.01 KB
 Pogledana:  7 krat

Fuse.jpg



_________________
Električni aparati delujejo na dim ... ko dim iz njih uide ... ne delujejo več!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
spy
Član
Član



Pridružen-a: Sre 06 Sep 2006 20:43
Prispevkov: 403
Aktiv.: 1.76
Kraj: Tržič

PrispevekObjavljeno: Sre Avg 11, 2010 10:50 pm    Naslov sporočila:   Odgovori s citatom

Najprej na programatorju spremeni "device" iz Mega32 na Mega128.

Iz pripete slike se vidi, da je bootloader uporabljen, ne pa, ali je flash zaščiten. Klikni še na "lock bits", da boš videl. Flash boš lahko prebral v vsakem primeru. Če je zaklenjen, ti ne bo javilo, da ne more prebrati, ampak le vsebina datoteke bo nesmiselna. Recimo dobil boš lepo urejen niz hex števil. To, da je velikost prebranega in original bin file-a drugačna, je posledica tega, da se prebere cel flash, original pa ima zapis le do konca aplikacije. To naj te ne moti.

Če ni zaklenjen, boš v prebrani datoteki videl na začetku aplikacijo, na koncu, od naslova 0xE000 pa bootloader.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
smatjaz
Član
Član



Pridružen-a: Pon 10 Nov 2003 16:33
Prispevkov: 850
Aktiv.: 3.58

PrispevekObjavljeno: Čet Avg 12, 2010 10:54 am    Naslov sporočila:   Odgovori s citatom

Ja sem opazil, da sem se zmotil in sem pozabil izbrati MEGA128 kontroler.
Ponovno sem prebral stanje, ki je sledeče.

Imam vprašanje: Ali je v prebrani datoteki Hex tudi bootloader ali ne?
Ali se program začne pri adresi 4096, do tam pa je bootloader?

Če bi bilo kako možno, bi te dva dela ločil (bootloader in program) ter si shranil vsakega posebej.

Zanima me, kakšna je razlika med postopkom, če moj program naložilm s programatorjem (ali ostane bootloader še v kontrolerju?) , ali uporabim način, da s Hyper terminalom preko Xmodem protokola prenesem moj program v obliki *.bin ???

Malo me je strah, če vpišem svoj program s programatorjem v kontroler, bom verjetno pobrisal bootloader.

Če pa skopiram celotno prebrano vsebino flash-a na drug MEGA128, ali bo tam tudi bootloader?

Ja kar precej vprašanj imam, ker kaj takšnega dosedaj še nisem delal.

Hvala vsem za odgovore.
LP M.



Fuse128.jpg
 Opis:
 Velikost datoteke:  101.96 KB
 Pogledana:  1 krat

Fuse128.jpg



Lock128.jpg
 Opis:
 Velikost datoteke:  78.48 KB
 Pogledana:  1 krat

Lock128.jpg



main128.jpg
 Opis:
 Velikost datoteke:  84.43 KB
 Pogledana:  3 krat

main128.jpg



_________________
Električni aparati delujejo na dim ... ko dim iz njih uide ... ne delujejo več!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
spy
Član
Član



Pridružen-a: Sre 06 Sep 2006 20:43
Prispevkov: 403
Aktiv.: 1.76
Kraj: Tržič

PrispevekObjavljeno: Čet Avg 12, 2010 12:54 pm    Naslov sporočila:   Odgovori s citatom

smatjaz je napisal/a:
Ali je v prebrani datoteki Hex tudi bootloader ali ne?

Lock bita sta postavljena, kontroler je zaščiten pred branjem flasha. Zato ne moreš brati vsebine. "Ne moreš" pomeni, da bo datoteka vsebovala le lep niz hex števil, ki pa nič ne pomenijo (brum na flash linijah). Če (če!) pa kontroler ne bi bil zaklenjen, pa bi datoteka vsebovala oboje.

smatjaz je napisal/a:
Ali se program začne pri adresi 4096, do tam pa je bootloader?

Ne, program se začne na začetku na 0x0000 in konča, kjer se. Bootloader je na koncu in se začne na 0xE000. 4096 je "size"...velikost.

smatjaz je napisal/a:
Če bi bilo kako možno, bi te dva dela ločil (bootloader in program) ter si shranil vsakega posebej.

Ja, če bi lahko prebral vsebino, bi lahko aplikacijski del kopiral v drug file, bootloaderski del pa v drug.

smatjaz je napisal/a:
Zanima me, kakšna je razlika med postopkom, če moj program naložilm s programatorjem (ali ostane bootloader še v kontrolerju?) , ali uporabim način, da s Hyper terminalom preko Xmodem protokola prenesem moj program v obliki *.bin ???

Lahko je enako, lahko ni. Če imaš v hex file-u (katerega boš programiral) zapis samo do adrese, ki je konec aplikacije, ti bo programiral samo do konca tja in ti pustil ostalo pri miru (bootloader). Ne smeš imeti vključeno "erase before programming". Ker pa je kontroler zaklenjen, ga odkleneš samo tako, da ga brišeš in si izgubil....

smatjaz je napisal/a:
Malo me je strah, če vpišem svoj program s programatorjem v kontroler, bom verjetno pobrisal bootloader.
Če pa skopiram celotno prebrano vsebino flash-a na drug MEGA128, ali bo tam tudi bootloader?

Ker je zaklenjen, boš ob vsakem poskusu izgubil vsebino...to je tudi "point" zaščite.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
smatjaz
Član
Član



Pridružen-a: Pon 10 Nov 2003 16:33
Prispevkov: 850
Aktiv.: 3.58

PrispevekObjavljeno: Čet Avg 12, 2010 5:12 pm    Naslov sporočila:   Odgovori s citatom

Hvala spy za vse detaljne odgovore.

Še eno vprašanje.

Proizvajalec je dal možnost nadgradnje firmware-a ki je kot nova verzija priložen na CD-ju. Tam je datoteka FirmwareVer3_4.bin, ki jo lahko naložim s pomočjo Hyperterminala X-modem protokol.

Zanima me, če v isti kontroler vpišem svoj *.bin file preko Hyperterminala Xmodem protokol, ki ga naredim po svoje, ali obstaja verjetnost, da bo sistem z mojim programom deloval oz. če bom ponovno naložil proizvajalčev program nazaj, ali s tem sistem še lahko povrnem v začetno (proizvajalčevo) stanje?

Kolikor kaže bo najbolje, da odlotam kontroler zalotam svojega in štrikam po svoje. Če želim prvotno stanje pa ga prelotam nazaj.

LP M.

_________________
Električni aparati delujejo na dim ... ko dim iz njih uide ... ne delujejo več!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.63
Kraj: Kranj - struževo

PrispevekObjavljeno: Čet Avg 12, 2010 7:07 pm    Naslov sporočila:   Odgovori s citatom

Ta varianta s podtikanjem fajla bi verjetno šla. Ampak nikoli ne veš...
Na tvojem mestu bi ga previdno odlotal.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
spy
Član
Član



Pridružen-a: Sre 06 Sep 2006 20:43
Prispevkov: 403
Aktiv.: 1.76
Kraj: Tržič

PrispevekObjavljeno: Pet Avg 13, 2010 9:57 am    Naslov sporočila:   Odgovori s citatom

smatjaz je napisal/a:
Zanima me, če v isti kontroler vpišem svoj *.bin file preko Hyperterminala Xmodem protokol, ki ga naredim po svoje, ali obstaja verjetnost, da bo sistem z mojim programom deloval oz. če bom ponovno naložil proizvajalčev program nazaj, ali s tem sistem še lahko povrnem v začetno (proizvajalčevo) stanje?


Ponavadi so nadgradni file-i kriptirani, kar pomeni, da jih bootloader tudi odkodira. Torej moraš tvoj bin file enako skriptirati, pri čemer algoritma ne poznaš. Verjamem, da so tako naredili tudi v tej napravi. Tu verjetnosti ni, da ti uspe.

Če pa bin ni kriptiran, imaš srečo in oni slab razvojni oddelek, saj vsak (malo bolj izkušen programer) lahko pride do izvorne kode. V tem primeru bi lahko napisal svoj program in ga naložil gor. Paziti bi moral le, da ti aplikacija slučajno ne bo pisala v bootloaderski del flash-a, kajti fuse BLB1 ni postavljen (glej tvojo sliko). BLB1 pomeni, da bootloaderski del ne dovoli pisanja v njegov del flash-a.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
smatjaz
Član
Član



Pridružen-a: Pon 10 Nov 2003 16:33
Prispevkov: 850
Aktiv.: 3.58

PrispevekObjavljeno: Pon Avg 16, 2010 8:59 am    Naslov sporočila:   Odgovori s citatom

Še enkrat hvala vsem skupaj za odgovore. Sem se odločil, da bom kontroler odspajkal in na HW prispajkal moj kontroler, na katerem bom poskusil kaj narediti. Ker je HW dokaj univerzalen, RS232, vhodi, izhodi, ... bom skušal to uporabiti.

Lp M.

_________________
Električni aparati delujejo na dim ... ko dim iz njih uide ... ne delujejo več!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 4 dni


Powered by phpBB © 2001, 2005 phpBB Group