Liebe Kollegen! Ich habe ein Terasic Sockit board. Der FPGA Teil läuft und macht was ich möchte. Leider habe ich ein Problem mit dem Processor Teil. Ich finde nirgends eine sinnvolle (!) Anleitung wie ich das Ding in Betrieb nehme. Überall werden Schulungsfiles verwendet oder man braucht x Programme. Ich habe schon öfters mit dem Xilinx Microblaze gearbeitet aber das Altera Ding scheint extra kompliziert zu sein. (gibt es so etwas wie den Base System Builder bei Altera nicht?) Kann mir jemand helfen? DANKE! Sandy
Ich würde empfehlen doch mit Linux anzufangen, alles andere ist viel zu kompliziert. Unter http://www.rocketboards.org/ gibt es viele Anleitungen und vieles funktioniert einfach auf Anhieb -- vorausgesetzt Quartus und andere Programme sind unter Linux installiert ;-) Hier sind meine Notizen (kein Anspruch auf Vollständigkeit, mitdenken hilft) 1. Linux installieren (Ubuntu 12.04 funktioniert auf jeden Fall) 2. Quartus installieren 3. Yocto installieren wget http://releases.rocketboards.org/release/2013.11/gsrd/src/linux-socfpga-gsrd-13.1-src.bsx chmod +x linux-socfpga-gsrd-13.1-src.bsx sudo ./linux-socfpga-gsrd-13.1-src.bsx /opt/altera-linux/bin/install_altera_socfpga_src.sh ~/yocto source ~/yocto/altera-init ~/yocto/build 4. Generate preloader embedded_command_shell.sh bsp-editor File -> New BSP ../soc_system_hps_0 generate cd ~/Dokumente/FPGA/SoCkit_SW_lab_13.1/software/spl_bsp/ make 5. DTB generieren $ ~/altera/13.1/embedded/embedded_command_shell.sh $ cd ~/sockit_ghrd Run the Device Tree Generator sopc2dts --input soc_system.sopcinfo --output socfpga.dts --board soc_system_board_info.xml --board hps_clock_info.xml dtc -I dts -O dtb -o socfpga.dtb socfpga.dts 6. Building U-Boot/Kernel/Rootfs $ bitbake virtual/bootloader $ bitbake virtual/kernel $ bitbake altera-image bitbake altera-gsrd-image bitbake altera-image-minimal 7. Creating SD Card Image ~/altera/13.1/embedded/embedded_command_shell.sh which mkpimage cd ~/yocto/build/tmp/deploy/images cp -f socfpga_cyclone5.dtb socfpga.dtb mkdir rootfs cd rootfs sudo tar xzf ../altera-image-socfpga_cyclone5.tar.gz cd .. sudo /opt/altera-linux/bin/make_sdimage.sh -k zImage,socfpga.dtb -rp u-boot-spl.bin -t ~/altera/13.1/embedded/host_tools/altera/mkpimage/mkpimage -b u-boot-socfpga_cyclone5.img -r rootfs -o sd_image_yocto.bin write SD image to SD card $ cd ~/yocto/build/tmp/deploy/images $ sudo dd if=sd_image_yocto.bin of=/dev/sdb bs=1M $ sudo sync Grüße Kest
Sandy schrieb: > Nein, ich brauche kein Linux. Das ist für meine Anwendung Overkill. Na dann, auf zur Altera Website ins Forum und suchen wie man so was kompliziertes wie einen SoC bare-metal ans laufen kriegt... Ich kaempfe mit sowas gerade bei Xilinx rum, aber zumindest gibt es dort ein paar application-notes... Viel Glueck! und danach viel Spass...
Lieber Berndl! Bei Xilinx kann ich Dir vielleicht helfen. Ich habe schon öfter einen Microblaze gebaut und auch programmiert. Wo hängst Du gerade? LG Sandy
nee, nicht Microblaze. Ich versuche gerade, mich mit den Zync auseinander zu setzen...
@Sandy, Kest alle nehmen immer dieses Yocto. Was bietet es für einen Vorteil? Ich habe auch schon ein Projekt mit dem Cyclone V gemacht. Es funktioniert einwandfrei mit dem Mainline Kernel und Buildroot, sich ein komplettes System zusammenzubauen. Yocto ist paar GB gross, das selbstgemachte System einige 10M. Bringt zwar keinen Compiler mit, aber den braucht man ja auch nicht - wozu soll ich auf einer Embedded Plattform was compilieren können? Dann verwenden auch alle diese unsägliche Altera IDE um Programme zu schreiben. Leuchtet mir auch nicht ein: den normalen ARM GCC kann man auch verwenden, der untertsützt die Codegenerierung für A9, debuggen geht auch. ICh habe eher den Eindruck dass jeder Hersteller da wieder seine eigene Suppe kochen will. Warum so, wenns auch mit Standardmitteln geht?
Hallo Tobias, >Dann verwenden auch alle diese unsägliche Altera IDE um Programme zu >schreiben. Leuchtet mir auch nicht ein: den normalen ARM GCC kann man >auch verwenden, der untertsützt die Codegenerierung für A9, debuggen >geht auch. Geht das Debuggen auch mit JTAG, oder nur mit dem JTAG-Server unter Linux? Es sieht so aus als wenn man hier den DS-5 von Altera/ARM benutzen muss. Oder hast Du schon mal was gesehen mit dem normalen ARM GCC und einen GDB-Server für den USB-Blaster? Viele Grüße, Michael
Mit Yocto ist es eben einfacher ein Linux-System aufzubauen. Ein Paar Recepies erstellen, vorhandene anpassen und fertig. Man kann natürlich alles per hand machen, aber ich bin der Meinung, dass man das Rad nicht neu erfinden sollte. Was meinst Du mit Compiler? Du meinst dann in Deiner Distribution, die Du mit Yocto erstellst? Das kann man alles anpassen. Altera IDE (Eclipse-Unterbau) muss man nicht verwenden, es funktioniert aber eben einfach so, ohne, dass man sich lange damit auseinandersetzen muss. Inwiefern man GCC + GDB + USB-Blaster statt DS-5 verwenden kann, entzieht sich meiner Kenntnis, aber ich denke, ohne Lizenz wird es extrem schwierig und kompliziert. Sicher, Linux-Programme kann man einfach so mit GDB debuggen, aber sobald man Bare Metal machen möchte, braucht man zwingend DS5 (oder irre ich mich da?) Grüße Kest
Hallo Kest, ich glaube man muss noch mal unterschieden ob Bare-Metal mit Evalboard/USB-Blaster, oder mit eigenem Design. Beim einem eigenem Design kann man für den ARM ja die normale 20pol JTAG Schnittstelle verwenden. Und nun sollte es z.B. mit dem J-Link GDB Server und dem J-Link laufen. Der Cyclone V wird bei Segger in der Liste der unterstützen CPUs mit aufgeführt. Gruß, Michael
Hallo, Ich bekomme auch bald ein Terasic de1 soc Board und wollte mal fragen, wie es mit Linux Yockto funktioniert. Kann ich ganz normal die in C geschriebene Programme drauf laufen lassen? Brauche ich unbedingt ein linux PC um mit dem dev board arbeitenden zu können?
Yocto hat mit C-Programmierung nichts zu tun, es ist nur eine "Sammlung an Scripten", die es einem einfacher machen, Linux-System aufzusetzen (sehr sehr vereinfacht ausgedrückt). Danach kann man einfach mit GCC kompilieren (windows oder Linux ist egal), auf die SD-Karte kopieren und ausführen. Ich würde auf jeden Fall ein Linux-System empfehlen (anders läuft Yocto nicht), es ist alles sehr simpel aufgebaut. Grüße Kest
Hallo Sandy, schau Dir mal folgendes PDF an: http://www.altera.com/literature/rn/cv_hps_rn.pdf What's new in Cyclone V SoC EDS for v13.1: - Bare-metal application development and debugging Bei Micrium gibt es auch einen Port für den CycloneV: http://micrium.com/downloadcenter/download-results/?searchterm=hm-altera&supported=true Vielleicht gibt es hier die nötigen Infos für Bare-Metal? Gruß, Michael
Sandy schrieb: > Nein, ich brauche kein Linux. Das ist für meine Anwendung Overkill. "Ich muss dringend nach München!" "Dann nimm den Zug, und fahr hin." "Nein, ich brauche keinen ganzen Zug. Das wäre für meine Reise Overkill. Deswegen möchte ich mir erstmal selber ein Auto bauen." Ja, wenn das so ist... :>
Michael schrieb: > Hallo Sandy, > > schau Dir mal folgendes PDF an: > http://www.altera.com/literature/rn/cv_hps_rn.pdf > > What's new in Cyclone V SoC EDS for v13.1: > - Bare-metal application development and debugging > > Bei Micrium gibt es auch einen Port für den CycloneV: > http://micrium.com/downloadcenter/download-results/?searchterm=hm-altera&supported=true > > Vielleicht gibt es hier die nötigen Infos für Bare-Metal? > > Gruß, > Michael Laut EDS User Guide (ug_soc_eds.pdf) kann die freie Version nur Linux-Anwendungen über Ethernet debuggen. Debugging über JTAG ist scheinbar der Bezahlversion vorbehalten.
Hallo Mike, >Laut EDS User Guide (ug_soc_eds.pdf) kann die freie Version nur >Linux-Anwendungen über Ethernet debuggen. Debugging über JTAG ist >scheinbar der Bezahlversion vorbehalten. Debuggen mit JTAG bei EDS ist der Bezahlversion vorbehalten. Nach dem Schaltplan des SoCKit kommt man an den JTAG über J1. Hier könnte man dann mit z.B. einem J-Link mal versuchen ob es mit dem Debuggen geht. Gruß, Michael
Lieber Dieter! >"Ich muss dringend nach München!" >"Dann nimm den Zug, und fahr hin." >"Nein, ich brauche keinen ganzen Zug. Das wäre für meine Reise Overkill. >Deswegen möchte ich mir erstmal selber ein Auto bauen." > >Ja, wenn das so ist... :> Der vergleich hinkt. Um Daten zu senden brauche ich kein Betriebssystem. Wenn Du x^y rechnen willst nimmst Du ja auch einen Taschenrechner und keinen Computer. LG
Michael schrieb: > Hallo Mike, > >>Laut EDS User Guide (ug_soc_eds.pdf) kann die freie Version nur >>Linux-Anwendungen über Ethernet debuggen. Debugging über JTAG ist >>scheinbar der Bezahlversion vorbehalten. > Debuggen mit JTAG bei EDS ist der Bezahlversion vorbehalten. > > Nach dem Schaltplan des SoCKit kommt man an den JTAG über J1. > Hier könnte man dann mit z.B. einem J-Link mal versuchen > ob es mit dem Debuggen geht. > > Gruß, > Michael Nun ja, es würde mich wundern wenn EDS mit dem J-Link plötzlich Debugging über JTAG unterstützt. D.h. man braucht wahrscheinlich noch eine andere Toolchain und hat damit noch eine weitere große Baustelle... Für den Einstieg sollte man sich vielleicht doch erst einmal auf eine Linux-Anwendung beschränken. Oder man verzichtet auf JTAG-Debugging und arbeitet z.B. ganz altmodisch über die serielle Schnittstelle. Der notwendige Compiler scheint ja auch in der freien EDS Version mit dabei zu sein. Fortgeschrittene können ja dann einmal probieren ob OpenOCD mit dem Board zurechtkommt. USB Blaster (II) und den Cortex A9 scheint das ja zu kennen.
Ich würde aus Erfahrung auch lieber erst mit dem fertigen System auf Rocketboard einsteigen. Auch wenn es deiner Meinung nach total überdimensioniert ist... Du wirst dir damit leichter tun.
Der Jtag Connector hat zwar ein 2,54 RM Pinout, aber der normale 2x5 Pfostenstecker mit Wanne ist zu breit. Gibt es die passenden 2x5 Stecker und Buchsen irgendwo zu kaufen ?
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.