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 

Cortex-M0 in remaping vektorjev

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



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

PrispevekObjavljeno: Pet Maj 13, 2011 11:04 pm    Naslov sporočila:  Cortex-M0 in remaping vektorjev Odgovori s citatom

Živjo

Delam na LPC1114 in v uporabi bo "secondary" bootloader. Ta leži na prvih sektorjih flash-a. Aplikacija pa potem leži nad bootloaderjem. Vektorji na lokaciji 0 naprej so rezervirani za bootloader, za aplikacijske vektorje je treba narediti "re-maping".

Vendar problem: pri Cortex-M3 se enostavno popravi VTOR register in s tem se "remap"-a vektorje za poljuben offset (torej v aplikacijski del). Pri Cortex-M0 se tega ne da, ker so fiksni na lokaciji 0. Lahko se edino "remap"-ajo v RAM (ali v ROM Boot, kar mi nič ne pomaga).

Kako vi rešujete ta problem? Kako naredite "remap"-ing?

Lp, Aleš
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
domen_puncer
Član
Član



Pridružen-a: Čet 01 Maj 2008 13:30
Prispevkov: 78
Aktiv.: 0.37
Kraj: Ljubljana, Mozirje

PrispevekObjavljeno: Sob Maj 14, 2011 1:41 pm    Naslov sporočila:   Odgovori s citatom

Zakaj ti RAM remapiranje ne pomaga?

Sicer ja, je nekaj dela. Je treba prepricat linker, da bo to na zacetku rama, pa ne smes pozabit skopirat iz flasha v init kodi, ampak ni nemogoce.

_________________
Tiskanje sudoku
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
spy
Član
Član



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

PrispevekObjavljeno: Sob Maj 14, 2011 8:26 pm    Naslov sporočila:   Odgovori s citatom

domen_puncer je napisal/a:
Zakaj ti RAM remapiranje ne pomaga?

Sicer ja, je nekaj dela. Je treba prepricat linker, da bo to na zacetku rama, pa ne smes pozabit skopirat iz flasha v init kodi, ampak ni nemogoce.


Si to že delal? Dela v redu?

Pomaga mi vse, kar bo delalo. Našel sem dva načina: eden je v app notes "secondary bootloader for LPC1100". Ta z asm ukazi popravi redirekcijo klicanja funkcije, ampak je problem vstaviti asm inline v thumb mode (Keil javi, da ni podprto v thumb mode). Drugi: remapiranje v RAM sem poskusil, ampak remapiranje ne kopira samo vektorjev (0xC0), ampak 0x200 bytov. Skratka obesi se.

Zato me zanima, če ima kdo preverjeno metodo, da ne odkrivam tople vode.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
domen_puncer
Član
Član



Pridružen-a: Čet 01 Maj 2008 13:30
Prispevkov: 78
Aktiv.: 0.37
Kraj: Ljubljana, Mozirje

PrispevekObjavljeno: Pon Maj 16, 2011 2:12 pm    Naslov sporočila:   Odgovori s citatom

Nisem delal tocno tega. Imam pa nekaj izkusenj in ne vidim zakaj ne bi delalo.

Imas SWD? Kje se pa "obesi"? Lahko izpises vsebino rama, ko se obesi?
Si rezerviral prvih 0x200 rama (in tja skopiral vektorje), da ne prepises vektorjev, ko inicializiras .data sekcijo?

_________________
Tiskanje sudoku
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
spy
Član
Član



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

PrispevekObjavljeno: Tor Maj 17, 2011 8:27 pm    Naslov sporočila:   Odgovori s citatom

Rešeno.

Problem je bil v vstopu v aplikacijsko kodo. Nekaj sem "pobrkljal" stack. Ostalo je bilo prav narejeno. Kopija vektorjev (do 0xC0) v RAM in remaping. Na drugih forumih je nekje zavajajoče napisano, da se remapira do 0x200.

Dela po pričakovanjih. Hvala vseeno za odziv.
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 -> ARM arhitektura Č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: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group