konstante an einer absoluten Adresse ablegen (PIC32)

(Firma: Nisch-Aufzüge) Persönliche Seite #1692774
o.k. vielleicht hilft dir das hier weiter

http://www.sprut.de/electronic/pic/grund/eeprom.htm

obwohl es sich noch auf die 16er bezieht dürfte die stategie noch die 
Gleiche sein nur mit längere Adresse halt im besonderen solltest du das 
Datascheet des prozessors konsultieren.


In Assembler ist ein dirkter Speicherzugriff normal nicht so in 
Hochsprachen

Basic böte noch Peek und Poke

In C ist das Schon Komplizierter hier sorgt sich normaler weise der 
Compiler um soetwas. Die Hintertür ist die Verwendung von Zeigern in 
welche man direkt die Adresse schreibt. aber vorsicht der Compiler weiß 
davon nichts und das kann zum Programmbsturz führen.
ansonsten bliebe Inline-Assembler
#1692787
Der Linker kann's auch, jedenfalls der GNU-Linker vom C32. Muss man nur 
im Linker-Script rumfroschen, dann kann man dafür sorgen, dass die Daten 
exakt an der richtigen Stelle liegen und der Linker nicht Sonstwas dort 
plaziert. Ist halt eine eigene "Programmiersprache", dieses Zeug vom 
Linker-Script.
Gast #1692801
Genau, der Linker ist es, kriege aber irgendwie die .rodata nicht auf 
meiner section verschoben.

Solle eigentlich nur die Firmware-Version (const) für meinen Bootloader 
sein, wird aber zusammen mit der App .rodata platziert.

Gruß
#1692810
Wird vermutlich einfacher, wenn du diese Variable in einer separaten 
Section plazierst. Siehe "__attribute__" im GCC Manual. Musst dann im 
Linker-Script nur diese spezielle Section an die richtige Stelle legen, 
nicht .rodata.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.