Leon 3 Offset setzen, um von Addresse x zu booten

OP #1931682
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
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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.