Leon 3 Offset setzen, um von Addresse x zu booten

OP #1931682
Lesenswert?
• ▲
▼
hi,

ich versuche die rstaddr beim leon3 zu verändern auf 0x000a0000. 
Standard ist 0x0. Das ist die Addr von der der Leon aus dem flash 
bootet. Ich habe ein helloworldprogramm an die gennante Stelle 
geschrieben und muss nun den Offset anpassen.
Bei der Xconfig zu finden unter -> Processor > IU > reset.

oder auch direkt in der config.vhd:

constant CFG_RSTADDR : integer := 16#000a0#;

Das Problem ist das das setzen dieses Parameters keine Auswirkungen hat.
Er hat seinen Programmcounter immer auf Adresse 0, egal was ich dort 
eintrage. Und er schreibt beim Starten somit auch keinerlei Daten in den 
Ram.

Ist das ein Bug? Hat jmd schonmal den Offset geändert?


Ich hab auch schon ein go 0x000A0000 im Grmon versucht,um zu sehen ob er 
wenigstens dann das Programm ausführt;er versucht zu starten,bekommt 
aber die Fehlermeldung tt=0x07 (mem_address_not_aligned). Auch hierbei 
kopiert er nichts in den Ram.

Wenn ich die Addresse des Programms auf Standard 0x0 lasse funktioniert 
alles einwandfrei, da ja auch der Offset vom Leon Standardmässig auf 0x0 
ist.

Gibts da evtl. noch eine Möglichkeit den Leon während dem Betrieb von 
der Addresse booten zu lassen? Ein go hab ich schon versucht...


So hab ich das Programm compiliert,falls da ein Fehler liegen sollte:

sparc-elf-gcc -msoft-float -c -g -O2 hello.c

mkprom2 -freq 40 -rmw hello.o -msoft-float -rstaddr 0x000a0000

.text belegt ca. 23kB
.data belegt ca 2,5kB

Gruß Daniel
OP #1933422
Lesenswert?
• ▲
▼
hm, Jiri antwortet nicht so konkret...immer nur in so kurzen Sätzen.
Ich schreib eben parallel in mehreren Foren^^

Zurück zum Problem:

Ich hab jetzt mit GRMON das Programm erneut in den Flash geladen auf 
Adresse 0, die ja Standard ist. Das funktioniert NACHDEM ich den Leon 
draufgeladen habe ohne Probleme. Dieses mal war der Leon aber bereits 
initialisiert.Ich hab dann ein go 0 gemacht und bekomme eine 
Fehlermeldung.

Ich vermute stark das das was mit dem Bootvorgang vom Leon selbst zu tun 
hat. Immer nach dem laden des Leon auf den FPGA funktioniert das 
Programm. Da lädt er gleich danach etwas in den Ram.

Weiß jemand wie ich am Bootvorgang vom Leon etwas ändern kann?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren