Leon3 auf Spartan6 bekommen (Probleme)

OP #1892795
Lesenswert?
• ▲
▼
hi,

Ich versuche den freien Leon3 Prozessor auf den FPGA vom Spartan-6 SP601 
Evaluation Board von Xilinx zu bekommen.

Hier der Link zur GRLIB mit dem Leon3:
http://www.gaisler.com/cms/index.php?option=com_content&task=view&id=156&Itemid=104

Ich verwende Cygwin, gehe zum Ordner 
grlib-gpl-1.0.22-b4095\designs\leon3-xilinx-sp601 und führe make xconfig 
aus. Hier kann man die Einstellungen für den Processor vornehmen.
Danach kompiliere ich sie mit dem befehl make ise-map.
Dabei bekomme ich folgende Fehlermeldungen:

Error:XST:2937 - Processing TIMESPEC OFFSET: No signal name erx_clk 
found in design.

Error:XST:1489 - Constraint annotation failed.

Ich habe Ethernet deaktiviert, deswegen dürfte er die erx_clk garnicht 
erst verwenden. Er findet es nicht obwohl es sowohl beim Design, als 
auch beim Board angegeben ist.

grlib-gpl-1.0.22-b4095\designs\leon3-xilinx-sp601
grlib-gpl-1.0.22-b4095\boards\xilinx-sp601-xc6slx16\leon3mp.ucf

Hab auch schon versucht die erx_clk einfach auszukommentieren... nützt 
nichts.

Handelt es sich hierbei um einen Bug? Hat jemand einfach eine Zuweisung 
vergessen?

Gruß pod
Gast #1892806
Lesenswert?
• ▲
▼
Daniel Schembri schrieb:
> Error:XST:2937 - Processing TIMESPEC OFFSET: No signal name erx_clk
> found in design.
>
> Error:XST:1489 - Constraint annotation failed.
>
> Ich habe Ethernet deaktiviert, deswegen dürfte er die erx_clk garnicht
> erst verwenden. Er findet es nicht obwohl es sowohl beim Design, als
> auch beim Board angegeben ist.

Da ist xst schlampig programmiert, eine Warnung hätte gereicht.
Probier mal alle "erx_clk"-Vorkommen im .ucf auszukommentieren.
(Oder wahlweise Ethernet drinzulassen.)

Duke
OP #1893353
Lesenswert?
• ▲
▼
danke für die Antwort.

Ich habs jetzt hinbekommen. Ich habe alles was mit erx_clk und etx_clk 
zu tun hatte rauskommentiert und die Variable lock.
Ich hab auch das komplette Ethernet und den DDR2 SDRAM (Der laut Gaisler 
noch nicht unterstützt wird) rauskommentieren müssen.

Jetzt konnte ich fehlerfrei mit make ise-map und make ise kompilieren.

Hab die bitfile über Impact auf den FPGA geschrieben bekommen =)


Aber jetzt das nächste Problem:

Ich möchte das nun mit GRMON hardwaredebuggen. Er erkennt den FPGA.

Aber ich bekommen immer die Fehlermeldung:

"AMBA Plug and Play not found"

Was hat es mit diesem AMBA (Ein Bus?) auf sich?
#1894212
Lesenswert?
• ▲
▼
Bei mir hat GRLIB mit CYGWIN nie richtig funktioniert. Laut Jiri Gaisler 
kann er die Software nicht den laufenden Softwareupdates von Windows und 
Cygwin anpassen. Ich habe deshalb LINUX installiert und konnte dann 
relativ problemlos damit arbeiten.
Allerdings hatte mein Boarddesign auch einige kleinere Bugs. Die Boards 
sind meist selbst von Usern bereitgestellt und deshalb nicht immer ganz 
fehlerfrei.
Ich kann dir unbedingt empfehlen, dich der Mailingliste bei Yahoo 
anzuschließen.
Gast #1894351
Lesenswert?
• ▲
▼
Daniel Schembri schrieb:
> Ich möchte das nun mit GRMON hardwaredebuggen. Er erkennt den FPGA.
Gut. Welche Schnittstelle verwendest Du für GRMON?


> Aber ich bekommen immer die Fehlermeldung:
> "AMBA Plug and Play not found"
>
> Was hat es mit diesem AMBA (Ein Bus?) auf sich?
Ja. AMBA ist ein Bus-System (AHB, APB, AXI, etc.), welches von ARM 
entworfen wurde. Die grlib macht intensiven Gebrauch davon.

Duke
Gast #1894425
Lesenswert?
• ▲
▼
Ich habe Xilinx USB (USB JTAG) verwendet.

Das Amba Problem hab ich gelöst. Ich hab die bereits vorgegebenen 
Einstellungen im Xconfig genommen. Habs nochmal neu Compiliert.

Jetzt meckert er aber im GRMON wegen eines fehlenden Stack Pointers. Da 
bin ich grad am rumprobieren. Debuggen kann ich. Ich sehe die 
Speicherbereich in Hex.
Aber ich kann z.B. kein HelloWorld Programm ausführen...

Ich glaub das liegt an den Xconfig Einstellungen. Das ist wohl ein 
gewisses feingefühl gefordert.

Bei der Mailingliste hab ich mich jetzt angemeldet.

Danke für die zahlreiche Unterstütztung =)
Gast #1894552
Lesenswert?
• ▲
▼
ok das problem mit dem stackpointer hab ich auch gelöst, lag an ner 
Einstellung.

Jetzt kann ich aber immer noch kein hello world ausführen...

Er bringt immer diese Meldung: IU in error mode (tt = 0x02)
OP #1895790
Lesenswert?
• ▲
▼
Er legt das Programm immer bei 0x40000000 ab

die befehle "run" und go 0x40000000 bringen immer diese fehlermeldung.

Verify c:/helloworld/release/helloworld bringt auch Fehlermeldungen...

Ich hab hier mal ein paar Screenshots gemacht:

Der erste zeigt das Initialisieren und das runterladen des Programms an.
Das zweite die info sys
und das dritte den verify error

Kann es sein das ich überhaupt keinen Speicher habe? oder keinen 
Zugriff?


Ich steh irgendwie auf der Leitung...
Angehängte Dateien:
OP #1897424
Lesenswert?
• ▲
▼
ich habe jetzt die addressen manuell geändert mit dem Compiler.
Aber ich glaube der Platz reicht nicht für eine HelloWorld Anwendung aus

Ich bekomme beim debuggen mit GRMONRCP einen Speicherbereich von 0x00 - 
0xfc angezeigt.

Für das Helloworld braucht er aber mindestens vierstellig.

Bekomme deshalb immernoch denselben fehler. Obwohl der Adressbereich von 
data und text anders ist.
OP #1897973
Lesenswert?
• ▲
▼
hm, hab ich jetzt auch mal probiert. hat sich nichts geändert.

illegal_instruction: UNIMP or other un-implemented instruction.

Hab schon einiges Probiert. Ich glaub nicht das es an der 
Hardwarekonfiguration liegt.

Vielleicht ist es ja ein Fehler von Softwareseite , ein 
Programmierfehler?
Aber der Compiler bringt mir keine Fehlermeldungen...

Naja mal schauen^^

Danke für deine Hilfe. Schönes Wochenende wünsche ich euch =)

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