Hallo, ich habe folgendes Problem. Ich möchte direkt in das Flash-Programm des AVR ein bit-Datei für einen FPGA einbinden und diese bit-Datei dann direkt beim Starten in den FPAG laden. Der eigentliche FPGA-Ladevorgang funktioniert soweit, bedeutet ich kann von SD-Karte lesen und entsprechend das FPAG befüllen. Ich scheitere nun am Einbinden direkt in das AVR-Flash-File. https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Dateien_direkt_im_Flash_einbinden und die zusätzlichen Links habe ich gesehen und gelesen. Aus der Bit-Datei ein o-File zu generieren funktioniert. Meine Fragen zielen in die Richtung, wie ich dem AVR-Studio mitteile, dass es dieses zusätzliche object-File gibt und es entsprechend eingebunden werden muss. Oder muss ich komplett auf eigene Makefiles umsteigen und kann AVR-Studio nicht nutzen. Ich benutze AVR-Studio Version 7 Grüße Karsten
Hallo Lothar, ok, doch was vergessen zu schreiben. Ich habe einen AVR und einen "kleinen" FPGA. Der AVR sorgt für das Runterspielen des bit-Files. Aktuell holt er das bit-file von der SD-Karte. Ich möchte die Kombi (AVR-FPGA) aber auch ohne SD-Karte betreiben können und ein default bit-file aus dem Flash des AVR holen. Platz ist im AVR noch. Grüße Karsten
:
Bearbeitet durch User
Schau mal nach "passive serial mode" in den programming options. Der FPGA muss dazu entsprechend verdrahtet worden sein, damit er an seinen Config-Eingängen einen Datenstrom passiv empfangen kann. Im Gegensatz zum "acitve serial mode" wo er sich das selber holen kann.
Ich denke der TO will einfach nur das config File des FPGAs im Flash als Daten ablegen. Ich denke es ist eine generelle Frage: Wie kann ich Binärdaten in den Flash eines AVRs ablegen und anschließend vom Programm aus zugreifen? Seppl
Karsten S. schrieb: > Platz ist im AVR noch. Reicht der aus? Bitfiles sind jetzt ja nicht für ihre "Winzigkeit" bekannt... Seppl schrieb: > Wie kann ich Binärdaten in den Flash eines AVRs ablegen und anschließend > vom Programm aus zugreifen? Dafür gibt es Userguides für die jeweilige FPGA-Familie. Z.B. den hier https://www.xilinx.com/support/documentation/user_guides/ug380.pdf Und dort suchst du mal nach "microcontroller"... Ich verwende die XAPP058 und den SVF-Player, der dort zu finden ist, und "spiele" damit die JTAG-Programmierdatei ab. Das ist natürlich wegen des Textformats der SVF-Datei extrem uninteressant. Aber du könntest den Player ja auf dem PC laufen lassen und dann nur die Binärdaten ablegen.
Lothar M. schrieb: >> Platz ist im AVR noch. > Reicht der aus? Bitfiles sind jetzt ja nicht für ihre "Winzigkeit" > bekannt... Ich nutze einen AVR 1284 mit 128 KByte und einen XC3S50A (ca. 54 KByte bit File), das geht sich also aus, wenn das eigentliche Programm nicht zu groß wird. Seppl schrieb: > Wie kann ich Binärdaten in den Flash eines AVRs ablegen und anschließend > vom Programm aus zugreifen? Genau, und vor allem wie funktioniert es unter Nutzung von AVR-Studio 7 möglichst einfach? Ich habe keine Möglichkeit gefunden einfach zusätzliche o-Files anzugeben. Grüße Karsten
Kannst du dir nicht einfach aus deinem Bitfile ein Assemblermodul mit entsprechendem Datenbereich erzeugen? Dies liese sich doch einfach in dein Projekt einbinden.
Karsten S. schrieb: > Genau, und vor allem wie funktioniert es unter Nutzung von AVR-Studio 7 > möglichst einfach? Ich habe keine Möglichkeit gefunden einfach > zusätzliche o-Files anzugeben. Wenn dafür nichts speziell vorgesehen ist (habe gerade kein Studio zur Hand um nachzuschauen), dann halt einfach bei den Linker-Einstellungen unter Miscellaneous als "Option" eintragen. Die zusätzliche Objekt-Datei muss ja nur in der Linker-Kommandozeile mit auftauchen.
Bei Xilinx gibt es irgendwo ein PERL-Skript, das aus einer .bit ein .c macht. Es wird also 'nur' ein grosses Array in C erzeugt. Damit kannst du einfach darauf zugreifen, einen Player fuer die SD-Karte hast du ja. Fuer Details muesste ich mal "auf Arbeit" nachschauen, ist schon ein paar Jahre her... Das FPGA-Image koenntest du auch noch komprimieren (in ISE), das bringt meist auch noch ein paar KB Reduzierung. Die von Lothar genannte XAPP ist ein guter Einstieg dafuer.
berndl schrieb: > Bei Xilinx gibt es irgendwo ein PERL-Skript, das aus einer .bit ein .c > macht. gefunden, das Skript heisst 'bitformat.pl', schau mal nach der XAPP502. Damit bin ich damals unterwegs gewesen.
Moin, der einfachste Weg ist IMHO einfach direkt das BIT-File per Serial-Slave (SPI) aufs FPGA zu spielen. Das Bitfile in ein kompilierbares byte-array umzuwandeln ist dann nur noch eine Fingerübung. Oder man nudelt was mit objcopy..
dg1vs schrieb: > Meine Fragen zielen in > die Richtung, wie ich dem AVR-Studio mitteile, dass es dieses > zusätzliche object-File gibt und es entsprechend eingebunden werden > muss. Wenn Du beim AVR-Studio bleiben willst, würde ich das Bitfile in .h oder .c-Quelltext umwandlen. Vielleicht kannst Du Dir auch hier nochwas abgucken: https://www.mikrocontroller.net/articles/FPGA_Konfiguration_mit_AVR_Butterfly Duke
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.