Hallo zusammen, vorab, bin absoluter Newbie in dem Thema. Habe mir gerade mit XPS ein System zusammengebaut, indem zwei Microblaze miteinander kommunizieren können sollen. Habe vor, die beiden über FSL zu verbinden. Habe im BSB Wizard für einen MB den BRAM (32K) als Boot Memory ausgewählt. Nun will ich nen Bootloader schreiben, häng aber noch ziemlich in der Luft. Stundenlanges googeln, hat mich nicht arg viel weiter gebracht. Kennt einer dazu ein gutes HowTo, oder kann mir nen Tip geben wie da rangehe (SDK?) und wie ich es testen kann, ohne ein Evaluationsboard. I/O Geräte hängen alle am anderen MB. Falls mein Eintrag schon irgendwo existiert bitte um url. PS: Gedacht für ein Xilinx-Evaluationsboard Gruss weko
Warum willst Du selbst schreiben, wass es als U-Boot wahrscheinlich schon gibt?
Um einen Bootloader zu benutzen benötigst du einen nicht flüchtigen Speicher.Wenn du mit dem BSB ein Projekt erstellst bindest du einen Speicher deiner Wahl ein (meistens gibt es ein parallel Flash und ein seriellen Flash auf den Xilinxboards.Dein Bootloader lässt du aus dem Blockram starten und compilierst das ganze.Raus kommt ein MCS File. Dein MCS File wandelst du mit Hilfe der Impact Software in ein bin File (PROM File Formatter).Dabei musst du aufpassen ob du ein Parallelflash benutzt,falls ja dann musst du beim Beschreiben des Flashs darauf achten das du das Häckchen für Parallmode setzt. Um dein C-Code mit dem Bootloader zu laden musst du nun dein musst du das erzeugte elf File in ein srec File umwandeln dazu gehst du in der EDK Umgebung unter Device Configuration und wählst Program Flash Memory dort kannst du dein elf File auswählen.Danach wählst du den Flashspeicher aus wo dein C Code in Form des srec Files hingeschrieben werden soll und erzeugst einen Bootloader.Zum Abschluss wird das srec File automatisch in den Flash geschrieben. Fertig ist das Ganze MFG Denis
Hallo zusammen, zunächst mal Danke für die Antworten. Hab mir das UBoot Projekt mal angeschaut, aber steige da noch nicht so richtig durch. Jedoch denke ich, dass mein sogenannter Bootloader viel einfacher zu realisieren sein muss. Das Problem ist, dass ich in dem kompletten Themengebiet ein Newbie bin. Also was ich mir zu dem Bootloader gedacht habe: Ich will den Microblaze programmieren, dass er sich entsprechend meiner Programmierung verhält. Sozusagen mit Firmware füttern. Als Werkzeuge habe ich das XPS. Wie oben erwähnt habe ich den BlockRam als BootMemory im BSB angegeben. Der Bootloader soll beim starten des Microblaze, dem Microblaze sagen, wo er hinspringen soll (bzw. wo er das entsprechenede Programm findet zum abarbeiten findet). Hierbei geht es in erster Linie nicht um das Booten, sondern darum, dass ich das Verhalten meiner MB-Programmierung testen kann. Oder weiß der MB, durch die Angabe im BSB schon, wo er starten muss? Also wenn ich ein C-Projekt (elf-datei) in den BlockRam initialisieren lasse, dann arbeitet er das ab? Gruss weko
Hallo Weko, ok also wenn du nur deinen C Code überprüfen willst dann ist es am einfachsten ihn im BlockMemory zu initialisieren. Damit weiß der MB automatisch was er abarbeiten muss. Hierzu ist es hilfreich wenn du mit der XMD Console arbeitest dadurch musst du nicht ständig alles neu runterladen. Diese findest du unter Debug unter Launch XMD damit verbindest du das JTAG Interface mit dem MB. Wenn du nun deinen C Code als Elf File compilierst kannst du einfach den MB mit dem Befehl stop anhalten. mit dem Befehl dow executable.elf(aber vorsicht du musst vorher noch in das Verzeichniss gehen wo dein executable.elf liegt)kannst du es in den BlockMemory laden und mit dem befehl run das File einmal ausführen oder mit dem Befehl con in einer Schleife ausführen. Den Bootloader benötigst du erst wenn du ein Programm aus dem Flash laden möchtest. zum erstellen von Software ist es besser mit der Console zu arbeiten erst wenn diese fertig ist lässt du dir automatisch einen Bootloader erzeugen der dann das fertige Programm aus dem Flash holt falls dieses zu groß für den Block Memory sein sollte.
Hallo, Danke Denis, du hast mir schon sehr weitergeholfen. So langsam beginne ich die Sache besser zu verstehen. Was natürlich weitere Fragen aufwirft. Würde es dir was ausmachen, wenn du mir per EMail noch die eine oder andere Frage beantworten würdest? Zum Beipsiel würde ich gerne wissen, wie mächtig die Debug-Module sind. Würde gern eines als Master am PLB betreiben, um Informationen, die es durch die Debug Schnittstelle am Microblaze erhalten soll anhand einer seriellen Schnittstelle (UART) auslesen kann. Gruss weko
Hallo weko, wenn ich dir weiterhelfen kann sollte es kein problem sein. Dazu bräuchte ich nur mal deine Emailadresse. Meine kann ich hier leider nicht posten(hab nur ne offizielle Firmenadresse),aber ich würde mich dann bei dir melden. Gruß Denis
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.