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
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
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?
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.
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
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 =)
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)
Daniel schrieb: > Jetzt kann ich aber immer noch kein hello world ausführen... > > Er bringt immer diese Meldung: IU in error mode (tt = 0x02) Ist Dein Programm richtig im Speicher abgelegt? (verify?) tt = 0x02 heißt doch illegal instruction, oder?! Duke
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...
Daniel Schembri schrieb: > Kann es sein das ich überhaupt keinen Speicher habe? Doch Du hast welchen, den "AHB static RAM". Aber der liegt bei 0xA000.. Bei 0x4000.... liegt laut Deiner memory map nichts. (Üblicherweise packt man dort den DDR-Ram hin.) Duke
Duke Scarring schrieb: > Doch Du hast welchen, den "AHB static RAM". Aber der liegt bei 0xA000.. > Bei 0x4000.... liegt laut Deiner memory map nichts. (Üblicherweise packt > man dort den DDR-Ram hin.) Und wie lad ich mein Programm in den "AHB static RAM"? Ich find den Befehl nicht. Das wäre ja die Addresse 0xA000. Wie komm ich dahin?
Schau mal ins Linkerskript. Da müssten die Adressen angegeben sein. Duke
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.
Du könntest auch den AHB static RAM an die Adresse 0x4000.... legen. Laut Deinem debug-Log sollte der RAM 4kB groß sein. Duke
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 =)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.