mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AP7000, NGW100, P2 Segment


Autor: mgiaco (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich schreibe auf einen AVR32 einen kleinen Kernel. Jetzt bin ich an 
einen Punkt angelangt an dem ich die MMU initialisieren möchte.

Im Manual zu MMU steht folgendes:

Both the P1 and P2 segments are default segment translated to the 
physical address range 0x00000000 to 0x1FFFFFFF. The mapping between 
virtual addresses and physical addresses is therefore implemented by 
clearing of MSBs in the virtual address. The difference between P1 and 
P2 is that P1 is cached, while P2 is uncached. Because P1 and P2 are 
segment translated and not page translated, code for initialization of 
MMUs and exception vectors are located in these segments. P1, being 
cacheable, offers higher performance than P2.

Because P1 and P2 are segment translated and not page translated, code 
for initialization of MMUs and exception vectors are located in these 
segments.

==> Also möchte ich den ganzen Kernel in dieses Segment verschieben. Wie 
kann ich das machen ?

In Anhang ist mein Linker-Skript. Ich habe das Orginal von Atmel 
verwendet und ich versuche dieses anzupassen.

Das SDRAM muss ich auch verschieben, weil ich möchte ein malloc machen 
ohne das ich eine Page anlegen muss. Ich habe es auf 0xB0000000 gelegt. 
Segmentation ist by default aktiviert. Das SDRAM -> mit malloc 
funktioniert bereits über 0xB.... Adressen die ja auf 0x1... Adressen 
gemappt werden. Das geht ju hu!

Aber -> Wenn ich den Kernel Code linke, dann möchte ich das dieser auf 
0x0... Adressen gelinkt ist aber über 0xA... Adressen angesprochen wird 
also über P2 Segment.

Deshalb habe ich versucht im Linker skript die VMA und LMA anzupassen. 
Leider ohne erfolg. Das Programm läuft zwar, aber malloc funktioniert 
nicht mehr.

Jemand eine Idee wie das geht ?

Danke mgiaco

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
niemand eine Idee?

Geht das überhaupt mit VMA und LMA ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.