Hallo, ich habe mal wieder eine Frage. Ich habe auf meinem DE2-115 Board uClinux laufen, welches als rootfs die SD-Karte verwendet. SD-Karte mit zwei Partitionen, eine für das rootfs und auf der Anderen liegt das zImage. Damit jetzt bei "Power on" das zImage in den SDRAM geladen und gestartet wird brauche ich nun einen Bootloader, nur wie mache ich das? Ich habe mir "u-boot" von git geladen, aber ich weiß nicht was ich da einstellen muss. Die Beiträge aus dem AlteraWiki haben mir nicht wirklich weiter geholfen :/ Das Qsys Design hat ein onchip mem, von dem aus der bootloader gestartet werden soll (als .hex fest eincompeliert). Hat das schon mal jemand gemacht? Ich wäre über eine Anleitung oder Hinweise sehr dankbar. Liebe Grüße Jan
Moin, Hm, scheint ja nicht haeufig vorzukommen, so viel wie hier los ist... Vor fast 10 Jahren hab' ich mal sowas aehnliches mit Cyclone-III gebaut. Da hies das Dingens zum graphischen Zusammendenglen der NIOS Komponenten noch SOPC-Builder. Bei dem gab's eine Peripherie-Komponente, die hiess irgendwas mit EPCS. Das war das serielle Config-Device. Und da drinnen konnte man hinter dem Bitstream zum FPGA-konfigurieren noch ein Binary (z.b. ein U-Boot) ablegen. Der Reset-Vector des NIOS musste dann auf den Adressbereich der EPCS-Komponente zeigen, dann hat irgendwelche Voodoo-Magic in der EPCS-Komponente dafuer gesorgt, dass das u-boot ins SDRAM kopiert wurde (ich glaub' der Code fuer diesen Kopiervorgang war hardcodiert in einem BlockRAM in der EPCS-Komponente). Danach hat's der NIOS beherzt angesprungen und schon ging's u-boot los. Das konnte dann aus weiteren Flashbausteinen ein uImage ins SDRAM laden und anspringen... Wahrscheinlich heisst der ganze Kram mittlerweile voellig anders. Gruss WK
Ganz vielen Dank für Eure Hilfe und Anregungen! :) Ich habe im ersten Schritt mein zImage ins Flash geladen und den Reset-Vektor dabei auf dieses zeigen lassen. Das hat super funktioniert. Anstelle des EPCS habe ich allerdings CFI verwendet. Im nächsen Schritt habe ich es geschafft ein u-boot zu bauen, welches auf der Nios Hardware läuft. Das habe ich dann auch mal aus dem Flsh starten lassen. Das u-boot zu compelieren war gar nicht so einfach, ich kenne mich mit dem u-boot leider nicht so aus :/ Hier habe ich ein Beispiel für mein DE2-115 gefunden, das mir sehr weiter geholfen hat (https://github.com/emount/nios2-u-boot). Jetzt fehlt mir nur noch der Schritt, das mmc/spi im u-boot zum laufen zu bringen und mein zImage in den SDRAM laufen zu lassen. Das mmc/spi läuft noch nicht wirklich, aber hier (http://www.alterawiki.com/wiki/U-Boot_and_Cyclone_II-DE2_boards#SD_card_over_SPI_protocol) gibt es eine Anleitung. Aktuell habe ich jetzt noch zwei Fragen: Kann ich die .sof und das u-boot beide in den Flash-Speicher laden? Ich hab irgendwo etwas von dem Befehl "after" gelesen. Also erst die .sof (natürlich als .flash) und angehängt daran das u-boot? Woher weiß der FPGA, dass seine Konfiguration im Flash und nicht im EPCS liegt? Mit welchen Befehlen kann ich das zImage später von der SD-Karte in den SDRAM kopieren und starten? (Im u-boot) Ein schönes Wochenende wünsche ich :)
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.