www.mikrocontroller.net

Forum: Compiler & IDEs Linker Skript 2x Flash


Autor: Tilo L. (katagia)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

So langsam sollte jeder mitbekommen, dass ich mich mit ADUC MCUs 
beschäftige. Ich bin gerade dabei, meine Headerfiles etc. so 
umzuschreiben, dass nicht nur aduc702x sondern auch aduc703x oder 
aduc712x unterstützt wird.

Im Moment hänge ich am Linker Skript und konnte im Internet keine 
Antwort auf mein Problem finden.

Der aduc712x hat 2x64kb Flash-Ram. In den letzten 2kb des ersten Flash 
liegt der Bootloader von ADI, der weder gelesen noch beschrieben werden 
kann. Im Addressraum liegt also eine Lücke!

Mein Problem ist, dass ich nicht weiß, wie man den Linker dazu bringen 
kann, beide Flashs zu verwenden, also beide Chips als Programmspeicher 
zu verwenden. Ich habe den Linker-Skript angehängt.

Hat von euch einer eine Idee, wie das geht?
Geht so etwas überhaupt automatisch oder muss ich mir selbst sections 
definieren?

Vielen Dank, Tilo

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst die verschiedene Sektionen, .bss, .data und .text in 
verschiedene FLASH chips spreichern. Wenn du z.B. die folgende Anweisung 
machst:

  .data :
  {
    _data = .;
    *(.data)
    *(.ramrun)
    _edata = .;
  } >ram AT > flash2

kommt die .data Sektion ins FLASH2. Da musst du aber aufpassen was für 
Wert dann _data und _edata haben. Die beide werden dann vielleicht in 
Startup code verwendet um die Initialwerte ins Flash später zu kopieren.

Autor: Tilo L. (katagia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für deinen Hinweis.
Das bedeutet also, ich muss selbst den Code über beide Flash verteilen?
Schade, ich dachte, man könnte den Linker anweisen, den Code optimal zu 
verteilen.

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist vielleicht auch möglich aber ich weiss nicht wie man das macht. 
Hast du dir schonmal den folgende PDF angesehen ?

www.skyfree.org/linux/references/ld.pdf

Das ist die ganze GNU LD Specifications.


Gruß:
Valentin

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.