Mein aktueller Stand ist der Folgende:
Compilieren eines C-Files in ein ELF-File für die microblaze(AEMB)
Architektur
Erzeugung eines HEX-Files aus dem ELF-File,
Der AEMB core hat eine Harvardarchitektur, ich habe an den
Instruction-Bus sozusagen ein Rom gehängt, und an den Datenbus
ein getrenntes Ram.
Laden den Hex-Files ins "ROM" und "RAM". Erste Testprogramme (inkl
Floating Point per Software ) laufen einwandfrei, das ist die gute
Nachricht.
Die Frage ist: Wie macht man es richtig, denn: Der microblaze-gcc
Compiler geht vermutlich nicht davon aus, dass eine Harvardarchitektur
vorliegt, zumindest sehe ich den sections im ELF-File das nicht an.
Andererseits muss ein Teil des erzeugten "Codes" ins Ram geladen
werden, vermutlich mindestens die "rodata" Section, da diese
Daten offensichtlich vom AEMB-Core als Daten gelesen werden.
(Lade ich das Ram nicht, laufen einige Programme nicht).
Kann einer Licht ins Dunkel bringen und hat Ideen zu folgenden Fragen:
Darf man den microblaze(AEMB) core mit getrenntem Code- und
Daten-speicher betreiben ? (Oder darf es nur einen Speicher geben, aber
getrennte Instruction- und Daten caches (ich habe keine Caches))
Kann ich dann die getrennten Speicher überhaupt jeweils vollständig
nutzen ?
Welche sections der ELF-Files sind wohin zu laden ?