Hallo,
wie der Titel schon sagt, würde ich gerne Variablen zur Laufzeit im
nvram ablegen, habe jedoch keine Ahnung wie das korrekte Vorgehen dazu
ist.
Ich benutze Tasking mit Dave.
Mein Ansatz bisher war wie folgt:
-------------------------------------------
1 | int Parameter __at(0x Adresse aus dem dflash block) = 500;
|
2 |
|
3 |
|
4 | int main(){
|
5 |
|
6 | dosomething();
|
7 | ...
|
8 | Parameter = 100;
|
9 | ...
|
10 | dosomethingelse();
|
11 |
|
12 | return 0;
|
13 | }
|
Sobald ich meine Variable zur Laufzeit ändern will, gibt mir der Linker
folgenden fehler:
ltc E121: relocation error in "task1": relocation value 0xafe00000, type
abs18 space, offset 0xa, section ".text.MAIN.main" at address 0x800029bc
is not a valid address in R_TRICORE_18ABS. Hint: check the mapfile for a
section that occupies this address.
Ich hab auch ein bisschen im *.lsl file rumgespielt mit reserved usw.
führte allerdings leider zu nichts Nennenswertem.
Ich hab auch die Dokumentation zu Tasking durchforstet und finde leider
nur memory alocation ala __near und __far allerdings nichts dazu, wie
man auf den nvram schreibt.
Ich hoffe jemand kann mir hier weiterhelfen, oder einfach nur sagen,
welche Dokumentation ich dazu lesen muss...
Vielen Dank im Voraus