konstante an einer absoluten Adresse ablegen (PIC32)

(Firma: Nisch-Aufzüge) Persönliche Seite #1692774
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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ß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren